@tricoteuses/assemblee 1.5.5 → 1.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/loaders.js CHANGED
@@ -971,7 +971,7 @@ function iterLoadAssembleeComptesRendus(dataDir, legislature) {
971
971
  }
972
972
  return _context9.abrupt("continue", 38);
973
973
  case 10:
974
- datasetDir = _path["default"].join(dataDir, dataset.filename.replace(/\.json$/, "_nettoye"));
974
+ datasetDir = _path["default"].join(dataDir, dataset.filename.replace(/\.xml$/, "_nettoye"));
975
975
  _iterator18 = _createForOfIteratorHelper((0, _file_systems.walkDir)(datasetDir));
976
976
  _context9.prev = 12;
977
977
  _iterator18.s();
@@ -2124,4 +2124,4 @@ function pathFromUid(dataDir, uid, dataRegexp) {
2124
2124
  _fsExtra["default"].ensureDirSync(numeroMilliersDir);
2125
2125
  return _path["default"].join(numeroMilliersDir, uid);
2126
2126
  }
2127
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZnNFeHRyYSIsIl9wYXRoIiwiX2RhdGFzZXRzIiwiX2ZpbGVfc3lzdGVtcyIsIl9hY3RldXJzX2V0X29yZ2FuZXMiLCJfYWdlbmRhcyIsIl9hbWVuZGVtZW50cyIsIl9kb3NzaWVyc19sZWdpc2xhdGlmcyIsIl9sZWdpc2xhdHVyZXMiLCJfc2NydXRpbnMiLCJfcXVlc3Rpb25zIiwiX2RlYmF0cyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiYXJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIml0ZXIiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsImFsbG93QXJyYXlMaWtlIiwiaXQiLCJGIiwiX2UiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwic3RlcCIsIl9lMiIsIm1pbkxlbiIsInRvU3RyaW5nIiwidGVzdCIsImxlbiIsImFycjIiLCJfd3JhcFJlZ0V4cCIsIkJhYmVsUmVnRXhwIiwiUmVnRXhwIiwiV2Vha01hcCIsInNldCIsImdldCIsIl9zZXRQcm90b3R5cGVPZiIsImJ1aWxkR3JvdXBzIiwicmVkdWNlIiwiX2luaGVyaXRzIiwiZXhlYyIsImdyb3VwcyIsImluZGljZXMiLCJyZXBsYWNlIiwiam9pbiIsImFyZ3VtZW50cyIsImFwcGx5Iiwic3ViQ2xhc3MiLCJzdXBlckNsYXNzIiwiYmluZCIsImRvY3VtZW50VWlkUmVnZXgiLCJkb2N1bWVudFR5cGUiLCJjaGFtYnJlIiwicmVwdWJsaXF1ZSIsImxlZ2lzbGF0dXJlIiwiZXRhdCIsIm51bWVybyIsImRvY3VtZW50VHlwZTIiLCJjaGFtYnJlMiIsInJlcHVibGlxdWUyIiwibGVnaXNsYXR1cmUyIiwibnVtZXJvMiIsImRvc3NpZXJVaWRSZWdleCIsInJldW5pb25VaWRSZWdleCIsInNjcnV0aW5VaWRSZWdleCIsIml0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyIsImRhdGFEaXIiLCJfcmVmIiwidW5kZWZpbmVkIiwiX3JlZiRsb2ciLCJsb2ciLCJfY2FsbGVlIiwiYWN0ZXVyc1VpZCIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZGF0YXNldCIsImRhdGFzZXREaXIiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiYWN0ZXVyU3BsaXRQYXRoIiwiYWN0ZXVyRmlsZW5hbWUiLCJhY3RldXJGaWxlUGF0aCIsImFjdGV1ckpzb24iLCJhY3RldXIiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiU2V0IiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiaWdub3JlRm9yV2ViIiwiTGVnaXNsYXR1cmUiLCJBbGwiLCJwYXRoIiwiZmlsZW5hbWUiLCJ3YWxrRGlyIiwiZW5kc1dpdGgiLCJjb25jYXQiLCJjb25zb2xlIiwiZnMiLCJyZWFkRmlsZVN5bmMiLCJlbmNvZGluZyIsIkFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0IiwidG9BY3RldXIiLCJoYXMiLCJ1aWQiLCJhZGQiLCJkYXRhc2V0TGVnaXNsYXR1cmUiLCJ0MCIsInQxIiwiaXRlckxvYWRBc3NlbWJsZWVBbWVuZGVtZW50cyIsIl9yZWYyIiwiX3JlZjIkbG9nIiwiX2NhbGxlZTIiLCJhbWVuZGVtZW50c1VpZCIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiYW1lbmRlbWVudFNwbGl0UGF0aCIsImFtZW5kZW1lbnRGaWxlbmFtZSIsImFtZW5kZW1lbnRGaWxlUGF0aCIsImFtZW5kZW1lbnRKc29uIiwiYW1lbmRlbWVudCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImFtZW5kZW1lbnRzIiwiQW1lbmRlbWVudHNDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwiaXRlckxvYWRBc3NlbWJsZWVEb2N1bWVudHMiLCJfcmVmMyIsIl9yZWYzJGxvZyIsIl9jYWxsZWUzIiwiZG9jdW1lbnRzVWlkIiwiX2l0ZXJhdG9yNSIsIl9zdGVwNSIsIl9pdGVyYXRvcjYiLCJfc3RlcDYiLCJkb2N1bWVudFNwbGl0UGF0aCIsImRvY3VtZW50RmlsZW5hbWUiLCJkb2N1bWVudEZpbGVQYXRoIiwiZG9jdW1lbnRKc29uIiwiZG9jdW1lbnQiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwiRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQiLCJ0b0RvY3VtZW50IiwiaXRlckxvYWRBc3NlbWJsZWVEb3NzaWVyc1BhcmxlbWVudGFpcmVzIiwiX3JlZjQiLCJfcmVmNCRsb2ciLCJfY2FsbGVlNCIsImRvc3NpZXJzUGFybGVtZW50YWlyZXNVaWQiLCJfaXRlcmF0b3I3IiwiX3N0ZXA3IiwiX2l0ZXJhdG9yOCIsIl9zdGVwOCIsImRvc3NpZXJQYXJsZW1lbnRhaXJlU3BsaXRQYXRoIiwiZG9zc2llclBhcmxlbWVudGFpcmVGaWxlbmFtZSIsImRvc3NpZXJQYXJsZW1lbnRhaXJlRmlsZVBhdGgiLCJkb3NzaWVyUGFybGVtZW50YWlyZUpzb24iLCJkb3NzaWVyUGFybGVtZW50YWlyZSIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsInRvRG9zc2llclBhcmxlbWVudGFpcmUiLCJpdGVyTG9hZEFzc2VtYmxlZU9yZ2FuZXMiLCJfcmVmNSIsIl9yZWY1JGxvZyIsIl9jYWxsZWU1Iiwib3JnYW5lc1VpZCIsIl9pdGVyYXRvcjkiLCJfc3RlcDkiLCJfaXRlcmF0b3IxMCIsIl9zdGVwMTAiLCJvcmdhbmVTcGxpdFBhdGgiLCJvcmdhbmVGaWxlbmFtZSIsIm9yZ2FuZUZpbGVQYXRoIiwib3JnYW5lSnNvbiIsIm9yZ2FuZSIsIl9jYWxsZWU1JCIsIl9jb250ZXh0NSIsInRvT3JnYW5lIiwiaXRlckxvYWRBc3NlbWJsZWVSZXVuaW9ucyIsIl9yZWY2IiwiX3JlZjYkbG9nIiwiX2NhbGxlZTYiLCJyZXVuaW9uc1VpZCIsIl9pdGVyYXRvcjExIiwiX3N0ZXAxMSIsIl9pdGVyYXRvcjEyIiwiX3N0ZXAxMiIsInJldW5pb25TcGxpdFBhdGgiLCJyZXVuaW9uRmlsZW5hbWUiLCJyZXVuaW9uRmlsZVBhdGgiLCJyZXVuaW9uSnNvbiIsInJldW5pb24iLCJfY2FsbGVlNiQiLCJfY29udGV4dDYiLCJhZ2VuZGFzIiwiQWdlbmRhc0NvbnZlcnQiLCJ0b1JldW5pb24iLCJpdGVyTG9hZEFzc2VtYmxlZVNjcnV0aW5zIiwiX3JlZjciLCJfcmVmNyRsb2ciLCJfY2FsbGVlNyIsInNjcnV0aW5zVWlkIiwiX2l0ZXJhdG9yMTMiLCJfc3RlcDEzIiwiX2l0ZXJhdG9yMTQiLCJfc3RlcDE0Iiwic2NydXRpblNwbGl0UGF0aCIsInNjcnV0aW5GaWxlbmFtZSIsInNjcnV0aW5GaWxlUGF0aCIsInNjcnV0aW5Kc29uIiwic2NydXRpbiIsIl9jYWxsZWU3JCIsIl9jb250ZXh0NyIsInNjcnV0aW5zIiwiU2NydXRpbnNDb252ZXJ0IiwidG9TY3J1dGluIiwiaXRlckxvYWRBc3NlbWJsZWVRdWVzdGlvbnMiLCJfcmVmOCIsIl9yZWY4JGxvZyIsIl9jYWxsZWU4IiwicXVlc3Rpb25zVWlkIiwiX2l0ZXJhdG9yMTUiLCJfc3RlcDE1IiwiX2l0ZXJhdG9yMTYiLCJfc3RlcDE2IiwicXVlc3Rpb25TcGxpdFBhdGgiLCJxdWVzdGlvbkZpbGVuYW1lIiwicXVlc3Rpb25GaWxlUGF0aCIsInF1ZXN0aW9uSnNvbiIsInF1ZXN0aW9uIiwiX2NhbGxlZTgkIiwiX2NvbnRleHQ4IiwicXVlc3Rpb25zIiwiUXVlc3Rpb25zQ29udmVydCIsInRvUXVlc3Rpb24iLCJpdGVyTG9hZEFzc2VtYmxlZUNvbXB0ZXNSZW5kdXMiLCJfcmVmOSIsIl9yZWY5JGxvZyIsIl9jYWxsZWU5IiwiY29tcHRlc1JlbmR1c1VpZCIsIl9pdGVyYXRvcjE3IiwiX3N0ZXAxNyIsIl9pdGVyYXRvcjE4IiwiX3N0ZXAxOCIsImNvbXB0ZVJlbmR1U3BsaXRQYXRoIiwiY29tcHRlUmVuZHVGaWxlbmFtZSIsImNvbXB0ZVJlbmR1RmlsZVBhdGgiLCJjb21wdGVSZW5kdUpzb24iLCJjb21wdGVSZW5kdSIsIl9jYWxsZWU5JCIsIl9jb250ZXh0OSIsImNvbXB0ZXNSZW5kdXNTZWFuY2VzIiwiQ29tcHRlc1JlbmR1c0NvbnZlcnQiLCJ0b0NvbXB0ZVJlbmR1IiwibG9hZEFzc2VtYmxlZURhdGEiLCJlbmFibGVkRGF0YXNldHMiLCJfcmVmMTAiLCJfcmVmMTAkbG9nIiwiYWN0ZXVyQnlVaWQiLCJvcmdhbmVCeVVpZCIsIkVuYWJsZWREYXRhc2V0cyIsIkFjdGV1cnNFdE9yZ2FuZXMiLCJfaXRlcmF0b3IxOSIsIl9zdGVwMTkiLCJfaXRlcmF0b3IyMCIsIl9zdGVwMjAiLCJfaXRlcmF0b3IyMSIsIl9zdGVwMjEiLCJyZXVuaW9uQnlVaWQiLCJyZXVuaW9uc0J5RGF5IiwicmV1bmlvbnNCeURvc3NpZXJVaWQiLCJBZ2VuZGFzIiwiX2l0ZXJhdG9yMjIiLCJfc3RlcDIyIiwiX2l0ZXJhdG9yMjMiLCJfc3RlcDIzIiwiZGF5IiwidGltZXN0YW1wRGVidXQiLCJ0b0lTT1N0cmluZyIsInNwbGl0IiwicmV1bmlvbnNBdERheSIsIm9kaiIsIl9pdGVyYXRvcjI0IiwicG9pbnRzT2RqIiwiX3N0ZXAyNCIsInBvaW50T2RqIiwiX2l0ZXJhdG9yMjUiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyIsIl9zdGVwMjUiLCJkb3NzaWVyTGVnaXNsYXRpZlJlZiIsInJldW5pb25zQXREb3NzaWVyVWlkIiwiYW1lbmRlbWVudEJ5VWlkIiwiQW1lbmRlbWVudHMiLCJfaXRlcmF0b3IyNiIsIl9zdGVwMjYiLCJfaXRlcmF0b3IyNyIsIl9zdGVwMjciLCJkb2N1bWVudEJ5VWlkIiwiZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluIiwiZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluIiwiZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZCIsIkRvc3NpZXJzTGVnaXNsYXRpZnMiLCJfaXRlcmF0b3IyOCIsIl9zdGVwMjgiLCJfaXRlcmF0b3IyOSIsIl9zdGVwMjkiLCJfaXRlcmF0b3IzMCIsIl9zdGVwMzAiLCJkb3NzaWVyU3BsaXRQYXRoIiwiZG9zc2llckZpbGVuYW1lIiwiZG9zc2llckZpbGVQYXRoIiwiZG9zc2llckpzb24iLCJkb3NzaWVyIiwidGl0cmVEb3NzaWVyIiwic2VuYXRDaGVtaW4iLCJ0aXRyZUNoZW1pbiIsInBob3RvQnlVaWQiLCJQaG90b3MiLCJqc29uRmlsZVBhdGgiLCJTZWl6ZSIsImV4aXN0c1N5bmMiLCJqc29uIiwiYXNzaWduIiwiSlNPTiIsInBhcnNlIiwic2NydXRpbkJ5VWlkIiwiU2NydXRpbnMiLCJfaXRlcmF0b3IzMSIsIl9zdGVwMzEiLCJfaXRlcmF0b3IzMiIsIl9zdGVwMzIiLCJxdWVzdGlvbkJ5VWlkIiwiUXVlc3Rpb25zIiwiX2l0ZXJhdG9yMzMiLCJfc3RlcDMzIiwiX2l0ZXJhdG9yMzQiLCJfc3RlcDM0IiwiY29tcHRlUmVuZHVCeVVpZCIsIkNvbXB0ZXNSZW5kdXNTZWFuY2VzIiwiX2l0ZXJhdG9yMzUiLCJfc3RlcDM1IiwiX2l0ZXJhdG9yMzYiLCJfc3RlcDM2IiwiY29tcHRlUmVuZHVQYXRoIiwibG9hZEFzc2VtYmxlZURhdGFGcm9tQmlnRmlsZXMiLCJfcmVmMTEiLCJfcmVmMTEkbG9nIiwiX2l0ZXJhdG9yMzciLCJfc3RlcDM3IiwidG9BY3RldXJzRXRPcmdhbmVzIiwiX2l0ZXJhdG9yMzgiLCJhY3RldXJzIiwiX3N0ZXAzOCIsIl9pdGVyYXRvcjM5Iiwib3JnYW5lcyIsIl9zdGVwMzkiLCJfaXRlcmF0b3I0MCIsIl9zdGVwNDAiLCJ0b0FnZW5kYXMiLCJfaXRlcmF0b3I0MSIsInJldW5pb25zIiwiX3N0ZXA0MSIsIl9pdGVyYXRvcjQyIiwiX3N0ZXA0MiIsIl9pdGVyYXRvcjQzIiwiX3N0ZXA0MyIsIl9pdGVyYXRvcjQ0IiwiX3N0ZXA0NCIsInRvQW1lbmRlbWVudHMiLCJfaXRlcmF0b3I0NSIsInRleHRlc0xlZ2lzbGF0aWZzIiwiX3N0ZXA0NSIsInRleHRlTGVnaXNsYXRpZiIsIl9pdGVyYXRvcjQ2IiwiX3N0ZXA0NiIsIl9pdGVyYXRvcjQ3IiwiX3N0ZXA0NyIsInRvRG9zc2llcnNMZWdpc2xhdGlmcyIsIl9pdGVyYXRvcjQ4IiwiX3N0ZXA0OCIsIl9pdGVyYXRvcjQ5IiwiZG9zc2llcnNQYXJsZW1lbnRhaXJlcyIsIl9zdGVwNDkiLCJfaXRlcmF0b3I1MCIsIl9zdGVwNTAiLCJ0b1NjcnV0aW5zIiwiX2l0ZXJhdG9yNTEiLCJfc3RlcDUxIiwiX2l0ZXJhdG9yNTIiLCJfc3RlcDUyIiwidG9RdWVzdGlvbnMiLCJfaXRlcmF0b3I1MyIsIl9zdGVwNTMiLCJfaXRlcmF0b3I1NCIsIl9zdGVwNTQiLCJjb21wdGVzUmVuZHVzIiwidG9Db21wdGVzUmVuZHVzIiwiX2l0ZXJhdG9yNTUiLCJfc3RlcDU1IiwibG9hZEFzc2VtYmxlZURvY3VtZW50RmlsZSIsImZvcm1hdHMiLCJkb2N1bWVudHNEaXIiLCJkb2N1bWVudERpciIsInBhdGhGcm9tRG9jdW1lbnRVaWQiLCJpbmRleFBhdGgiLCJwYXRoRXhpc3RzU3luYyIsImluZGV4IiwicmVhZEpzb25TeW5jIiwiX2l0ZXJhdG9yNTYiLCJfc3RlcDU2IiwiX2luZGV4JGZvcm1hdCIsImZvcm1hdCIsIl9pdGVyYXRvcjU3IiwiX3N0ZXA1NyIsIl9zdGVwNTckdmFsdWUiLCJ1cmwiLCJsb2FkQXNzZW1ibGVlUGhvdG9zRGVwdXRlcyIsIl9yZWYxMiIsIl9yZWYxMiRsb2ciLCJsb2FkQXNzZW1ibGVlUGhvdG9zU2VuYXRldXJzIiwiX3JlZjEzIiwiX3JlZjEzJGxvZyIsIl9ncm91cHMkZG9jdW1lbnRUeXBlIiwiX2dyb3VwcyRjaGFtYnJlIiwiX2dyb3VwcyRyZXB1YmxpcXVlIiwiX2dyb3VwcyRsZWdpc2xhdHVyZSIsIl9ncm91cHMkbnVtZXJvIiwibWF0Y2giLCJhc3NlcnQiLCJub3RTdHJpY3RFcXVhbCIsImNoYW1icmVEaXIiLCJyZXB1YmxpcXVlRGlyIiwibGVnaXNsYXR1cmVEaXIiLCJlbnN1cmVEaXJTeW5jIiwiZXRhdERpciIsInN1YnN0cmluZyIsIm51bWVyb01pbGxpZXJzRGlyIiwicGF0aEZyb21Eb3NzaWVyUGFybGVtZW50YWlyZVVpZCIsImRvc3NpZXJzRGlyIiwicGF0aEZyb21SZXVuaW9uVWlkIiwicmV1bmlvbnNEaXIiLCJzZXNzaW9uRGlyIiwiaWREaXIiLCJudW1lcm9NaWxsaW9uc0RpciIsInBhdGhGcm9tU2NydXRpblVpZCIsInNjcnV0aW5zRGlyIiwicGF0aEZyb21VaWQiLCJkYXRhUmVnZXhwIl0sInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8vIExvYWQgZGF0YSBmcm9tIGZpbGVzXG5cbmltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IHsgRW5hYmxlZERhdGFzZXRzIH0gZnJvbSBcIi4vZGF0YXNldHNcIlxuaW1wb3J0IHsgZGF0YXNldHMsIEVuYWJsZWREYXRhc2V0cyB9IGZyb20gXCIuL2RhdGFzZXRzXCJcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnRGaWxlc0luZGV4IH0gZnJvbSBcIi4vZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuZXhwb3J0IHsgd2Fsa0RpciB9IGZyb20gXCIuL2ZpbGVfc3lzdGVtc1wiXG5pbXBvcnQgeyB3YWxrRGlyIH0gZnJvbSBcIi4vZmlsZV9zeXN0ZW1zXCJcbmltcG9ydCB7XG4gIEFjdGV1cixcbiAgQ29udmVydCBhcyBBY3RldXJzRXRPcmdhbmVzQ29udmVydCxcbiAgT3JnYW5lLFxuICBQaG90byxcbn0gZnJvbSBcIi4vdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgQWdlbmRhc0NvbnZlcnQsIFJldW5pb24gfSBmcm9tIFwiLi90eXBlcy9hZ2VuZGFzXCJcbmltcG9ydCB7IEFtZW5kZW1lbnQsIENvbnZlcnQgYXMgQW1lbmRlbWVudHNDb252ZXJ0IH0gZnJvbSBcIi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuaW1wb3J0IHtcbiAgQ29udmVydCBhcyBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydCxcbiAgRG9jdW1lbnQsXG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlLFxufSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5pbXBvcnQgeyBMZWdpc2xhdHVyZSB9IGZyb20gXCIuL3R5cGVzL2xlZ2lzbGF0dXJlc1wiXG5pbXBvcnQgeyBDb252ZXJ0IGFzIFNjcnV0aW5zQ29udmVydCwgU2NydXRpbiB9IGZyb20gXCIuL3R5cGVzL3NjcnV0aW5zXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgUXVlc3Rpb25zQ29udmVydCwgUXVlc3Rpb24gfSBmcm9tIFwiLi90eXBlcy9xdWVzdGlvbnNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBDb21wdGVzUmVuZHVzQ29udmVydCwgQ29tcHRlUmVuZHUgfSBmcm9tIFwiLi90eXBlcy9kZWJhdHNcIlxuaW1wb3J0IHsgRG9jdW1lbnRVcmxGb3JtYXQgfSBmcm9tIFwiLi91cmxzXCJcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhIHtcbiAgcmVhZG9ubHkgYWN0ZXVyQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogQWN0ZXVyIH1cbiAgcmVhZG9ubHkgYW1lbmRlbWVudEJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFtZW5kZW1lbnQgfVxuICByZWFkb25seSBkb2N1bWVudEJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvY3VtZW50IH1cbiAgcmVhZG9ubHkgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfVxuICByZWFkb25seSBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VGl0cmVDaGVtaW46IHtcbiAgICBbdWlkOiBzdHJpbmddOiBEb3NzaWVyUGFybGVtZW50YWlyZVxuICB9XG4gIHJlYWRvbmx5IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmUgfVxuICByZWFkb25seSBvcmdhbmVCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBPcmdhbmUgfVxuICByZWFkb25seSBwaG90b0J5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFBob3RvIH1cbiAgcmVhZG9ubHkgcmV1bmlvbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFJldW5pb24gfVxuICByZWFkb25seSByZXVuaW9uc0J5RGF5OiB7IFtkYXk6IHN0cmluZ106IFJldW5pb25bXSB9XG4gIHJlYWRvbmx5IHJldW5pb25zQnlEb3NzaWVyVWlkOiB7IFtkb3NzaWVyVWlkOiBzdHJpbmddOiBSZXVuaW9uW10gfVxuICByZWFkb25seSBzY3J1dGluQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogU2NydXRpbiB9XG4gIHJlYWRvbmx5IHF1ZXN0aW9uQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogUXVlc3Rpb24gfVxuICByZWFkb25seSBjb21wdGVSZW5kdUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IENvbXB0ZVJlbmR1IH1cbn1cblxuY29uc3QgZG9jdW1lbnRVaWRSZWdleCA9XG4gIC9eKCg/PGRvY3VtZW50VHlwZT5BQ0lOfEFMQ058QVZDRXxBVklTfERFQ0x8RVRESXxMRVRUfE1FU1N8TUlPTnxQSU9OfFBOUkV8UFJKTHxSQVBQfFJJTkZ8UklPTikoPzxjaGFtYnJlPkFOfFNOKSg/PHJlcHVibGlxdWU+UlxcZCspW0xTXSg/PGxlZ2lzbGF0dXJlPlxcZCspKD88ZXRhdD5CfEJUQXxCVEN8VEFQKSg/PG51bWVybz5cXGQrKSgtLiopPyl8KCg/PGRvY3VtZW50VHlwZTI+TUlPTikoPzxjaGFtYnJlMj5BTnxTTikoPzxyZXB1YmxpcXVlMj5SXFxkKylbTFNdKD88bGVnaXNsYXR1cmUyPlxcZCspLU4oPzxudW1lcm8yPlxcZCspKSQvXG5jb25zdCBkb3NzaWVyVWlkUmVnZXggPSAvXkRMKFJcXGQrKShMXFxkKylOKFxcZCspJC9cbmNvbnN0IHJldW5pb25VaWRSZWdleCA9XG4gIC9eUlUoQU58Q0d8U04pKFJcXGQrKShMXFxkKykoW0FTXVxcZHs0fSkoSURDfElERkw/fElEUykoXFxkKykkL1xuY29uc3Qgc2NydXRpblVpZFJlZ2V4ID0gL15WVEFOKFJcXGQrKShMXFxkKylWKFxcZCspJC9cblxuZXhwb3J0IGZ1bmN0aW9uKiBpdGVyTG9hZEFzc2VtYmxlZUFjdGV1cnMoXG4gIGRhdGFEaXI6IHN0cmluZyxcbiAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLFxuICB7IGxvZyA9IGZhbHNlIH0gPSB7fSxcbik6IEdlbmVyYXRvcjxcbiAgeyBhY3RldXI6IEFjdGV1cjsgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgYWN0ZXVyc1VpZCA9IG5ldyBTZXQ8c3RyaW5nPigpXG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgZGF0YURpcixcbiAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgIClcblxuICAgIGZvciAoY29uc3QgYWN0ZXVyU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wiYWN0ZXVyc1wiXSkpIHtcbiAgICAgIGNvbnN0IGFjdGV1ckZpbGVuYW1lID0gYWN0ZXVyU3BsaXRQYXRoW2FjdGV1clNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFhY3RldXJGaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBhY3RldXJGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5hY3RldXJTcGxpdFBhdGgpXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7YWN0ZXVyRmlsZVBhdGh94oCmYClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFjdGV1ckpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhhY3RldXJGaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgICAgY29uc3QgYWN0ZXVyID0gQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9BY3RldXIoYWN0ZXVySnNvbilcbiAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwiYWN0ZXVyXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICBpZiAoYWN0ZXVyc1VpZC5oYXMoYWN0ZXVyLnVpZCkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGFjdGV1cnNVaWQuYWRkKGFjdGV1ci51aWQpXG4gICAgICB5aWVsZCB7IGFjdGV1ciwgZGF0YXNldExlZ2lzbGF0dXJlOiBkYXRhc2V0LmxlZ2lzbGF0dXJlIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBpdGVyTG9hZEFzc2VtYmxlZUFtZW5kZW1lbnRzKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiBHZW5lcmF0b3I8XG4gIHsgYW1lbmRlbWVudDogQW1lbmRlbWVudDsgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgYW1lbmRlbWVudHNVaWQgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYW1lbmRlbWVudHMpIHtcbiAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICBkYXRhRGlyLFxuICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgKVxuXG4gICAgZm9yIChjb25zdCBhbWVuZGVtZW50U3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlbmFtZSA9XG4gICAgICAgIGFtZW5kZW1lbnRTcGxpdFBhdGhbYW1lbmRlbWVudFNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFhbWVuZGVtZW50RmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgYW1lbmRlbWVudEZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmFtZW5kZW1lbnRTcGxpdFBhdGgpXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7YW1lbmRlbWVudEZpbGVQYXRofeKApmApXG4gICAgICB9XG4gICAgICBjb25zdCBhbWVuZGVtZW50SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGFtZW5kZW1lbnRGaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgICAgY29uc3QgYW1lbmRlbWVudCA9IEFtZW5kZW1lbnRzQ29udmVydC50b0FtZW5kZW1lbnQoYW1lbmRlbWVudEpzb24pXG4gICAgICBpZiAoYW1lbmRlbWVudHNVaWQuaGFzKGFtZW5kZW1lbnQudWlkKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgYW1lbmRlbWVudHNVaWQuYWRkKGFtZW5kZW1lbnQudWlkKVxuICAgICAgeWllbGQgeyBhbWVuZGVtZW50LCBkYXRhc2V0TGVnaXNsYXR1cmU6IGRhdGFzZXQubGVnaXNsYXR1cmUgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGl0ZXJMb2FkQXNzZW1ibGVlRG9jdW1lbnRzKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiBHZW5lcmF0b3I8XG4gIHsgZG9jdW1lbnQ6IERvY3VtZW50OyBkYXRhc2V0TGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlIH0sXG4gIHZvaWQsXG4gIHVua25vd25cbj4ge1xuICBjb25zdCBkb2N1bWVudHNVaWQgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuZG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgIGRhdGFEaXIsXG4gICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICApXG5cbiAgICBmb3IgKGNvbnN0IGRvY3VtZW50U3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wiZG9jdW1lbnRzXCJdKSkge1xuICAgICAgY29uc3QgZG9jdW1lbnRGaWxlbmFtZSA9IGRvY3VtZW50U3BsaXRQYXRoW2RvY3VtZW50U3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICBpZiAoIWRvY3VtZW50RmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgZG9jdW1lbnRGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5kb2N1bWVudFNwbGl0UGF0aClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtkb2N1bWVudEZpbGVQYXRofeKApmApXG4gICAgICB9XG4gICAgICBjb25zdCBkb2N1bWVudEpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhkb2N1bWVudEZpbGVQYXRoLCB7XG4gICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgIH0pXG4gICAgICBjb25zdCBkb2N1bWVudCA9IERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LnRvRG9jdW1lbnQoZG9jdW1lbnRKc29uKVxuICAgICAgaWYgKGRvY3VtZW50c1VpZC5oYXMoZG9jdW1lbnQudWlkKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgZG9jdW1lbnRzVWlkLmFkZChkb2N1bWVudC51aWQpXG4gICAgICB5aWVsZCB7IGRvY3VtZW50LCBkYXRhc2V0TGVnaXNsYXR1cmU6IGRhdGFzZXQubGVnaXNsYXR1cmUgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGl0ZXJMb2FkQXNzZW1ibGVlRG9zc2llcnNQYXJsZW1lbnRhaXJlcyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7XG4gICAgZG9zc2llclBhcmxlbWVudGFpcmU6IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gICAgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZVxuICB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgZG9zc2llcnNQYXJsZW1lbnRhaXJlc1VpZCA9IG5ldyBTZXQ8c3RyaW5nPigpXG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5kb3NzaWVyc0xlZ2lzbGF0aWZzKSB7XG4gICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgZGF0YURpcixcbiAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgIClcblxuICAgIGZvciAoY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVTcGxpdFBhdGggb2Ygd2Fsa0RpcihkYXRhc2V0RGlyLCBbXG4gICAgICBcImRvc3NpZXJzXCIsXG4gICAgXSkpIHtcbiAgICAgIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlRmlsZW5hbWUgPVxuICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZVNwbGl0UGF0aFtkb3NzaWVyUGFybGVtZW50YWlyZVNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFkb3NzaWVyUGFybGVtZW50YWlyZUZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlRmlsZVBhdGggPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFzZXREaXIsXG4gICAgICAgIC4uLmRvc3NpZXJQYXJsZW1lbnRhaXJlU3BsaXRQYXRoLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2Rvc3NpZXJQYXJsZW1lbnRhaXJlRmlsZVBhdGh94oCmYClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlSnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKFxuICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUZpbGVQYXRoLFxuICAgICAgICB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9LFxuICAgICAgKVxuICAgICAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmUgPVxuICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC50b0Rvc3NpZXJQYXJsZW1lbnRhaXJlKFxuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlSnNvbixcbiAgICAgICAgKVxuICAgICAgaWYgKGRvc3NpZXJzUGFybGVtZW50YWlyZXNVaWQuaGFzKGRvc3NpZXJQYXJsZW1lbnRhaXJlLnVpZCkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGRvc3NpZXJzUGFybGVtZW50YWlyZXNVaWQuYWRkKGRvc3NpZXJQYXJsZW1lbnRhaXJlLnVpZClcbiAgICAgIHlpZWxkIHsgZG9zc2llclBhcmxlbWVudGFpcmUsIGRhdGFzZXRMZWdpc2xhdHVyZTogZGF0YXNldC5sZWdpc2xhdHVyZSB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogaXRlckxvYWRBc3NlbWJsZWVPcmdhbmVzKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiBHZW5lcmF0b3I8XG4gIHsgb3JnYW5lOiBPcmdhbmU7IGRhdGFzZXRMZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUgfSxcbiAgdm9pZCxcbiAgdW5rbm93blxuPiB7XG4gIGNvbnN0IG9yZ2FuZXNVaWQgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYWN0ZXVyc0V0T3JnYW5lcykge1xuICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgIGRhdGFEaXIsXG4gICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICApXG5cbiAgICBmb3IgKGNvbnN0IG9yZ2FuZVNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcIm9yZ2FuZXNcIl0pKSB7XG4gICAgICBjb25zdCBvcmdhbmVGaWxlbmFtZSA9IG9yZ2FuZVNwbGl0UGF0aFtvcmdhbmVTcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgIGlmICghb3JnYW5lRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3Qgb3JnYW5lRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4ub3JnYW5lU3BsaXRQYXRoKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke29yZ2FuZUZpbGVQYXRofeKApmApXG4gICAgICB9XG4gICAgICBjb25zdCBvcmdhbmVKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMob3JnYW5lRmlsZVBhdGgsIHtcbiAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IG9yZ2FuZSA9IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LnRvT3JnYW5lKG9yZ2FuZUpzb24pXG4gICAgICAvLyBLZWVwIHRoZSBmaXJzdCBleGlzdGluZyBcIm9yZ2FuZVwiLCBiZWNhdXNlIHRoZSBmaXJzdCB3cmFwcGVyIGlzIHRoZSBtb3N0IGNvbXBsZXRlLlxuICAgICAgaWYgKG9yZ2FuZXNVaWQuaGFzKG9yZ2FuZS51aWQpKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBvcmdhbmVzVWlkLmFkZChvcmdhbmUudWlkKVxuICAgICAgeWllbGQgeyBvcmdhbmUsIGRhdGFzZXRMZWdpc2xhdHVyZTogZGF0YXNldC5sZWdpc2xhdHVyZSB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogaXRlckxvYWRBc3NlbWJsZWVSZXVuaW9ucyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7IHJldW5pb246IFJldW5pb247IGRhdGFzZXRMZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUgfSxcbiAgdm9pZCxcbiAgdW5rbm93blxuPiB7XG4gIGNvbnN0IHJldW5pb25zVWlkID0gbmV3IFNldDxzdHJpbmc+KClcbiAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFnZW5kYXMpIHtcbiAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICBkYXRhRGlyLFxuICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgKVxuXG4gICAgZm9yIChjb25zdCByZXVuaW9uU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgIGNvbnN0IHJldW5pb25GaWxlbmFtZSA9IHJldW5pb25TcGxpdFBhdGhbcmV1bmlvblNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFyZXVuaW9uRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgcmV1bmlvbkZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLnJldW5pb25TcGxpdFBhdGgpXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cmV1bmlvbkZpbGVQYXRofeKApmApXG4gICAgICB9XG4gICAgICBjb25zdCByZXVuaW9uSnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHJldW5pb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgICAgY29uc3QgcmV1bmlvbiA9IEFnZW5kYXNDb252ZXJ0LnRvUmV1bmlvbihyZXVuaW9uSnNvbilcbiAgICAgIGlmIChyZXVuaW9uc1VpZC5oYXMocmV1bmlvbi51aWQpKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICByZXVuaW9uc1VpZC5hZGQocmV1bmlvbi51aWQpXG4gICAgICB5aWVsZCB7IHJldW5pb24sIGRhdGFzZXRMZWdpc2xhdHVyZTogZGF0YXNldC5sZWdpc2xhdHVyZSB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogaXRlckxvYWRBc3NlbWJsZWVTY3J1dGlucyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7IHNjcnV0aW46IFNjcnV0aW47IGRhdGFzZXRMZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUgfSxcbiAgdm9pZCxcbiAgdW5rbm93blxuPiB7XG4gIGNvbnN0IHNjcnV0aW5zVWlkID0gbmV3IFNldDxzdHJpbmc+KClcbiAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLnNjcnV0aW5zKSB7XG4gICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgZGF0YURpcixcbiAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgIClcblxuICAgIGZvciAoY29uc3Qgc2NydXRpblNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICBjb25zdCBzY3J1dGluRmlsZW5hbWUgPSBzY3J1dGluU3BsaXRQYXRoW3NjcnV0aW5TcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgIGlmICghc2NydXRpbkZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNjcnV0aW5GaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5zY3J1dGluU3BsaXRQYXRoKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3NjcnV0aW5GaWxlUGF0aH3igKZgKVxuICAgICAgfVxuICAgICAgY29uc3Qgc2NydXRpbkpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhzY3J1dGluRmlsZVBhdGgsIHtcbiAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IHNjcnV0aW4gPSBTY3J1dGluc0NvbnZlcnQudG9TY3J1dGluKHNjcnV0aW5Kc29uKVxuICAgICAgaWYgKHNjcnV0aW5zVWlkLmhhcyhzY3J1dGluLnVpZCkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIHNjcnV0aW5zVWlkLmFkZChzY3J1dGluLnVpZClcbiAgICAgIHlpZWxkIHsgc2NydXRpbiwgZGF0YXNldExlZ2lzbGF0dXJlOiBkYXRhc2V0LmxlZ2lzbGF0dXJlIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBpdGVyTG9hZEFzc2VtYmxlZVF1ZXN0aW9ucyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7IHF1ZXN0aW9uOiBRdWVzdGlvbjsgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgcXVlc3Rpb25zVWlkID0gbmV3IFNldDxzdHJpbmc+KClcbiAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLnF1ZXN0aW9ucykge1xuICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgIGRhdGFEaXIsXG4gICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICApXG5cbiAgICBmb3IgKGNvbnN0IHF1ZXN0aW9uU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgIGNvbnN0IHF1ZXN0aW9uRmlsZW5hbWUgPSBxdWVzdGlvblNwbGl0UGF0aFtxdWVzdGlvblNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFxdWVzdGlvbkZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IHF1ZXN0aW9uRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4ucXVlc3Rpb25TcGxpdFBhdGgpXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cXVlc3Rpb25GaWxlUGF0aH3igKZgKVxuICAgICAgfVxuICAgICAgY29uc3QgcXVlc3Rpb25Kc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMocXVlc3Rpb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgICAgY29uc3QgcXVlc3Rpb24gPSBRdWVzdGlvbnNDb252ZXJ0LnRvUXVlc3Rpb24ocXVlc3Rpb25Kc29uKVxuICAgICAgaWYgKHF1ZXN0aW9uc1VpZC5oYXMocXVlc3Rpb24udWlkKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgcXVlc3Rpb25zVWlkLmFkZChxdWVzdGlvbi51aWQpXG4gICAgICB5aWVsZCB7IHF1ZXN0aW9uLCBkYXRhc2V0TGVnaXNsYXR1cmU6IGRhdGFzZXQubGVnaXNsYXR1cmUgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGl0ZXJMb2FkQXNzZW1ibGVlQ29tcHRlc1JlbmR1cyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7IGNvbXB0ZVJlbmR1OiBDb21wdGVSZW5kdTsgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgY29tcHRlc1JlbmR1c1VpZCA9IG5ldyBTZXQ8c3RyaW5nPigpXG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5jb21wdGVzUmVuZHVzU2VhbmNlcykge1xuICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgIGRhdGFEaXIsXG4gICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICApXG5cbiAgICBmb3IgKGNvbnN0IGNvbXB0ZVJlbmR1U3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgIGNvbnN0IGNvbXB0ZVJlbmR1RmlsZW5hbWUgPVxuICAgICAgICBjb21wdGVSZW5kdVNwbGl0UGF0aFtjb21wdGVSZW5kdVNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFjb21wdGVSZW5kdUZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbXB0ZVJlbmR1RmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4uY29tcHRlUmVuZHVTcGxpdFBhdGgpXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7Y29tcHRlUmVuZHVGaWxlUGF0aH3igKZgKVxuICAgICAgfVxuICAgICAgY29uc3QgY29tcHRlUmVuZHVKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoY29tcHRlUmVuZHVGaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgICAgY29uc3QgY29tcHRlUmVuZHUgPSBDb21wdGVzUmVuZHVzQ29udmVydC50b0NvbXB0ZVJlbmR1KGNvbXB0ZVJlbmR1SnNvbilcbiAgICAgIGlmIChjb21wdGVzUmVuZHVzVWlkLmhhcyhjb21wdGVSZW5kdS51aWQpKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb21wdGVzUmVuZHVzVWlkLmFkZChjb21wdGVSZW5kdS51aWQpXG4gICAgICB5aWVsZCB7IGNvbXB0ZVJlbmR1LCBkYXRhc2V0TGVnaXNsYXR1cmU6IGRhdGFzZXQubGVnaXNsYXR1cmUgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTG9hZCBkYXRhIGZyb20gc3BsaXQgZmlsZXMuXG4vLy8gRGVwcmVjYXRlZDogVXNlIGl0ZXJMb2FkLi4uIGl0ZXJhdG9ycyBpbnN0ZWFkLlxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBc3NlbWJsZWVEYXRhKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGVuYWJsZWREYXRhc2V0czogRW5hYmxlZERhdGFzZXRzLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogRGF0YSB7XG4gIGNvbnN0IGFjdGV1ckJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFjdGV1ciB9ID0ge31cbiAgY29uc3Qgb3JnYW5lQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogT3JnYW5lIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFjdGV1cnNFdE9yZ2FuZXMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYWN0ZXVyc0V0T3JnYW5lcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1clNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcImFjdGV1cnNcIl0pKSB7XG4gICAgICAgIGNvbnN0IGFjdGV1ckZpbGVuYW1lID0gYWN0ZXVyU3BsaXRQYXRoW2FjdGV1clNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIWFjdGV1ckZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGV1ckZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmFjdGV1clNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7YWN0ZXVyRmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhY3RldXJKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoYWN0ZXVyRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGFjdGV1ciA9IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LnRvQWN0ZXVyKGFjdGV1ckpzb24pXG4gICAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwiYWN0ZXVyXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICAgIGlmIChhY3RldXJCeVVpZFthY3RldXIudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWN0ZXVyQnlVaWRbYWN0ZXVyLnVpZF0gPSBhY3RldXJcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IG9yZ2FuZVNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcIm9yZ2FuZXNcIl0pKSB7XG4gICAgICAgIGNvbnN0IG9yZ2FuZUZpbGVuYW1lID0gb3JnYW5lU3BsaXRQYXRoW29yZ2FuZVNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIW9yZ2FuZUZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9yZ2FuZUZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLm9yZ2FuZVNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7b3JnYW5lRmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcmdhbmVKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMob3JnYW5lRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG9yZ2FuZSA9IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LnRvT3JnYW5lKG9yZ2FuZUpzb24pXG4gICAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwib3JnYW5lXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICAgIGlmIChvcmdhbmVCeVVpZFtvcmdhbmUudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgb3JnYW5lQnlVaWRbb3JnYW5lLnVpZF0gPSBvcmdhbmVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJldW5pb25CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBSZXVuaW9uIH0gPSB7fVxuICBjb25zdCByZXVuaW9uc0J5RGF5OiB7IFtkYXk6IHN0cmluZ106IFJldW5pb25bXSB9ID0ge31cbiAgY29uc3QgcmV1bmlvbnNCeURvc3NpZXJVaWQ6IHsgW2Rvc3NpZXJVaWQ6IHN0cmluZ106IFJldW5pb25bXSB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BZ2VuZGFzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFnZW5kYXMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICAgIClcbiAgICAgIGZvciAoY29uc3QgcmV1bmlvblNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICAgIGNvbnN0IHJldW5pb25GaWxlbmFtZSA9IHJldW5pb25TcGxpdFBhdGhbcmV1bmlvblNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIXJldW5pb25GaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXVuaW9uRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4ucmV1bmlvblNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cmV1bmlvbkZpbGVQYXRofeKApmApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmV1bmlvbkpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhyZXVuaW9uRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHJldW5pb24gPSBBZ2VuZGFzQ29udmVydC50b1JldW5pb24ocmV1bmlvbkpzb24pXG4gICAgICAgIGlmIChyZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXVuaW9uQnlVaWRbcmV1bmlvbi51aWRdID0gcmV1bmlvblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF5ID0gcmV1bmlvbi50aW1lc3RhbXBEZWJ1dC50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXVxuICAgICAgICBsZXQgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XVxuICAgICAgICBpZiAocmV1bmlvbnNBdERheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV1bmlvbnNBdERheSA9IHJldW5pb25zQnlEYXlbZGF5XSA9IFtdXG4gICAgICAgIH1cbiAgICAgICAgcmV1bmlvbnNBdERheS5wdXNoKHJldW5pb24pXG5cbiAgICAgICAgY29uc3Qgb2RqID0gcmV1bmlvbi5vZGpcbiAgICAgICAgaWYgKG9kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBwb2ludE9kaiBvZiBvZGoucG9pbnRzT2RqIHx8IFtdKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRvc3NpZXJMZWdpc2xhdGlmUmVmIG9mIHBvaW50T2RqLmRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIHx8XG4gICAgICAgICAgICAgIFtdKSB7XG4gICAgICAgICAgICAgIGxldCByZXVuaW9uc0F0RG9zc2llclVpZCA9XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNCeURvc3NpZXJVaWRbZG9zc2llckxlZ2lzbGF0aWZSZWZdXG4gICAgICAgICAgICAgIGlmIChyZXVuaW9uc0F0RG9zc2llclVpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQgPSByZXVuaW9uc0J5RG9zc2llclVpZFtcbiAgICAgICAgICAgICAgICAgIGRvc3NpZXJMZWdpc2xhdGlmUmVmXG4gICAgICAgICAgICAgICAgXSA9IFtdXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV1bmlvbnNBdERvc3NpZXJVaWQucHVzaChyZXVuaW9uKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFtZW5kZW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBBbWVuZGVtZW50IH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFtZW5kZW1lbnRzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFtZW5kZW1lbnRzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgICApXG5cbiAgICAgIGZvciAoY29uc3QgYW1lbmRlbWVudFNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlbmFtZSA9XG4gICAgICAgICAgYW1lbmRlbWVudFNwbGl0UGF0aFthbWVuZGVtZW50U3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIGlmICghYW1lbmRlbWVudEZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5hbWVuZGVtZW50U3BsaXRQYXRoKVxuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhbWVuZGVtZW50SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGFtZW5kZW1lbnRGaWxlUGF0aCwge1xuICAgICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgYW1lbmRlbWVudCA9IEFtZW5kZW1lbnRzQ29udmVydC50b0FtZW5kZW1lbnQoYW1lbmRlbWVudEpzb24pXG4gICAgICAgIGlmIChhbWVuZGVtZW50QnlVaWRbYW1lbmRlbWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBhbWVuZGVtZW50QnlVaWRbYW1lbmRlbWVudC51aWRdID0gYW1lbmRlbWVudFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZG9jdW1lbnRCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBEb2N1bWVudCB9ID0ge31cbiAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfSA9IHt9XG4gIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbjoge1xuICAgIFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gIH0gPSB7fVxuICBjb25zdCBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkRvc3NpZXJzTGVnaXNsYXRpZnMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuZG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IGRvY3VtZW50U3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wiZG9jdW1lbnRzXCJdKSkge1xuICAgICAgICBjb25zdCBkb2N1bWVudEZpbGVuYW1lID0gZG9jdW1lbnRTcGxpdFBhdGhbZG9jdW1lbnRTcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFkb2N1bWVudEZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRvY3VtZW50RmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4uZG9jdW1lbnRTcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2RvY3VtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkb2N1bWVudEpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhkb2N1bWVudEZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBkb2N1bWVudCA9IERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LnRvRG9jdW1lbnQoZG9jdW1lbnRKc29uKVxuICAgICAgICBpZiAoZG9jdW1lbnRCeVVpZFtkb2N1bWVudC51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkb2N1bWVudEJ5VWlkW2RvY3VtZW50LnVpZF0gPSBkb2N1bWVudFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgZG9zc2llclNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcImRvc3NpZXJzXCJdKSkge1xuICAgICAgICBjb25zdCBkb3NzaWVyRmlsZW5hbWUgPSBkb3NzaWVyU3BsaXRQYXRoW2Rvc3NpZXJTcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFkb3NzaWVyRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZG9zc2llckZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmRvc3NpZXJTcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2Rvc3NpZXJGaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRvc3NpZXJKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoZG9zc2llckZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBkb3NzaWVyID1cbiAgICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC50b0Rvc3NpZXJQYXJsZW1lbnRhaXJlKGRvc3NpZXJKc29uKVxuICAgICAgICBjb25zdCB0aXRyZURvc3NpZXIgPSBkb3NzaWVyLnRpdHJlRG9zc2llclxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluICYmXG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluW3RpdHJlRG9zc2llci5zZW5hdENoZW1pbl0gPT09XG4gICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluW3RpdHJlRG9zc2llci5zZW5hdENoZW1pbl0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRpdHJlRG9zc2llci50aXRyZUNoZW1pbiAmJlxuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pblt0aXRyZURvc3NpZXIudGl0cmVDaGVtaW5dID09PVxuICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pblt0aXRyZURvc3NpZXIudGl0cmVDaGVtaW5dID0gZG9zc2llclxuICAgICAgICB9XG4gICAgICAgIGlmIChkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkW2Rvc3NpZXIudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZFtkb3NzaWVyLnVpZF0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgcGhvdG9CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5QaG90b3MpIHtcbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgYHBob3Rvc19kZXB1dGVzXyR7XG4gICAgICAgICAgLy8gVE9ETzogSGFuZGxlIExlZ2lzbGF0dXJlLkFsbC5cbiAgICAgICAgICBsZWdpc2xhdHVyZSA9PT0gTGVnaXNsYXR1cmUuQWxsID8gTGVnaXNsYXR1cmUuU2VpemUgOiBsZWdpc2xhdHVyZVxuICAgICAgICB9YCxcbiAgICAgICAgXCJkZXB1dGVzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgXCJwaG90b3Nfc2VuYXRldXJzXCIsXG4gICAgICAgIFwic2VuYXRldXJzLmpzb25cIixcbiAgICAgIClcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGpzb25GaWxlUGF0aCkpIHtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwaG90b0J5VWlkLCBKU09OLnBhcnNlKGpzb24pKVxuICAgICAgfSBlbHNlIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYElnbm9yaW5nIG1pc3NpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBzY3J1dGluQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogU2NydXRpbiB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5TY3J1dGlucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5zY3J1dGlucykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IHNjcnV0aW5TcGxpdFBhdGggb2Ygd2Fsa0RpcihkYXRhc2V0RGlyKSkge1xuICAgICAgICBjb25zdCBzY3J1dGluRmlsZW5hbWUgPSBzY3J1dGluU3BsaXRQYXRoW3NjcnV0aW5TcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFzY3J1dGluRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2NydXRpbkZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLnNjcnV0aW5TcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3NjcnV0aW5GaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNjcnV0aW5Kc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoc2NydXRpbkZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBzY3J1dGluID0gU2NydXRpbnNDb252ZXJ0LnRvU2NydXRpbihzY3J1dGluSnNvbilcbiAgICAgICAgaWYgKHNjcnV0aW5CeVVpZFtzY3J1dGluLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNjcnV0aW5CeVVpZFtzY3J1dGluLnVpZF0gPSBzY3J1dGluXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBxdWVzdGlvbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFF1ZXN0aW9uIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlF1ZXN0aW9ucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5xdWVzdGlvbnMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICAgIClcblxuICAgICAgZm9yIChjb25zdCBxdWVzdGlvblNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uRmlsZW5hbWUgPSBxdWVzdGlvblNwbGl0UGF0aFtxdWVzdGlvblNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIXF1ZXN0aW9uRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcXVlc3Rpb25GaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5xdWVzdGlvblNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cXVlc3Rpb25GaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uSnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHF1ZXN0aW9uRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gUXVlc3Rpb25zQ29udmVydC50b1F1ZXN0aW9uKHF1ZXN0aW9uSnNvbilcbiAgICAgICAgaWYgKHF1ZXN0aW9uQnlVaWRbcXVlc3Rpb24udWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcXVlc3Rpb25CeVVpZFtxdWVzdGlvbi51aWRdID0gcXVlc3Rpb25cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvbXB0ZVJlbmR1QnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogQ29tcHRlUmVuZHUgfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQ29tcHRlc1JlbmR1c1NlYW5jZXMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuY29tcHRlc1JlbmR1c1NlYW5jZXMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICAgIClcblxuICAgICAgZm9yIChjb25zdCBjb21wdGVSZW5kdVBhdGggb2Ygd2Fsa0RpcihkYXRhc2V0RGlyKSkge1xuICAgICAgICBjb25zdCBjb21wdGVSZW5kdUZpbGVuYW1lID0gY29tcHRlUmVuZHVQYXRoW2NvbXB0ZVJlbmR1UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIWNvbXB0ZVJlbmR1RmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcHRlUmVuZHVGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5jb21wdGVSZW5kdVBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2NvbXB0ZVJlbmR1RmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21wdGVSZW5kdUpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhjb21wdGVSZW5kdUZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBjb21wdGVSZW5kdSA9IENvbXB0ZXNSZW5kdXNDb252ZXJ0LnRvQ29tcHRlUmVuZHUoY29tcHRlUmVuZHVKc29uKVxuICAgICAgICBpZiAoY29tcHRlUmVuZHVCeVVpZFtjb21wdGVSZW5kdS51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb21wdGVSZW5kdUJ5VWlkW2NvbXB0ZVJlbmR1LnVpZF0gPSBjb21wdGVSZW5kdVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhY3RldXJCeVVpZCxcbiAgICBhbWVuZGVtZW50QnlVaWQsXG4gICAgZG9jdW1lbnRCeVVpZCxcbiAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW4sXG4gICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluLFxuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWQsXG4gICAgb3JnYW5lQnlVaWQsXG4gICAgcGhvdG9CeVVpZCxcbiAgICByZXVuaW9uQnlVaWQsXG4gICAgcmV1bmlvbnNCeURheSxcbiAgICByZXVuaW9uc0J5RG9zc2llclVpZCxcbiAgICBzY3J1dGluQnlVaWQsXG4gICAgcXVlc3Rpb25CeVVpZCxcbiAgICBjb21wdGVSZW5kdUJ5VWlkLFxuICB9XG59XG5cbi8vLyBMb2FkIGRhdGEgZnJvbSBiaWcgbW9ub2x5dGljIGZpbGVzLlxuLy8vIERlcHJlY2F0ZWQ6IEFzc2VtYmzDqWUgbmF0aW9uYWxlIG9wZW4gZGF0YSBubyBtb3JlIHVzZXMgbW9ub2x5dGljIGZpbGVzLlxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBc3NlbWJsZWVEYXRhRnJvbUJpZ0ZpbGVzKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGVuYWJsZWREYXRhc2V0czogRW5hYmxlZERhdGFzZXRzLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogRGF0YSB7XG4gIGNvbnN0IGFjdGV1ckJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFjdGV1ciB9ID0ge31cbiAgY29uc3Qgb3JnYW5lQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogT3JnYW5lIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFjdGV1cnNFdE9yZ2FuZXMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYWN0ZXVyc0V0T3JnYW5lcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgIGNvbnN0IGFjdGV1cnNFdE9yZ2FuZXMgPSBBY3RldXJzRXRPcmdhbmVzQ29udmVydC50b0FjdGV1cnNFdE9yZ2FuZXMoanNvbilcbiAgICAgIGZvciAoY29uc3QgYWN0ZXVyIG9mIGFjdGV1cnNFdE9yZ2FuZXMuYWN0ZXVycykge1xuICAgICAgICAvLyBLZWVwIHRoZSBmaXJzdCBleGlzdGluZyBcImFjdGV1clwiLCBiZWNhdXNlIHRoZSBmaXJzdCB3cmFwcGVyIGlzIHRoZSBtb3N0IGNvbXBsZXRlLlxuICAgICAgICBpZiAoYWN0ZXVyQnlVaWRbYWN0ZXVyLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGFjdGV1ckJ5VWlkW2FjdGV1ci51aWRdID0gYWN0ZXVyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3Qgb3JnYW5lIG9mIGFjdGV1cnNFdE9yZ2FuZXMub3JnYW5lcykge1xuICAgICAgICAvLyBLZWVwIHRoZSBmaXJzdCBleGlzdGluZyBcIm9yZ2FuZVwiLCBiZWNhdXNlIHRoZSBmaXJzdCB3cmFwcGVyIGlzIHRoZSBtb3N0IGNvbXBsZXRlLlxuICAgICAgICBpZiAob3JnYW5lQnlVaWRbb3JnYW5lLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIG9yZ2FuZUJ5VWlkW29yZ2FuZS51aWRdID0gb3JnYW5lXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCByZXVuaW9uQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogUmV1bmlvbiB9ID0ge31cbiAgY29uc3QgcmV1bmlvbnNCeURheTogeyBbZGF5OiBzdHJpbmddOiBSZXVuaW9uW10gfSA9IHt9XG4gIGNvbnN0IHJldW5pb25zQnlEb3NzaWVyVWlkOiB7IFtkb3NzaWVyVWlkOiBzdHJpbmddOiBSZXVuaW9uW10gfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWdlbmRhcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hZ2VuZGFzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgY29uc3QgYWdlbmRhcyA9IEFnZW5kYXNDb252ZXJ0LnRvQWdlbmRhcyhqc29uKVxuICAgICAgZm9yIChjb25zdCByZXVuaW9uIG9mIGFnZW5kYXMucmV1bmlvbnMpIHtcbiAgICAgICAgaWYgKHJldW5pb25CeVVpZFtyZXVuaW9uLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldW5pb25CeVVpZFtyZXVuaW9uLnVpZF0gPSByZXVuaW9uXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXkgPSByZXVuaW9uLnRpbWVzdGFtcERlYnV0LnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdXG4gICAgICAgIGxldCByZXVuaW9uc0F0RGF5ID0gcmV1bmlvbnNCeURheVtkYXldXG4gICAgICAgIGlmIChyZXVuaW9uc0F0RGF5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXVuaW9uc0F0RGF5ID0gcmV1bmlvbnNCeURheVtkYXldID0gW11cbiAgICAgICAgfVxuICAgICAgICByZXVuaW9uc0F0RGF5LnB1c2gocmV1bmlvbilcblxuICAgICAgICBjb25zdCBvZGogPSByZXVuaW9uLm9kalxuICAgICAgICBpZiAob2RqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHBvaW50T2RqIG9mIG9kai5wb2ludHNPZGogfHwgW10pIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZG9zc2llckxlZ2lzbGF0aWZSZWYgb2YgcG9pbnRPZGouZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgfHxcbiAgICAgICAgICAgICAgW10pIHtcbiAgICAgICAgICAgICAgbGV0IHJldW5pb25zQXREb3NzaWVyVWlkID1cbiAgICAgICAgICAgICAgICByZXVuaW9uc0J5RG9zc2llclVpZFtkb3NzaWVyTGVnaXNsYXRpZlJlZl1cbiAgICAgICAgICAgICAgaWYgKHJldW5pb25zQXREb3NzaWVyVWlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXVuaW9uc0F0RG9zc2llclVpZCA9IHJldW5pb25zQnlEb3NzaWVyVWlkW1xuICAgICAgICAgICAgICAgICAgZG9zc2llckxlZ2lzbGF0aWZSZWZcbiAgICAgICAgICAgICAgICBdID0gW11cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXVuaW9uc0F0RG9zc2llclVpZC5wdXNoKHJldW5pb24pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgYW1lbmRlbWVudEJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFtZW5kZW1lbnQgfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQW1lbmRlbWVudHMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYW1lbmRlbWVudHMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICBjb25zdCBhbWVuZGVtZW50cyA9IEFtZW5kZW1lbnRzQ29udmVydC50b0FtZW5kZW1lbnRzKGpzb24pXG4gICAgICBmb3IgKGNvbnN0IHRleHRlTGVnaXNsYXRpZiBvZiBhbWVuZGVtZW50cy50ZXh0ZXNMZWdpc2xhdGlmcykge1xuICAgICAgICBmb3IgKGNvbnN0IGFtZW5kZW1lbnQgb2YgdGV4dGVMZWdpc2xhdGlmLmFtZW5kZW1lbnRzKSB7XG4gICAgICAgICAgaWYgKGFtZW5kZW1lbnRCeVVpZFthbWVuZGVtZW50LnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgYW1lbmRlbWVudEJ5VWlkW2FtZW5kZW1lbnQudWlkXSA9IGFtZW5kZW1lbnRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBkb2N1bWVudEJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvY3VtZW50IH0gPSB7fVxuICBjb25zdCBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW46IHtcbiAgICBbdWlkOiBzdHJpbmddOiBEb3NzaWVyUGFybGVtZW50YWlyZVxuICB9ID0ge31cbiAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfSA9IHt9XG4gIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmUgfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuRG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5kb3NzaWVyc0xlZ2lzbGF0aWZzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgY29uc3QgZG9zc2llcnNMZWdpc2xhdGlmcyA9XG4gICAgICAgIERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LnRvRG9zc2llcnNMZWdpc2xhdGlmcyhqc29uKVxuICAgICAgZm9yIChjb25zdCBkb2N1bWVudCBvZiBkb3NzaWVyc0xlZ2lzbGF0aWZzLnRleHRlc0xlZ2lzbGF0aWZzKSB7XG4gICAgICAgIGlmIChkb2N1bWVudEJ5VWlkW2RvY3VtZW50LnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGRvY3VtZW50QnlVaWRbZG9jdW1lbnQudWlkXSA9IGRvY3VtZW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgZG9zc2llciBvZiBkb3NzaWVyc0xlZ2lzbGF0aWZzLmRvc3NpZXJzUGFybGVtZW50YWlyZXMpIHtcbiAgICAgICAgY29uc3QgdGl0cmVEb3NzaWVyID0gZG9zc2llci50aXRyZURvc3NpZXJcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRpdHJlRG9zc2llci5zZW5hdENoZW1pbiAmJlxuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pblt0aXRyZURvc3NpZXIuc2VuYXRDaGVtaW5dID09PVxuICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pblt0aXRyZURvc3NpZXIuc2VuYXRDaGVtaW5dID0gZG9zc2llclxuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aXRyZURvc3NpZXIudGl0cmVDaGVtaW4gJiZcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VGl0cmVDaGVtaW5bdGl0cmVEb3NzaWVyLnRpdHJlQ2hlbWluXSA9PT1cbiAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VGl0cmVDaGVtaW5bdGl0cmVEb3NzaWVyLnRpdHJlQ2hlbWluXSA9IGRvc3NpZXJcbiAgICAgICAgfVxuICAgICAgICBpZiAoZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZFtkb3NzaWVyLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWRbZG9zc2llci51aWRdID0gZG9zc2llclxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcGhvdG9CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5QaG90b3MpIHtcbiAgICBjb25zdCBwaG90b0J5VWlkID0ge31cblxuICAgIHtcbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBgcGhvdG9zX2RlcHV0ZXNfJHtcbiAgICAgICAgICAvLyBUT0RPOiBIYW5kbGUgTGVnaXNsYXR1cmUuQWxsLlxuICAgICAgICAgIGxlZ2lzbGF0dXJlID09PSBMZWdpc2xhdHVyZS5BbGwgPyBMZWdpc2xhdHVyZS5TZWl6ZSA6IGxlZ2lzbGF0dXJlXG4gICAgICAgIH1gLFxuICAgICAgICBcImRlcHV0ZXMuanNvblwiLFxuICAgICAgKVxuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoanNvbkZpbGVQYXRoKSkge1xuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgICBPYmplY3QuYXNzaWduKHBob3RvQnlVaWQsIEpTT04ucGFyc2UoanNvbikpXG4gICAgICB9IGVsc2UgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgSWdub3JpbmcgbWlzc2luZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgIH1cblxuICAgIHtcbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBcInBob3Rvc19zZW5hdGV1cnNcIixcbiAgICAgICAgXCJzZW5hdGV1cnMuanNvblwiLFxuICAgICAgKVxuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoanNvbkZpbGVQYXRoKSkge1xuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgICBPYmplY3QuYXNzaWduKHBob3RvQnlVaWQsIEpTT04ucGFyc2UoanNvbikpXG4gICAgICB9IGVsc2UgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgSWdub3JpbmcgbWlzc2luZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNjcnV0aW5CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBTY3J1dGluIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlNjcnV0aW5zKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLnNjcnV0aW5zKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgY29uc3Qgc2NydXRpbnMgPSBTY3J1dGluc0NvbnZlcnQudG9TY3J1dGlucyhqc29uKVxuICAgICAgZm9yIChjb25zdCBzY3J1dGluIG9mIHNjcnV0aW5zLnNjcnV0aW5zKSB7XG4gICAgICAgIGlmIChzY3J1dGluQnlVaWRbc2NydXRpbi51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzY3J1dGluQnlVaWRbc2NydXRpbi51aWRdID0gc2NydXRpblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcXVlc3Rpb25CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBRdWVzdGlvbiB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5RdWVzdGlvbnMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMucXVlc3Rpb25zKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgY29uc3QgcXVlc3Rpb25zID0gUXVlc3Rpb25zQ29udmVydC50b1F1ZXN0aW9ucyhqc29uKVxuICAgICAgZm9yIChjb25zdCBxdWVzdGlvbiBvZiBxdWVzdGlvbnMucXVlc3Rpb25zKSB7XG4gICAgICAgIGlmIChxdWVzdGlvbkJ5VWlkW3F1ZXN0aW9uLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHF1ZXN0aW9uQnlVaWRbcXVlc3Rpb24udWlkXSA9IHF1ZXN0aW9uXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBjb21wdGVSZW5kdUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IENvbXB0ZVJlbmR1IH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkNvbXB0ZXNSZW5kdXNTZWFuY2VzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmNvbXB0ZXNSZW5kdXNTZWFuY2VzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgY29uc3QgY29tcHRlc1JlbmR1cyA9IENvbXB0ZXNSZW5kdXNDb252ZXJ0LnRvQ29tcHRlc1JlbmR1cyhqc29uKVxuICAgICAgZm9yIChjb25zdCBjb21wdGVSZW5kdSBvZiBjb21wdGVzUmVuZHVzLmNvbXB0ZXNSZW5kdXMpIHtcbiAgICAgICAgaWYgKGNvbXB0ZVJlbmR1QnlVaWRbY29tcHRlUmVuZHUudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY29tcHRlUmVuZHVCeVVpZFtjb21wdGVSZW5kdS51aWRdID0gY29tcHRlUmVuZHVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYWN0ZXVyQnlVaWQsXG4gICAgYW1lbmRlbWVudEJ5VWlkLFxuICAgIGRvY3VtZW50QnlVaWQsXG4gICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluLFxuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pbixcbiAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkLFxuICAgIG9yZ2FuZUJ5VWlkLFxuICAgIHBob3RvQnlVaWQsXG4gICAgcmV1bmlvbkJ5VWlkLFxuICAgIHJldW5pb25zQnlEYXksXG4gICAgcmV1bmlvbnNCeURvc3NpZXJVaWQsXG4gICAgc2NydXRpbkJ5VWlkLFxuICAgIHF1ZXN0aW9uQnlVaWQsXG4gICAgY29tcHRlUmVuZHVCeVVpZCxcbiAgfVxufVxuXG4vKipcbiAqIFJlYWQgaW5mb3Mgb2YgYSBkb2N1bWVudCBvciBhIGRpdmlzaW9uIG9mIGEgZG9jdW1lbnQgZnJvbSBmaWxlIHN5c3RlbVxuICpcbiAqIEBwYXJhbSBkYXRhRGlyXG4gKiBAcGFyYW0gdWlkIFVJRCBvZiBhIGRvY3VtZW50IG9yIGEgZGl2aXNpb25cbiAqIEBwYXJhbSBmb3JtYXRzIHJlcXVlc3RlZCBmb3JtYXRzIG9mIHRoZSBkb2N1bWVudCBpbiBkZWNyZWFzaW5nIHByZWZlcmVuY2Ugb3JkZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBc3NlbWJsZWVEb2N1bWVudEZpbGUoXG4gIGRhdGFEaXI6IHN0cmluZyxcbiAgdWlkOiBzdHJpbmcsXG4gIGZvcm1hdHM6IERvY3VtZW50VXJsRm9ybWF0W10sXG4pOlxuICB8IHtcbiAgICAgIGZvcm1hdDogRG9jdW1lbnRVcmxGb3JtYXRcbiAgICAgIHBhdGg6IHN0cmluZ1xuICAgICAgdXJsOiBzdHJpbmdcbiAgICB9XG4gIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZG9jdW1lbnRzRGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIFwiRG9jdW1lbnRzXCIpXG4gIGNvbnN0IGRvY3VtZW50RGlyID0gcGF0aEZyb21Eb2N1bWVudFVpZChkb2N1bWVudHNEaXIsIHVpZClcbiAgY29uc3QgaW5kZXhQYXRoID0gcGF0aC5qb2luKGRvY3VtZW50RGlyLCBcImluZGV4Lmpzb25cIilcbiAgaWYgKCFmcy5wYXRoRXhpc3RzU3luYyhpbmRleFBhdGgpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGluZGV4ID0gZnMucmVhZEpzb25TeW5jKGluZGV4UGF0aCkgYXMgRG9jdW1lbnRGaWxlc0luZGV4XG4gIGZvciAoY29uc3QgZm9ybWF0IG9mIGZvcm1hdHMpIHtcbiAgICBmb3IgKGNvbnN0IHsgZmlsZW5hbWUsIHVybCB9IG9mIGluZGV4W2Zvcm1hdF0gPz8gW10pIHtcbiAgICAgIGlmIChmaWxlbmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICByZXR1cm4geyBmb3JtYXQsIHBhdGg6IHBhdGguam9pbihkb2N1bWVudERpciwgZmlsZW5hbWUpLCB1cmwgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQXNzZW1ibGVlUGhvdG9zRGVwdXRlcyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9IHtcbiAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgZGF0YURpcixcbiAgICBgcGhvdG9zX2RlcHV0ZXNfJHtcbiAgICAgIC8vIFRPRE86IEhhbmRsZSBMZWdpc2xhdHVyZS5BbGwuXG4gICAgICBsZWdpc2xhdHVyZSA9PT0gTGVnaXNsYXR1cmUuQWxsID8gTGVnaXNsYXR1cmUuU2VpemUgOiBsZWdpc2xhdHVyZVxuICAgIH1gLFxuICAgIFwiZGVwdXRlcy5qc29uXCIsXG4gIClcbiAgaWYgKGxvZykge1xuICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gIH1cbiAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgcmV0dXJuIEpTT04ucGFyc2UoanNvbikgYXMgeyBbdWlkOiBzdHJpbmddOiBQaG90byB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQXNzZW1ibGVlUGhvdG9zU2VuYXRldXJzKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9IHtcbiAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgZGF0YURpcixcbiAgICBcInBob3Rvc19zZW5hdGV1cnNcIixcbiAgICBcInNlbmF0ZXVycy5qc29uXCIsXG4gIClcbiAgaWYgKGxvZykge1xuICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gIH1cbiAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgcmV0dXJuIEpTT04ucGFyc2UoanNvbikgYXMgeyBbdWlkOiBzdHJpbmddOiBQaG90byB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRoRnJvbURvY3VtZW50VWlkKGRvY3VtZW50c0Rpcjogc3RyaW5nLCB1aWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG1hdGNoID0gdWlkLm1hdGNoKGRvY3VtZW50VWlkUmVnZXgpXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICBtYXRjaCxcbiAgICBudWxsLFxuICAgIGBVbmV4cGVjdGVkIHN0cnVjdHVyZSBmb3IgZG9jdW1lbnQgVUlEOiAke3VpZH1gLFxuICApXG4gIGNvbnN0IGdyb3VwcyA9IG1hdGNoIS5ncm91cHMgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICBjb25zdCBkb2N1bWVudFR5cGUgPSBwYXRoLmpvaW4oXG4gICAgZG9jdW1lbnRzRGlyLFxuICAgIGdyb3Vwcy5kb2N1bWVudFR5cGUgPz8gZ3JvdXBzLmRvY3VtZW50VHlwZTIsXG4gIClcbiAgY29uc3QgY2hhbWJyZURpciA9IHBhdGguam9pbihkb2N1bWVudFR5cGUsIGdyb3Vwcy5jaGFtYnJlID8/IGdyb3Vwcy5jaGFtYnJlMilcbiAgY29uc3QgcmVwdWJsaXF1ZURpciA9IHBhdGguam9pbihcbiAgICBjaGFtYnJlRGlyLFxuICAgIGdyb3Vwcy5yZXB1YmxpcXVlID8/IGdyb3Vwcy5yZXB1YmxpcXVlMixcbiAgKVxuICBjb25zdCBsZWdpc2xhdHVyZURpciA9IHBhdGguam9pbihcbiAgICByZXB1YmxpcXVlRGlyLFxuICAgIGdyb3Vwcy5sZWdpc2xhdHVyZSA/PyBncm91cHMubGVnaXNsYXR1cmUyLFxuICApXG4gIGNvbnN0IGV0YXQgPSBncm91cHMuZXRhdFxuICBpZiAoZXRhdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZnMuZW5zdXJlRGlyU3luYyhsZWdpc2xhdHVyZURpcilcbiAgICByZXR1cm4gcGF0aC5qb2luKGxlZ2lzbGF0dXJlRGlyLCB1aWQpXG4gIH1cbiAgY29uc3QgZXRhdERpciA9IHBhdGguam9pbihsZWdpc2xhdHVyZURpciwgZXRhdClcbiAgbGV0IG51bWVybyA9IFwiMDAwMDAwXCIgKyAoZ3JvdXBzLm51bWVybyA/PyBncm91cHMubnVtZXJvMilcbiAgbnVtZXJvID0gbnVtZXJvLnN1YnN0cmluZyhudW1lcm8ubGVuZ3RoIC0gNilcbiAgY29uc3QgbnVtZXJvTWlsbGllcnNEaXIgPSBwYXRoLmpvaW4oZXRhdERpciwgbnVtZXJvLnN1YnN0cmluZygwLCAzKSlcbiAgZnMuZW5zdXJlRGlyU3luYyhudW1lcm9NaWxsaWVyc0RpcilcbiAgcmV0dXJuIHBhdGguam9pbihudW1lcm9NaWxsaWVyc0RpciwgdWlkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0aEZyb21Eb3NzaWVyUGFybGVtZW50YWlyZVVpZChcbiAgZG9zc2llcnNEaXI6IHN0cmluZyxcbiAgdWlkOiBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICBjb25zdCBtYXRjaCA9IGRvc3NpZXJVaWRSZWdleC5leGVjKHVpZClcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIG1hdGNoLFxuICAgIG51bGwsXG4gICAgYFVuZXhwZWN0ZWQgc3RydWN0dXJlIGZvciBkb3NzaWVyIHBhcmxlbWVudGFpcmUgVUlEOiAke3VpZH1gLFxuICApXG4gIGNvbnN0IHJlcHVibGlxdWVEaXIgPSBwYXRoLmpvaW4oZG9zc2llcnNEaXIsIG1hdGNoIVsxXSlcbiAgY29uc3QgbGVnaXNsYXR1cmVEaXIgPSBwYXRoLmpvaW4ocmVwdWJsaXF1ZURpciwgbWF0Y2ghWzJdKVxuICBsZXQgbnVtZXJvID0gXCIwMDAwMDBcIiArIG1hdGNoIVszXVxuICBudW1lcm8gPSBudW1lcm8uc3Vic3RyaW5nKG51bWVyby5sZW5ndGggLSA2KVxuICBjb25zdCBudW1lcm9NaWxsaWVyc0RpciA9IHBhdGguam9pbihsZWdpc2xhdHVyZURpciwgbnVtZXJvLnN1YnN0cmluZygwLCAzKSlcbiAgZnMuZW5zdXJlRGlyU3luYyhudW1lcm9NaWxsaWVyc0RpcilcbiAgcmV0dXJuIHBhdGguam9pbihudW1lcm9NaWxsaWVyc0RpciwgdWlkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0aEZyb21SZXVuaW9uVWlkKHJldW5pb25zRGlyOiBzdHJpbmcsIHVpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbWF0Y2ggPSByZXVuaW9uVWlkUmVnZXguZXhlYyh1aWQpXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICBtYXRjaCxcbiAgICBudWxsLFxuICAgIGBVbmV4cGVjdGVkIHN0cnVjdHVyZSBmb3IgcmV1bmlvbiBVSUQ6ICR7dWlkfWAsXG4gIClcbiAgY29uc3QgY2hhbWJyZURpciA9IHBhdGguam9pbihyZXVuaW9uc0RpciwgbWF0Y2ghWzFdKVxuICBjb25zdCByZXB1YmxpcXVlRGlyID0gcGF0aC5qb2luKGNoYW1icmVEaXIsIG1hdGNoIVsyXSlcbiAgY29uc3QgbGVnaXNsYXR1cmVEaXIgPSBwYXRoLmpvaW4ocmVwdWJsaXF1ZURpciwgbWF0Y2ghWzNdKVxuICBjb25zdCBzZXNzaW9uRGlyID0gcGF0aC5qb2luKGxlZ2lzbGF0dXJlRGlyLCBtYXRjaCFbNF0pXG4gIGNvbnN0IGlkRGlyID0gcGF0aC5qb2luKHNlc3Npb25EaXIsIG1hdGNoIVs1XSlcbiAgbGV0IG51bWVybyA9IFwiMDAwMDAwMDAwXCIgKyBtYXRjaCFbNl1cbiAgbnVtZXJvID0gbnVtZXJvLnN1YnN0cmluZyhudW1lcm8ubGVuZ3RoIC0gOSlcbiAgY29uc3QgbnVtZXJvTWlsbGlvbnNEaXIgPSBwYXRoLmpvaW4oaWREaXIsIG51bWVyby5zdWJzdHJpbmcoMCwgMykpXG4gIGNvbnN0IG51bWVyb01pbGxpZXJzRGlyID0gcGF0aC5qb2luKG51bWVyb01pbGxpb25zRGlyLCBudW1lcm8uc3Vic3RyaW5nKDMsIDMpKVxuICBmcy5lbnN1cmVEaXJTeW5jKG51bWVyb01pbGxpZXJzRGlyKVxuICByZXR1cm4gcGF0aC5qb2luKG51bWVyb01pbGxpZXJzRGlyLCB1aWQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRoRnJvbVNjcnV0aW5VaWQoc2NydXRpbnNEaXI6IHN0cmluZywgdWlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBtYXRjaCA9IHNjcnV0aW5VaWRSZWdleC5leGVjKHVpZClcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIG1hdGNoLFxuICAgIG51bGwsXG4gICAgYFVuZXhwZWN0ZWQgc3RydWN0dXJlIGZvciBzY3J1dGluIFVJRDogJHt1aWR9YCxcbiAgKVxuICBjb25zdCByZXB1YmxpcXVlRGlyID0gcGF0aC5qb2luKHNjcnV0aW5zRGlyLCBtYXRjaCFbMV0pXG4gIGNvbnN0IGxlZ2lzbGF0dXJlRGlyID0gcGF0aC5qb2luKHJlcHVibGlxdWVEaXIsIG1hdGNoIVsyXSlcbiAgbGV0IG51bWVybyA9IFwiMDAwMDAwXCIgKyBtYXRjaCFbM11cbiAgbnVtZXJvID0gbnVtZXJvLnN1YnN0cmluZyhudW1lcm8ubGVuZ3RoIC0gNilcbiAgY29uc3QgbnVtZXJvTWlsbGllcnNEaXIgPSBwYXRoLmpvaW4obGVnaXNsYXR1cmVEaXIsIG51bWVyby5zdWJzdHJpbmcoMCwgMykpXG4gIGZzLmVuc3VyZURpclN5bmMobnVtZXJvTWlsbGllcnNEaXIpXG4gIHJldHVybiBwYXRoLmpvaW4obnVtZXJvTWlsbGllcnNEaXIsIHVpZClcbn1cblxuLy8gR2V0IHN0YW5kYXJkIHBhdGggZm9yIG9iamVjdCB3aXRoIHVpZCA6IHJlcHVibGlxdWUgPiBsZWdpc2xhdHVyZSA+IGdyb3VwIG9iamVjdHMgYnkgdGhvdXNhbmRzXG5leHBvcnQgZnVuY3Rpb24gcGF0aEZyb21VaWQoXG4gIGRhdGFEaXI6IHN0cmluZyxcbiAgdWlkOiBzdHJpbmcsXG4gIGRhdGFSZWdleHA6IFJlZ0V4cCxcbik6IHN0cmluZyB7XG4gIGNvbnN0IG1hdGNoID0gZGF0YVJlZ2V4cC5leGVjKHVpZClcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIG1hdGNoLFxuICAgIG51bGwsXG4gICAgYFVuZXhwZWN0ZWQgc3RydWN0dXJlIGZvciBvYmplY3Qgd2l0aCBVSUQ6ICR7dWlkfWAsXG4gIClcbiAgY29uc3QgcmVwdWJsaXF1ZURpciA9IHBhdGguam9pbihkYXRhRGlyLCBtYXRjaCFbMV0pXG4gIGNvbnN0IGxlZ2lzbGF0dXJlRGlyID0gcGF0aC5qb2luKHJlcHVibGlxdWVEaXIsIG1hdGNoIVsyXSlcbiAgbGV0IG51bWVybyA9IFwiMDAwMDAwXCIgKyBtYXRjaCFbM11cbiAgbnVtZXJvID0gbnVtZXJvLnN1YnN0cmluZyhudW1lcm8ubGVuZ3RoIC0gNilcbiAgY29uc3QgbnVtZXJvTWlsbGllcnNEaXIgPSBwYXRoLmpvaW4obGVnaXNsYXR1cmVEaXIsIG51bWVyby5zdWJzdHJpbmcoMCwgMykpXG4gIGZzLmVuc3VyZURpclN5bmMobnVtZXJvTWlsbGllcnNEaXIpXG4gIHJldHVybiBwYXRoLmpvaW4obnVtZXJvTWlsbGllcnNEaXIsIHVpZClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFGLHNC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
2127
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZnNFeHRyYSIsIl9wYXRoIiwiX2RhdGFzZXRzIiwiX2ZpbGVfc3lzdGVtcyIsIl9hY3RldXJzX2V0X29yZ2FuZXMiLCJfYWdlbmRhcyIsIl9hbWVuZGVtZW50cyIsIl9kb3NzaWVyc19sZWdpc2xhdGlmcyIsIl9sZWdpc2xhdHVyZXMiLCJfc2NydXRpbnMiLCJfcXVlc3Rpb25zIiwiX2RlYmF0cyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiYXJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIml0ZXIiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsImFsbG93QXJyYXlMaWtlIiwiaXQiLCJGIiwiX2UiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwic3RlcCIsIl9lMiIsIm1pbkxlbiIsInRvU3RyaW5nIiwidGVzdCIsImxlbiIsImFycjIiLCJfd3JhcFJlZ0V4cCIsIkJhYmVsUmVnRXhwIiwiUmVnRXhwIiwiV2Vha01hcCIsInNldCIsImdldCIsIl9zZXRQcm90b3R5cGVPZiIsImJ1aWxkR3JvdXBzIiwicmVkdWNlIiwiX2luaGVyaXRzIiwiZXhlYyIsImdyb3VwcyIsImluZGljZXMiLCJyZXBsYWNlIiwiam9pbiIsImFyZ3VtZW50cyIsImFwcGx5Iiwic3ViQ2xhc3MiLCJzdXBlckNsYXNzIiwiYmluZCIsImRvY3VtZW50VWlkUmVnZXgiLCJkb2N1bWVudFR5cGUiLCJjaGFtYnJlIiwicmVwdWJsaXF1ZSIsImxlZ2lzbGF0dXJlIiwiZXRhdCIsIm51bWVybyIsImRvY3VtZW50VHlwZTIiLCJjaGFtYnJlMiIsInJlcHVibGlxdWUyIiwibGVnaXNsYXR1cmUyIiwibnVtZXJvMiIsImRvc3NpZXJVaWRSZWdleCIsInJldW5pb25VaWRSZWdleCIsInNjcnV0aW5VaWRSZWdleCIsIml0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyIsImRhdGFEaXIiLCJfcmVmIiwidW5kZWZpbmVkIiwiX3JlZiRsb2ciLCJsb2ciLCJfY2FsbGVlIiwiYWN0ZXVyc1VpZCIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZGF0YXNldCIsImRhdGFzZXREaXIiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiYWN0ZXVyU3BsaXRQYXRoIiwiYWN0ZXVyRmlsZW5hbWUiLCJhY3RldXJGaWxlUGF0aCIsImFjdGV1ckpzb24iLCJhY3RldXIiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiU2V0IiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiaWdub3JlRm9yV2ViIiwiTGVnaXNsYXR1cmUiLCJBbGwiLCJwYXRoIiwiZmlsZW5hbWUiLCJ3YWxrRGlyIiwiZW5kc1dpdGgiLCJjb25jYXQiLCJjb25zb2xlIiwiZnMiLCJyZWFkRmlsZVN5bmMiLCJlbmNvZGluZyIsIkFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0IiwidG9BY3RldXIiLCJoYXMiLCJ1aWQiLCJhZGQiLCJkYXRhc2V0TGVnaXNsYXR1cmUiLCJ0MCIsInQxIiwiaXRlckxvYWRBc3NlbWJsZWVBbWVuZGVtZW50cyIsIl9yZWYyIiwiX3JlZjIkbG9nIiwiX2NhbGxlZTIiLCJhbWVuZGVtZW50c1VpZCIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiYW1lbmRlbWVudFNwbGl0UGF0aCIsImFtZW5kZW1lbnRGaWxlbmFtZSIsImFtZW5kZW1lbnRGaWxlUGF0aCIsImFtZW5kZW1lbnRKc29uIiwiYW1lbmRlbWVudCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImFtZW5kZW1lbnRzIiwiQW1lbmRlbWVudHNDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwiaXRlckxvYWRBc3NlbWJsZWVEb2N1bWVudHMiLCJfcmVmMyIsIl9yZWYzJGxvZyIsIl9jYWxsZWUzIiwiZG9jdW1lbnRzVWlkIiwiX2l0ZXJhdG9yNSIsIl9zdGVwNSIsIl9pdGVyYXRvcjYiLCJfc3RlcDYiLCJkb2N1bWVudFNwbGl0UGF0aCIsImRvY3VtZW50RmlsZW5hbWUiLCJkb2N1bWVudEZpbGVQYXRoIiwiZG9jdW1lbnRKc29uIiwiZG9jdW1lbnQiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwiRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQiLCJ0b0RvY3VtZW50IiwiaXRlckxvYWRBc3NlbWJsZWVEb3NzaWVyc1BhcmxlbWVudGFpcmVzIiwiX3JlZjQiLCJfcmVmNCRsb2ciLCJfY2FsbGVlNCIsImRvc3NpZXJzUGFybGVtZW50YWlyZXNVaWQiLCJfaXRlcmF0b3I3IiwiX3N0ZXA3IiwiX2l0ZXJhdG9yOCIsIl9zdGVwOCIsImRvc3NpZXJQYXJsZW1lbnRhaXJlU3BsaXRQYXRoIiwiZG9zc2llclBhcmxlbWVudGFpcmVGaWxlbmFtZSIsImRvc3NpZXJQYXJsZW1lbnRhaXJlRmlsZVBhdGgiLCJkb3NzaWVyUGFybGVtZW50YWlyZUpzb24iLCJkb3NzaWVyUGFybGVtZW50YWlyZSIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsInRvRG9zc2llclBhcmxlbWVudGFpcmUiLCJpdGVyTG9hZEFzc2VtYmxlZU9yZ2FuZXMiLCJfcmVmNSIsIl9yZWY1JGxvZyIsIl9jYWxsZWU1Iiwib3JnYW5lc1VpZCIsIl9pdGVyYXRvcjkiLCJfc3RlcDkiLCJfaXRlcmF0b3IxMCIsIl9zdGVwMTAiLCJvcmdhbmVTcGxpdFBhdGgiLCJvcmdhbmVGaWxlbmFtZSIsIm9yZ2FuZUZpbGVQYXRoIiwib3JnYW5lSnNvbiIsIm9yZ2FuZSIsIl9jYWxsZWU1JCIsIl9jb250ZXh0NSIsInRvT3JnYW5lIiwiaXRlckxvYWRBc3NlbWJsZWVSZXVuaW9ucyIsIl9yZWY2IiwiX3JlZjYkbG9nIiwiX2NhbGxlZTYiLCJyZXVuaW9uc1VpZCIsIl9pdGVyYXRvcjExIiwiX3N0ZXAxMSIsIl9pdGVyYXRvcjEyIiwiX3N0ZXAxMiIsInJldW5pb25TcGxpdFBhdGgiLCJyZXVuaW9uRmlsZW5hbWUiLCJyZXVuaW9uRmlsZVBhdGgiLCJyZXVuaW9uSnNvbiIsInJldW5pb24iLCJfY2FsbGVlNiQiLCJfY29udGV4dDYiLCJhZ2VuZGFzIiwiQWdlbmRhc0NvbnZlcnQiLCJ0b1JldW5pb24iLCJpdGVyTG9hZEFzc2VtYmxlZVNjcnV0aW5zIiwiX3JlZjciLCJfcmVmNyRsb2ciLCJfY2FsbGVlNyIsInNjcnV0aW5zVWlkIiwiX2l0ZXJhdG9yMTMiLCJfc3RlcDEzIiwiX2l0ZXJhdG9yMTQiLCJfc3RlcDE0Iiwic2NydXRpblNwbGl0UGF0aCIsInNjcnV0aW5GaWxlbmFtZSIsInNjcnV0aW5GaWxlUGF0aCIsInNjcnV0aW5Kc29uIiwic2NydXRpbiIsIl9jYWxsZWU3JCIsIl9jb250ZXh0NyIsInNjcnV0aW5zIiwiU2NydXRpbnNDb252ZXJ0IiwidG9TY3J1dGluIiwiaXRlckxvYWRBc3NlbWJsZWVRdWVzdGlvbnMiLCJfcmVmOCIsIl9yZWY4JGxvZyIsIl9jYWxsZWU4IiwicXVlc3Rpb25zVWlkIiwiX2l0ZXJhdG9yMTUiLCJfc3RlcDE1IiwiX2l0ZXJhdG9yMTYiLCJfc3RlcDE2IiwicXVlc3Rpb25TcGxpdFBhdGgiLCJxdWVzdGlvbkZpbGVuYW1lIiwicXVlc3Rpb25GaWxlUGF0aCIsInF1ZXN0aW9uSnNvbiIsInF1ZXN0aW9uIiwiX2NhbGxlZTgkIiwiX2NvbnRleHQ4IiwicXVlc3Rpb25zIiwiUXVlc3Rpb25zQ29udmVydCIsInRvUXVlc3Rpb24iLCJpdGVyTG9hZEFzc2VtYmxlZUNvbXB0ZXNSZW5kdXMiLCJfcmVmOSIsIl9yZWY5JGxvZyIsIl9jYWxsZWU5IiwiY29tcHRlc1JlbmR1c1VpZCIsIl9pdGVyYXRvcjE3IiwiX3N0ZXAxNyIsIl9pdGVyYXRvcjE4IiwiX3N0ZXAxOCIsImNvbXB0ZVJlbmR1U3BsaXRQYXRoIiwiY29tcHRlUmVuZHVGaWxlbmFtZSIsImNvbXB0ZVJlbmR1RmlsZVBhdGgiLCJjb21wdGVSZW5kdUpzb24iLCJjb21wdGVSZW5kdSIsIl9jYWxsZWU5JCIsIl9jb250ZXh0OSIsImNvbXB0ZXNSZW5kdXNTZWFuY2VzIiwiQ29tcHRlc1JlbmR1c0NvbnZlcnQiLCJ0b0NvbXB0ZVJlbmR1IiwibG9hZEFzc2VtYmxlZURhdGEiLCJlbmFibGVkRGF0YXNldHMiLCJfcmVmMTAiLCJfcmVmMTAkbG9nIiwiYWN0ZXVyQnlVaWQiLCJvcmdhbmVCeVVpZCIsIkVuYWJsZWREYXRhc2V0cyIsIkFjdGV1cnNFdE9yZ2FuZXMiLCJfaXRlcmF0b3IxOSIsIl9zdGVwMTkiLCJfaXRlcmF0b3IyMCIsIl9zdGVwMjAiLCJfaXRlcmF0b3IyMSIsIl9zdGVwMjEiLCJyZXVuaW9uQnlVaWQiLCJyZXVuaW9uc0J5RGF5IiwicmV1bmlvbnNCeURvc3NpZXJVaWQiLCJBZ2VuZGFzIiwiX2l0ZXJhdG9yMjIiLCJfc3RlcDIyIiwiX2l0ZXJhdG9yMjMiLCJfc3RlcDIzIiwiZGF5IiwidGltZXN0YW1wRGVidXQiLCJ0b0lTT1N0cmluZyIsInNwbGl0IiwicmV1bmlvbnNBdERheSIsIm9kaiIsIl9pdGVyYXRvcjI0IiwicG9pbnRzT2RqIiwiX3N0ZXAyNCIsInBvaW50T2RqIiwiX2l0ZXJhdG9yMjUiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyIsIl9zdGVwMjUiLCJkb3NzaWVyTGVnaXNsYXRpZlJlZiIsInJldW5pb25zQXREb3NzaWVyVWlkIiwiYW1lbmRlbWVudEJ5VWlkIiwiQW1lbmRlbWVudHMiLCJfaXRlcmF0b3IyNiIsIl9zdGVwMjYiLCJfaXRlcmF0b3IyNyIsIl9zdGVwMjciLCJkb2N1bWVudEJ5VWlkIiwiZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluIiwiZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluIiwiZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZCIsIkRvc3NpZXJzTGVnaXNsYXRpZnMiLCJfaXRlcmF0b3IyOCIsIl9zdGVwMjgiLCJfaXRlcmF0b3IyOSIsIl9zdGVwMjkiLCJfaXRlcmF0b3IzMCIsIl9zdGVwMzAiLCJkb3NzaWVyU3BsaXRQYXRoIiwiZG9zc2llckZpbGVuYW1lIiwiZG9zc2llckZpbGVQYXRoIiwiZG9zc2llckpzb24iLCJkb3NzaWVyIiwidGl0cmVEb3NzaWVyIiwic2VuYXRDaGVtaW4iLCJ0aXRyZUNoZW1pbiIsInBob3RvQnlVaWQiLCJQaG90b3MiLCJqc29uRmlsZVBhdGgiLCJTZWl6ZSIsImV4aXN0c1N5bmMiLCJqc29uIiwiYXNzaWduIiwiSlNPTiIsInBhcnNlIiwic2NydXRpbkJ5VWlkIiwiU2NydXRpbnMiLCJfaXRlcmF0b3IzMSIsIl9zdGVwMzEiLCJfaXRlcmF0b3IzMiIsIl9zdGVwMzIiLCJxdWVzdGlvbkJ5VWlkIiwiUXVlc3Rpb25zIiwiX2l0ZXJhdG9yMzMiLCJfc3RlcDMzIiwiX2l0ZXJhdG9yMzQiLCJfc3RlcDM0IiwiY29tcHRlUmVuZHVCeVVpZCIsIkNvbXB0ZXNSZW5kdXNTZWFuY2VzIiwiX2l0ZXJhdG9yMzUiLCJfc3RlcDM1IiwiX2l0ZXJhdG9yMzYiLCJfc3RlcDM2IiwiY29tcHRlUmVuZHVQYXRoIiwibG9hZEFzc2VtYmxlZURhdGFGcm9tQmlnRmlsZXMiLCJfcmVmMTEiLCJfcmVmMTEkbG9nIiwiX2l0ZXJhdG9yMzciLCJfc3RlcDM3IiwidG9BY3RldXJzRXRPcmdhbmVzIiwiX2l0ZXJhdG9yMzgiLCJhY3RldXJzIiwiX3N0ZXAzOCIsIl9pdGVyYXRvcjM5Iiwib3JnYW5lcyIsIl9zdGVwMzkiLCJfaXRlcmF0b3I0MCIsIl9zdGVwNDAiLCJ0b0FnZW5kYXMiLCJfaXRlcmF0b3I0MSIsInJldW5pb25zIiwiX3N0ZXA0MSIsIl9pdGVyYXRvcjQyIiwiX3N0ZXA0MiIsIl9pdGVyYXRvcjQzIiwiX3N0ZXA0MyIsIl9pdGVyYXRvcjQ0IiwiX3N0ZXA0NCIsInRvQW1lbmRlbWVudHMiLCJfaXRlcmF0b3I0NSIsInRleHRlc0xlZ2lzbGF0aWZzIiwiX3N0ZXA0NSIsInRleHRlTGVnaXNsYXRpZiIsIl9pdGVyYXRvcjQ2IiwiX3N0ZXA0NiIsIl9pdGVyYXRvcjQ3IiwiX3N0ZXA0NyIsInRvRG9zc2llcnNMZWdpc2xhdGlmcyIsIl9pdGVyYXRvcjQ4IiwiX3N0ZXA0OCIsIl9pdGVyYXRvcjQ5IiwiZG9zc2llcnNQYXJsZW1lbnRhaXJlcyIsIl9zdGVwNDkiLCJfaXRlcmF0b3I1MCIsIl9zdGVwNTAiLCJ0b1NjcnV0aW5zIiwiX2l0ZXJhdG9yNTEiLCJfc3RlcDUxIiwiX2l0ZXJhdG9yNTIiLCJfc3RlcDUyIiwidG9RdWVzdGlvbnMiLCJfaXRlcmF0b3I1MyIsIl9zdGVwNTMiLCJfaXRlcmF0b3I1NCIsIl9zdGVwNTQiLCJjb21wdGVzUmVuZHVzIiwidG9Db21wdGVzUmVuZHVzIiwiX2l0ZXJhdG9yNTUiLCJfc3RlcDU1IiwibG9hZEFzc2VtYmxlZURvY3VtZW50RmlsZSIsImZvcm1hdHMiLCJkb2N1bWVudHNEaXIiLCJkb2N1bWVudERpciIsInBhdGhGcm9tRG9jdW1lbnRVaWQiLCJpbmRleFBhdGgiLCJwYXRoRXhpc3RzU3luYyIsImluZGV4IiwicmVhZEpzb25TeW5jIiwiX2l0ZXJhdG9yNTYiLCJfc3RlcDU2IiwiX2luZGV4JGZvcm1hdCIsImZvcm1hdCIsIl9pdGVyYXRvcjU3IiwiX3N0ZXA1NyIsIl9zdGVwNTckdmFsdWUiLCJ1cmwiLCJsb2FkQXNzZW1ibGVlUGhvdG9zRGVwdXRlcyIsIl9yZWYxMiIsIl9yZWYxMiRsb2ciLCJsb2FkQXNzZW1ibGVlUGhvdG9zU2VuYXRldXJzIiwiX3JlZjEzIiwiX3JlZjEzJGxvZyIsIl9ncm91cHMkZG9jdW1lbnRUeXBlIiwiX2dyb3VwcyRjaGFtYnJlIiwiX2dyb3VwcyRyZXB1YmxpcXVlIiwiX2dyb3VwcyRsZWdpc2xhdHVyZSIsIl9ncm91cHMkbnVtZXJvIiwibWF0Y2giLCJhc3NlcnQiLCJub3RTdHJpY3RFcXVhbCIsImNoYW1icmVEaXIiLCJyZXB1YmxpcXVlRGlyIiwibGVnaXNsYXR1cmVEaXIiLCJlbnN1cmVEaXJTeW5jIiwiZXRhdERpciIsInN1YnN0cmluZyIsIm51bWVyb01pbGxpZXJzRGlyIiwicGF0aEZyb21Eb3NzaWVyUGFybGVtZW50YWlyZVVpZCIsImRvc3NpZXJzRGlyIiwicGF0aEZyb21SZXVuaW9uVWlkIiwicmV1bmlvbnNEaXIiLCJzZXNzaW9uRGlyIiwiaWREaXIiLCJudW1lcm9NaWxsaW9uc0RpciIsInBhdGhGcm9tU2NydXRpblVpZCIsInNjcnV0aW5zRGlyIiwicGF0aEZyb21VaWQiLCJkYXRhUmVnZXhwIl0sInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8vIExvYWQgZGF0YSBmcm9tIGZpbGVzXG5cbmltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IHsgRW5hYmxlZERhdGFzZXRzIH0gZnJvbSBcIi4vZGF0YXNldHNcIlxuaW1wb3J0IHsgZGF0YXNldHMsIEVuYWJsZWREYXRhc2V0cyB9IGZyb20gXCIuL2RhdGFzZXRzXCJcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnRGaWxlc0luZGV4IH0gZnJvbSBcIi4vZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuZXhwb3J0IHsgd2Fsa0RpciB9IGZyb20gXCIuL2ZpbGVfc3lzdGVtc1wiXG5pbXBvcnQgeyB3YWxrRGlyIH0gZnJvbSBcIi4vZmlsZV9zeXN0ZW1zXCJcbmltcG9ydCB7XG4gIEFjdGV1cixcbiAgQ29udmVydCBhcyBBY3RldXJzRXRPcmdhbmVzQ29udmVydCxcbiAgT3JnYW5lLFxuICBQaG90byxcbn0gZnJvbSBcIi4vdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgQWdlbmRhc0NvbnZlcnQsIFJldW5pb24gfSBmcm9tIFwiLi90eXBlcy9hZ2VuZGFzXCJcbmltcG9ydCB7IEFtZW5kZW1lbnQsIENvbnZlcnQgYXMgQW1lbmRlbWVudHNDb252ZXJ0IH0gZnJvbSBcIi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuaW1wb3J0IHtcbiAgQ29udmVydCBhcyBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydCxcbiAgRG9jdW1lbnQsXG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlLFxufSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5pbXBvcnQgeyBMZWdpc2xhdHVyZSB9IGZyb20gXCIuL3R5cGVzL2xlZ2lzbGF0dXJlc1wiXG5pbXBvcnQgeyBDb252ZXJ0IGFzIFNjcnV0aW5zQ29udmVydCwgU2NydXRpbiB9IGZyb20gXCIuL3R5cGVzL3NjcnV0aW5zXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgUXVlc3Rpb25zQ29udmVydCwgUXVlc3Rpb24gfSBmcm9tIFwiLi90eXBlcy9xdWVzdGlvbnNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBDb21wdGVzUmVuZHVzQ29udmVydCwgQ29tcHRlUmVuZHUgfSBmcm9tIFwiLi90eXBlcy9kZWJhdHNcIlxuaW1wb3J0IHsgRG9jdW1lbnRVcmxGb3JtYXQgfSBmcm9tIFwiLi91cmxzXCJcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhIHtcbiAgcmVhZG9ubHkgYWN0ZXVyQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogQWN0ZXVyIH1cbiAgcmVhZG9ubHkgYW1lbmRlbWVudEJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFtZW5kZW1lbnQgfVxuICByZWFkb25seSBkb2N1bWVudEJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvY3VtZW50IH1cbiAgcmVhZG9ubHkgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfVxuICByZWFkb25seSBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VGl0cmVDaGVtaW46IHtcbiAgICBbdWlkOiBzdHJpbmddOiBEb3NzaWVyUGFybGVtZW50YWlyZVxuICB9XG4gIHJlYWRvbmx5IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmUgfVxuICByZWFkb25seSBvcmdhbmVCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBPcmdhbmUgfVxuICByZWFkb25seSBwaG90b0J5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFBob3RvIH1cbiAgcmVhZG9ubHkgcmV1bmlvbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFJldW5pb24gfVxuICByZWFkb25seSByZXVuaW9uc0J5RGF5OiB7IFtkYXk6IHN0cmluZ106IFJldW5pb25bXSB9XG4gIHJlYWRvbmx5IHJldW5pb25zQnlEb3NzaWVyVWlkOiB7IFtkb3NzaWVyVWlkOiBzdHJpbmddOiBSZXVuaW9uW10gfVxuICByZWFkb25seSBzY3J1dGluQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogU2NydXRpbiB9XG4gIHJlYWRvbmx5IHF1ZXN0aW9uQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogUXVlc3Rpb24gfVxuICByZWFkb25seSBjb21wdGVSZW5kdUJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IENvbXB0ZVJlbmR1IH1cbn1cblxuY29uc3QgZG9jdW1lbnRVaWRSZWdleCA9XG4gIC9eKCg/PGRvY3VtZW50VHlwZT5BQ0lOfEFMQ058QVZDRXxBVklTfERFQ0x8RVRESXxMRVRUfE1FU1N8TUlPTnxQSU9OfFBOUkV8UFJKTHxSQVBQfFJJTkZ8UklPTikoPzxjaGFtYnJlPkFOfFNOKSg/PHJlcHVibGlxdWU+UlxcZCspW0xTXSg/PGxlZ2lzbGF0dXJlPlxcZCspKD88ZXRhdD5CfEJUQXxCVEN8VEFQKSg/PG51bWVybz5cXGQrKSgtLiopPyl8KCg/PGRvY3VtZW50VHlwZTI+TUlPTikoPzxjaGFtYnJlMj5BTnxTTikoPzxyZXB1YmxpcXVlMj5SXFxkKylbTFNdKD88bGVnaXNsYXR1cmUyPlxcZCspLU4oPzxudW1lcm8yPlxcZCspKSQvXG5jb25zdCBkb3NzaWVyVWlkUmVnZXggPSAvXkRMKFJcXGQrKShMXFxkKylOKFxcZCspJC9cbmNvbnN0IHJldW5pb25VaWRSZWdleCA9XG4gIC9eUlUoQU58Q0d8U04pKFJcXGQrKShMXFxkKykoW0FTXVxcZHs0fSkoSURDfElERkw/fElEUykoXFxkKykkL1xuY29uc3Qgc2NydXRpblVpZFJlZ2V4ID0gL15WVEFOKFJcXGQrKShMXFxkKylWKFxcZCspJC9cblxuZXhwb3J0IGZ1bmN0aW9uKiBpdGVyTG9hZEFzc2VtYmxlZUFjdGV1cnMoXG4gIGRhdGFEaXI6IHN0cmluZyxcbiAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLFxuICB7IGxvZyA9IGZhbHNlIH0gPSB7fSxcbik6IEdlbmVyYXRvcjxcbiAgeyBhY3RldXI6IEFjdGV1cjsgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgYWN0ZXVyc1VpZCA9IG5ldyBTZXQ8c3RyaW5nPigpXG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgZGF0YURpcixcbiAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgIClcblxuICAgIGZvciAoY29uc3QgYWN0ZXVyU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wiYWN0ZXVyc1wiXSkpIHtcbiAgICAgIGNvbnN0IGFjdGV1ckZpbGVuYW1lID0gYWN0ZXVyU3BsaXRQYXRoW2FjdGV1clNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFhY3RldXJGaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBhY3RldXJGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5hY3RldXJTcGxpdFBhdGgpXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7YWN0ZXVyRmlsZVBhdGh94oCmYClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFjdGV1ckpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhhY3RldXJGaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgICAgY29uc3QgYWN0ZXVyID0gQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9BY3RldXIoYWN0ZXVySnNvbilcbiAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwiYWN0ZXVyXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICBpZiAoYWN0ZXVyc1VpZC5oYXMoYWN0ZXVyLnVpZCkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGFjdGV1cnNVaWQuYWRkKGFjdGV1ci51aWQpXG4gICAgICB5aWVsZCB7IGFjdGV1ciwgZGF0YXNldExlZ2lzbGF0dXJlOiBkYXRhc2V0LmxlZ2lzbGF0dXJlIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBpdGVyTG9hZEFzc2VtYmxlZUFtZW5kZW1lbnRzKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiBHZW5lcmF0b3I8XG4gIHsgYW1lbmRlbWVudDogQW1lbmRlbWVudDsgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgYW1lbmRlbWVudHNVaWQgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYW1lbmRlbWVudHMpIHtcbiAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICBkYXRhRGlyLFxuICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgKVxuXG4gICAgZm9yIChjb25zdCBhbWVuZGVtZW50U3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlbmFtZSA9XG4gICAgICAgIGFtZW5kZW1lbnRTcGxpdFBhdGhbYW1lbmRlbWVudFNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFhbWVuZGVtZW50RmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgYW1lbmRlbWVudEZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmFtZW5kZW1lbnRTcGxpdFBhdGgpXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7YW1lbmRlbWVudEZpbGVQYXRofeKApmApXG4gICAgICB9XG4gICAgICBjb25zdCBhbWVuZGVtZW50SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGFtZW5kZW1lbnRGaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgICAgY29uc3QgYW1lbmRlbWVudCA9IEFtZW5kZW1lbnRzQ29udmVydC50b0FtZW5kZW1lbnQoYW1lbmRlbWVudEpzb24pXG4gICAgICBpZiAoYW1lbmRlbWVudHNVaWQuaGFzKGFtZW5kZW1lbnQudWlkKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgYW1lbmRlbWVudHNVaWQuYWRkKGFtZW5kZW1lbnQudWlkKVxuICAgICAgeWllbGQgeyBhbWVuZGVtZW50LCBkYXRhc2V0TGVnaXNsYXR1cmU6IGRhdGFzZXQubGVnaXNsYXR1cmUgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGl0ZXJMb2FkQXNzZW1ibGVlRG9jdW1lbnRzKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiBHZW5lcmF0b3I8XG4gIHsgZG9jdW1lbnQ6IERvY3VtZW50OyBkYXRhc2V0TGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlIH0sXG4gIHZvaWQsXG4gIHVua25vd25cbj4ge1xuICBjb25zdCBkb2N1bWVudHNVaWQgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuZG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgIGRhdGFEaXIsXG4gICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICApXG5cbiAgICBmb3IgKGNvbnN0IGRvY3VtZW50U3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wiZG9jdW1lbnRzXCJdKSkge1xuICAgICAgY29uc3QgZG9jdW1lbnRGaWxlbmFtZSA9IGRvY3VtZW50U3BsaXRQYXRoW2RvY3VtZW50U3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICBpZiAoIWRvY3VtZW50RmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgZG9jdW1lbnRGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5kb2N1bWVudFNwbGl0UGF0aClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtkb2N1bWVudEZpbGVQYXRofeKApmApXG4gICAgICB9XG4gICAgICBjb25zdCBkb2N1bWVudEpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhkb2N1bWVudEZpbGVQYXRoLCB7XG4gICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgIH0pXG4gICAgICBjb25zdCBkb2N1bWVudCA9IERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LnRvRG9jdW1lbnQoZG9jdW1lbnRKc29uKVxuICAgICAgaWYgKGRvY3VtZW50c1VpZC5oYXMoZG9jdW1lbnQudWlkKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgZG9jdW1lbnRzVWlkLmFkZChkb2N1bWVudC51aWQpXG4gICAgICB5aWVsZCB7IGRvY3VtZW50LCBkYXRhc2V0TGVnaXNsYXR1cmU6IGRhdGFzZXQubGVnaXNsYXR1cmUgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGl0ZXJMb2FkQXNzZW1ibGVlRG9zc2llcnNQYXJsZW1lbnRhaXJlcyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7XG4gICAgZG9zc2llclBhcmxlbWVudGFpcmU6IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gICAgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZVxuICB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgZG9zc2llcnNQYXJsZW1lbnRhaXJlc1VpZCA9IG5ldyBTZXQ8c3RyaW5nPigpXG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5kb3NzaWVyc0xlZ2lzbGF0aWZzKSB7XG4gICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgZGF0YURpcixcbiAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgIClcblxuICAgIGZvciAoY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVTcGxpdFBhdGggb2Ygd2Fsa0RpcihkYXRhc2V0RGlyLCBbXG4gICAgICBcImRvc3NpZXJzXCIsXG4gICAgXSkpIHtcbiAgICAgIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlRmlsZW5hbWUgPVxuICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZVNwbGl0UGF0aFtkb3NzaWVyUGFybGVtZW50YWlyZVNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFkb3NzaWVyUGFybGVtZW50YWlyZUZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlRmlsZVBhdGggPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFzZXREaXIsXG4gICAgICAgIC4uLmRvc3NpZXJQYXJsZW1lbnRhaXJlU3BsaXRQYXRoLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2Rvc3NpZXJQYXJsZW1lbnRhaXJlRmlsZVBhdGh94oCmYClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlSnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKFxuICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUZpbGVQYXRoLFxuICAgICAgICB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9LFxuICAgICAgKVxuICAgICAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmUgPVxuICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC50b0Rvc3NpZXJQYXJsZW1lbnRhaXJlKFxuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlSnNvbixcbiAgICAgICAgKVxuICAgICAgaWYgKGRvc3NpZXJzUGFybGVtZW50YWlyZXNVaWQuaGFzKGRvc3NpZXJQYXJsZW1lbnRhaXJlLnVpZCkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGRvc3NpZXJzUGFybGVtZW50YWlyZXNVaWQuYWRkKGRvc3NpZXJQYXJsZW1lbnRhaXJlLnVpZClcbiAgICAgIHlpZWxkIHsgZG9zc2llclBhcmxlbWVudGFpcmUsIGRhdGFzZXRMZWdpc2xhdHVyZTogZGF0YXNldC5sZWdpc2xhdHVyZSB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogaXRlckxvYWRBc3NlbWJsZWVPcmdhbmVzKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiBHZW5lcmF0b3I8XG4gIHsgb3JnYW5lOiBPcmdhbmU7IGRhdGFzZXRMZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUgfSxcbiAgdm9pZCxcbiAgdW5rbm93blxuPiB7XG4gIGNvbnN0IG9yZ2FuZXNVaWQgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYWN0ZXVyc0V0T3JnYW5lcykge1xuICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgIGRhdGFEaXIsXG4gICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICApXG5cbiAgICBmb3IgKGNvbnN0IG9yZ2FuZVNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIsIFtcIm9yZ2FuZXNcIl0pKSB7XG4gICAgICBjb25zdCBvcmdhbmVGaWxlbmFtZSA9IG9yZ2FuZVNwbGl0UGF0aFtvcmdhbmVTcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgIGlmICghb3JnYW5lRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3Qgb3JnYW5lRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4ub3JnYW5lU3BsaXRQYXRoKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke29yZ2FuZUZpbGVQYXRofeKApmApXG4gICAgICB9XG4gICAgICBjb25zdCBvcmdhbmVKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMob3JnYW5lRmlsZVBhdGgsIHtcbiAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IG9yZ2FuZSA9IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LnRvT3JnYW5lKG9yZ2FuZUpzb24pXG4gICAgICAvLyBLZWVwIHRoZSBmaXJzdCBleGlzdGluZyBcIm9yZ2FuZVwiLCBiZWNhdXNlIHRoZSBmaXJzdCB3cmFwcGVyIGlzIHRoZSBtb3N0IGNvbXBsZXRlLlxuICAgICAgaWYgKG9yZ2FuZXNVaWQuaGFzKG9yZ2FuZS51aWQpKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBvcmdhbmVzVWlkLmFkZChvcmdhbmUudWlkKVxuICAgICAgeWllbGQgeyBvcmdhbmUsIGRhdGFzZXRMZWdpc2xhdHVyZTogZGF0YXNldC5sZWdpc2xhdHVyZSB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogaXRlckxvYWRBc3NlbWJsZWVSZXVuaW9ucyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7IHJldW5pb246IFJldW5pb247IGRhdGFzZXRMZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUgfSxcbiAgdm9pZCxcbiAgdW5rbm93blxuPiB7XG4gIGNvbnN0IHJldW5pb25zVWlkID0gbmV3IFNldDxzdHJpbmc+KClcbiAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFnZW5kYXMpIHtcbiAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICBkYXRhRGlyLFxuICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgKVxuXG4gICAgZm9yIChjb25zdCByZXVuaW9uU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgIGNvbnN0IHJldW5pb25GaWxlbmFtZSA9IHJldW5pb25TcGxpdFBhdGhbcmV1bmlvblNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFyZXVuaW9uRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgcmV1bmlvbkZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLnJldW5pb25TcGxpdFBhdGgpXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cmV1bmlvbkZpbGVQYXRofeKApmApXG4gICAgICB9XG4gICAgICBjb25zdCByZXVuaW9uSnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHJldW5pb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgICAgY29uc3QgcmV1bmlvbiA9IEFnZW5kYXNDb252ZXJ0LnRvUmV1bmlvbihyZXVuaW9uSnNvbilcbiAgICAgIGlmIChyZXVuaW9uc1VpZC5oYXMocmV1bmlvbi51aWQpKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICByZXVuaW9uc1VpZC5hZGQocmV1bmlvbi51aWQpXG4gICAgICB5aWVsZCB7IHJldW5pb24sIGRhdGFzZXRMZWdpc2xhdHVyZTogZGF0YXNldC5sZWdpc2xhdHVyZSB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogaXRlckxvYWRBc3NlbWJsZWVTY3J1dGlucyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7IHNjcnV0aW46IFNjcnV0aW47IGRhdGFzZXRMZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUgfSxcbiAgdm9pZCxcbiAgdW5rbm93blxuPiB7XG4gIGNvbnN0IHNjcnV0aW5zVWlkID0gbmV3IFNldDxzdHJpbmc+KClcbiAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLnNjcnV0aW5zKSB7XG4gICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgZGF0YURpcixcbiAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgIClcblxuICAgIGZvciAoY29uc3Qgc2NydXRpblNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICBjb25zdCBzY3J1dGluRmlsZW5hbWUgPSBzY3J1dGluU3BsaXRQYXRoW3NjcnV0aW5TcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgIGlmICghc2NydXRpbkZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNjcnV0aW5GaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5zY3J1dGluU3BsaXRQYXRoKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3NjcnV0aW5GaWxlUGF0aH3igKZgKVxuICAgICAgfVxuICAgICAgY29uc3Qgc2NydXRpbkpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhzY3J1dGluRmlsZVBhdGgsIHtcbiAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IHNjcnV0aW4gPSBTY3J1dGluc0NvbnZlcnQudG9TY3J1dGluKHNjcnV0aW5Kc29uKVxuICAgICAgaWYgKHNjcnV0aW5zVWlkLmhhcyhzY3J1dGluLnVpZCkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIHNjcnV0aW5zVWlkLmFkZChzY3J1dGluLnVpZClcbiAgICAgIHlpZWxkIHsgc2NydXRpbiwgZGF0YXNldExlZ2lzbGF0dXJlOiBkYXRhc2V0LmxlZ2lzbGF0dXJlIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBpdGVyTG9hZEFzc2VtYmxlZVF1ZXN0aW9ucyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7IHF1ZXN0aW9uOiBRdWVzdGlvbjsgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgcXVlc3Rpb25zVWlkID0gbmV3IFNldDxzdHJpbmc+KClcbiAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLnF1ZXN0aW9ucykge1xuICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgIGRhdGFEaXIsXG4gICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICApXG5cbiAgICBmb3IgKGNvbnN0IHF1ZXN0aW9uU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgIGNvbnN0IHF1ZXN0aW9uRmlsZW5hbWUgPSBxdWVzdGlvblNwbGl0UGF0aFtxdWVzdGlvblNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgaWYgKCFxdWVzdGlvbkZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IHF1ZXN0aW9uRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4ucXVlc3Rpb25TcGxpdFBhdGgpXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cXVlc3Rpb25GaWxlUGF0aH3igKZgKVxuICAgICAgfVxuICAgICAgY29uc3QgcXVlc3Rpb25Kc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMocXVlc3Rpb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgICAgY29uc3QgcXVlc3Rpb24gPSBRdWVzdGlvbnNDb252ZXJ0LnRvUXVlc3Rpb24ocXVlc3Rpb25Kc29uKVxuICAgICAgaWYgKHF1ZXN0aW9uc1VpZC5oYXMocXVlc3Rpb24udWlkKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgcXVlc3Rpb25zVWlkLmFkZChxdWVzdGlvbi51aWQpXG4gICAgICB5aWVsZCB7IHF1ZXN0aW9uLCBkYXRhc2V0TGVnaXNsYXR1cmU6IGRhdGFzZXQubGVnaXNsYXR1cmUgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGl0ZXJMb2FkQXNzZW1ibGVlQ29tcHRlc1JlbmR1cyhcbiAgZGF0YURpcjogc3RyaW5nLFxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUsXG4gIHsgbG9nID0gZmFsc2UgfSA9IHt9LFxuKTogR2VuZXJhdG9yPFxuICB7IGNvbXB0ZVJlbmR1OiBDb21wdGVSZW5kdTsgZGF0YXNldExlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSB9LFxuICB2b2lkLFxuICB1bmtub3duXG4+IHtcbiAgY29uc3QgY29tcHRlc1JlbmR1c1VpZCA9IG5ldyBTZXQ8c3RyaW5nPigpXG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5jb21wdGVzUmVuZHVzU2VhbmNlcykge1xuICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKFxuICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgIGRhdGFEaXIsXG4gICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLnhtbCQvLCBcIl9uZXR0b3llXCIpLFxuICAgIClcblxuICAgIGZvciAoY29uc3QgY29tcHRlUmVuZHVTcGxpdFBhdGggb2Ygd2Fsa0RpcihkYXRhc2V0RGlyKSkge1xuICAgICAgY29uc3QgY29tcHRlUmVuZHVGaWxlbmFtZSA9XG4gICAgICAgIGNvbXB0ZVJlbmR1U3BsaXRQYXRoW2NvbXB0ZVJlbmR1U3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICBpZiAoIWNvbXB0ZVJlbmR1RmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgY29tcHRlUmVuZHVGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5jb21wdGVSZW5kdVNwbGl0UGF0aClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtjb21wdGVSZW5kdUZpbGVQYXRofeKApmApXG4gICAgICB9XG4gICAgICBjb25zdCBjb21wdGVSZW5kdUpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhjb21wdGVSZW5kdUZpbGVQYXRoLCB7XG4gICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgIH0pXG4gICAgICBjb25zdCBjb21wdGVSZW5kdSA9IENvbXB0ZXNSZW5kdXNDb252ZXJ0LnRvQ29tcHRlUmVuZHUoY29tcHRlUmVuZHVKc29uKVxuICAgICAgaWYgKGNvbXB0ZXNSZW5kdXNVaWQuaGFzKGNvbXB0ZVJlbmR1LnVpZCkpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbXB0ZXNSZW5kdXNVaWQuYWRkKGNvbXB0ZVJlbmR1LnVpZClcbiAgICAgIHlpZWxkIHsgY29tcHRlUmVuZHUsIGRhdGFzZXRMZWdpc2xhdHVyZTogZGF0YXNldC5sZWdpc2xhdHVyZSB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBMb2FkIGRhdGEgZnJvbSBzcGxpdCBmaWxlcy5cbi8vLyBEZXByZWNhdGVkOiBVc2UgaXRlckxvYWQuLi4gaXRlcmF0b3JzIGluc3RlYWQuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFzc2VtYmxlZURhdGEoXG4gIGRhdGFEaXI6IHN0cmluZyxcbiAgZW5hYmxlZERhdGFzZXRzOiBFbmFibGVkRGF0YXNldHMsXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiBEYXRhIHtcbiAgY29uc3QgYWN0ZXVyQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogQWN0ZXVyIH0gPSB7fVxuICBjb25zdCBvcmdhbmVCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBPcmdhbmUgfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWN0ZXVyc0V0T3JnYW5lcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgICApXG5cbiAgICAgIGZvciAoY29uc3QgYWN0ZXVyU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wiYWN0ZXVyc1wiXSkpIHtcbiAgICAgICAgY29uc3QgYWN0ZXVyRmlsZW5hbWUgPSBhY3RldXJTcGxpdFBhdGhbYWN0ZXVyU3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIGlmICghYWN0ZXVyRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWN0ZXVyRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4uYWN0ZXVyU3BsaXRQYXRoKVxuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHthY3RldXJGaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGV1ckpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhhY3RldXJGaWxlUGF0aCwge1xuICAgICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgYWN0ZXVyID0gQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9BY3RldXIoYWN0ZXVySnNvbilcbiAgICAgICAgLy8gS2VlcCB0aGUgZmlyc3QgZXhpc3RpbmcgXCJhY3RldXJcIiwgYmVjYXVzZSB0aGUgZmlyc3Qgd3JhcHBlciBpcyB0aGUgbW9zdCBjb21wbGV0ZS5cbiAgICAgICAgaWYgKGFjdGV1ckJ5VWlkW2FjdGV1ci51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBhY3RldXJCeVVpZFthY3RldXIudWlkXSA9IGFjdGV1clxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3Qgb3JnYW5lU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wib3JnYW5lc1wiXSkpIHtcbiAgICAgICAgY29uc3Qgb3JnYW5lRmlsZW5hbWUgPSBvcmdhbmVTcGxpdFBhdGhbb3JnYW5lU3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIGlmICghb3JnYW5lRmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3JnYW5lRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4ub3JnYW5lU3BsaXRQYXRoKVxuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtvcmdhbmVGaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9yZ2FuZUpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhvcmdhbmVGaWxlUGF0aCwge1xuICAgICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3Qgb3JnYW5lID0gQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9PcmdhbmUob3JnYW5lSnNvbilcbiAgICAgICAgLy8gS2VlcCB0aGUgZmlyc3QgZXhpc3RpbmcgXCJvcmdhbmVcIiwgYmVjYXVzZSB0aGUgZmlyc3Qgd3JhcHBlciBpcyB0aGUgbW9zdCBjb21wbGV0ZS5cbiAgICAgICAgaWYgKG9yZ2FuZUJ5VWlkW29yZ2FuZS51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBvcmdhbmVCeVVpZFtvcmdhbmUudWlkXSA9IG9yZ2FuZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmV1bmlvbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFJldW5pb24gfSA9IHt9XG4gIGNvbnN0IHJldW5pb25zQnlEYXk6IHsgW2RheTogc3RyaW5nXTogUmV1bmlvbltdIH0gPSB7fVxuICBjb25zdCByZXVuaW9uc0J5RG9zc2llclVpZDogeyBbZG9zc2llclVpZDogc3RyaW5nXTogUmV1bmlvbltdIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLkFnZW5kYXMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYWdlbmRhcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuICAgICAgZm9yIChjb25zdCByZXVuaW9uU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgICAgY29uc3QgcmV1bmlvbkZpbGVuYW1lID0gcmV1bmlvblNwbGl0UGF0aFtyZXVuaW9uU3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIGlmICghcmV1bmlvbkZpbGVuYW1lLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJldW5pb25GaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5yZXVuaW9uU3BsaXRQYXRoKVxuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtyZXVuaW9uRmlsZVBhdGh94oCmYClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXVuaW9uSnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHJldW5pb25GaWxlUGF0aCwge1xuICAgICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgcmV1bmlvbiA9IEFnZW5kYXNDb252ZXJ0LnRvUmV1bmlvbihyZXVuaW9uSnNvbilcbiAgICAgICAgaWYgKHJldW5pb25CeVVpZFtyZXVuaW9uLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldW5pb25CeVVpZFtyZXVuaW9uLnVpZF0gPSByZXVuaW9uXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXkgPSByZXVuaW9uLnRpbWVzdGFtcERlYnV0LnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdXG4gICAgICAgIGxldCByZXVuaW9uc0F0RGF5ID0gcmV1bmlvbnNCeURheVtkYXldXG4gICAgICAgIGlmIChyZXVuaW9uc0F0RGF5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXVuaW9uc0F0RGF5ID0gcmV1bmlvbnNCeURheVtkYXldID0gW11cbiAgICAgICAgfVxuICAgICAgICByZXVuaW9uc0F0RGF5LnB1c2gocmV1bmlvbilcblxuICAgICAgICBjb25zdCBvZGogPSByZXVuaW9uLm9kalxuICAgICAgICBpZiAob2RqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHBvaW50T2RqIG9mIG9kai5wb2ludHNPZGogfHwgW10pIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZG9zc2llckxlZ2lzbGF0aWZSZWYgb2YgcG9pbnRPZGouZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgfHxcbiAgICAgICAgICAgICAgW10pIHtcbiAgICAgICAgICAgICAgbGV0IHJldW5pb25zQXREb3NzaWVyVWlkID1cbiAgICAgICAgICAgICAgICByZXVuaW9uc0J5RG9zc2llclVpZFtkb3NzaWVyTGVnaXNsYXRpZlJlZl1cbiAgICAgICAgICAgICAgaWYgKHJldW5pb25zQXREb3NzaWVyVWlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXVuaW9uc0F0RG9zc2llclVpZCA9IHJldW5pb25zQnlEb3NzaWVyVWlkW1xuICAgICAgICAgICAgICAgICAgZG9zc2llckxlZ2lzbGF0aWZSZWZcbiAgICAgICAgICAgICAgICBdID0gW11cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXVuaW9uc0F0RG9zc2llclVpZC5wdXNoKHJldW5pb24pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgYW1lbmRlbWVudEJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IEFtZW5kZW1lbnQgfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQW1lbmRlbWVudHMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuYW1lbmRlbWVudHMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBkYXRhc2V0RGlyID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZVwiKSxcbiAgICAgIClcblxuICAgICAgZm9yIChjb25zdCBhbWVuZGVtZW50U3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgICAgY29uc3QgYW1lbmRlbWVudEZpbGVuYW1lID1cbiAgICAgICAgICBhbWVuZGVtZW50U3BsaXRQYXRoW2FtZW5kZW1lbnRTcGxpdFBhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgaWYgKCFhbWVuZGVtZW50RmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYW1lbmRlbWVudEZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmFtZW5kZW1lbnRTcGxpdFBhdGgpXG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2FtZW5kZW1lbnRGaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFtZW5kZW1lbnRKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoYW1lbmRlbWVudEZpbGVQYXRoLCB7XG4gICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBhbWVuZGVtZW50ID0gQW1lbmRlbWVudHNDb252ZXJ0LnRvQW1lbmRlbWVudChhbWVuZGVtZW50SnNvbilcbiAgICAgICAgaWYgKGFtZW5kZW1lbnRCeVVpZFthbWVuZGVtZW50LnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGFtZW5kZW1lbnRCeVVpZFthbWVuZGVtZW50LnVpZF0gPSBhbWVuZGVtZW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBkb2N1bWVudEJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IERvY3VtZW50IH0gPSB7fVxuICBjb25zdCBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW46IHtcbiAgICBbdWlkOiBzdHJpbmddOiBEb3NzaWVyUGFybGVtZW50YWlyZVxuICB9ID0ge31cbiAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluOiB7XG4gICAgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmVcbiAgfSA9IHt9XG4gIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogRG9zc2llclBhcmxlbWVudGFpcmUgfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuRG9zc2llcnNMZWdpc2xhdGlmcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5kb3NzaWVyc0xlZ2lzbGF0aWZzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgICApXG5cbiAgICAgIGZvciAoY29uc3QgZG9jdW1lbnRTcGxpdFBhdGggb2Ygd2Fsa0RpcihkYXRhc2V0RGlyLCBbXCJkb2N1bWVudHNcIl0pKSB7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50RmlsZW5hbWUgPSBkb2N1bWVudFNwbGl0UGF0aFtkb2N1bWVudFNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIWRvY3VtZW50RmlsZW5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZG9jdW1lbnRGaWxlUGF0aCA9IHBhdGguam9pbihkYXRhc2V0RGlyLCAuLi5kb2N1bWVudFNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7ZG9jdW1lbnRGaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRvY3VtZW50SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGRvY3VtZW50RmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQudG9Eb2N1bWVudChkb2N1bWVudEpzb24pXG4gICAgICAgIGlmIChkb2N1bWVudEJ5VWlkW2RvY3VtZW50LnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGRvY3VtZW50QnlVaWRbZG9jdW1lbnQudWlkXSA9IGRvY3VtZW50XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBkb3NzaWVyU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpciwgW1wiZG9zc2llcnNcIl0pKSB7XG4gICAgICAgIGNvbnN0IGRvc3NpZXJGaWxlbmFtZSA9IGRvc3NpZXJTcGxpdFBhdGhbZG9zc2llclNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIWRvc3NpZXJGaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkb3NzaWVyRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4uZG9zc2llclNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7ZG9zc2llckZpbGVQYXRofeKApmApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZG9zc2llckpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhkb3NzaWVyRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGRvc3NpZXIgPVxuICAgICAgICAgIERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LnRvRG9zc2llclBhcmxlbWVudGFpcmUoZG9zc2llckpzb24pXG4gICAgICAgIGNvbnN0IHRpdHJlRG9zc2llciA9IGRvc3NpZXIudGl0cmVEb3NzaWVyXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aXRyZURvc3NpZXIuc2VuYXRDaGVtaW4gJiZcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW5bdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluXSA9PT1cbiAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICApIHtcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW5bdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluXSA9IGRvc3NpZXJcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGl0cmVEb3NzaWVyLnRpdHJlQ2hlbWluICYmXG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluW3RpdHJlRG9zc2llci50aXRyZUNoZW1pbl0gPT09XG4gICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluW3RpdHJlRG9zc2llci50aXRyZUNoZW1pbl0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWRbZG9zc2llci51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkW2Rvc3NpZXIudWlkXSA9IGRvc3NpZXJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCBwaG90b0J5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFBob3RvIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlBob3Rvcykge1xuICAgIHtcbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBgcGhvdG9zX2RlcHV0ZXNfJHtcbiAgICAgICAgICAvLyBUT0RPOiBIYW5kbGUgTGVnaXNsYXR1cmUuQWxsLlxuICAgICAgICAgIGxlZ2lzbGF0dXJlID09PSBMZWdpc2xhdHVyZS5BbGwgPyBMZWdpc2xhdHVyZS5TZWl6ZSA6IGxlZ2lzbGF0dXJlXG4gICAgICAgIH1gLFxuICAgICAgICBcImRlcHV0ZXMuanNvblwiLFxuICAgICAgKVxuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoanNvbkZpbGVQYXRoKSkge1xuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgICBPYmplY3QuYXNzaWduKHBob3RvQnlVaWQsIEpTT04ucGFyc2UoanNvbikpXG4gICAgICB9IGVsc2UgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgSWdub3JpbmcgbWlzc2luZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgIH1cblxuICAgIHtcbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBcInBob3Rvc19zZW5hdGV1cnNcIixcbiAgICAgICAgXCJzZW5hdGV1cnMuanNvblwiLFxuICAgICAgKVxuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoanNvbkZpbGVQYXRoKSkge1xuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgICBPYmplY3QuYXNzaWduKHBob3RvQnlVaWQsIEpTT04ucGFyc2UoanNvbikpXG4gICAgICB9IGVsc2UgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgSWdub3JpbmcgbWlzc2luZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNjcnV0aW5CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBTY3J1dGluIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlNjcnV0aW5zKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLnNjcnV0aW5zKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgZGF0YXNldERpciA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWVcIiksXG4gICAgICApXG5cbiAgICAgIGZvciAoY29uc3Qgc2NydXRpblNwbGl0UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICAgIGNvbnN0IHNjcnV0aW5GaWxlbmFtZSA9IHNjcnV0aW5TcGxpdFBhdGhbc2NydXRpblNwbGl0UGF0aC5sZW5ndGggLSAxXVxuICAgICAgICBpZiAoIXNjcnV0aW5GaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzY3J1dGluRmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YXNldERpciwgLi4uc2NydXRpblNwbGl0UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7c2NydXRpbkZpbGVQYXRofeKApmApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2NydXRpbkpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhzY3J1dGluRmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHNjcnV0aW4gPSBTY3J1dGluc0NvbnZlcnQudG9TY3J1dGluKHNjcnV0aW5Kc29uKVxuICAgICAgICBpZiAoc2NydXRpbkJ5VWlkW3NjcnV0aW4udWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc2NydXRpbkJ5VWlkW3NjcnV0aW4udWlkXSA9IHNjcnV0aW5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHF1ZXN0aW9uQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogUXVlc3Rpb24gfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuUXVlc3Rpb25zKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLnF1ZXN0aW9ucykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IHF1ZXN0aW9uU3BsaXRQYXRoIG9mIHdhbGtEaXIoZGF0YXNldERpcikpIHtcbiAgICAgICAgY29uc3QgcXVlc3Rpb25GaWxlbmFtZSA9IHF1ZXN0aW9uU3BsaXRQYXRoW3F1ZXN0aW9uU3BsaXRQYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIGlmICghcXVlc3Rpb25GaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBxdWVzdGlvbkZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLnF1ZXN0aW9uU3BsaXRQYXRoKVxuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtxdWVzdGlvbkZpbGVQYXRofeKApmApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcXVlc3Rpb25Kc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMocXVlc3Rpb25GaWxlUGF0aCwge1xuICAgICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBRdWVzdGlvbnNDb252ZXJ0LnRvUXVlc3Rpb24ocXVlc3Rpb25Kc29uKVxuICAgICAgICBpZiAocXVlc3Rpb25CeVVpZFtxdWVzdGlvbi51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBxdWVzdGlvbkJ5VWlkW3F1ZXN0aW9uLnVpZF0gPSBxdWVzdGlvblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY29tcHRlUmVuZHVCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBDb21wdGVSZW5kdSB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Db21wdGVzUmVuZHVzU2VhbmNlcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5jb21wdGVzUmVuZHVzU2VhbmNlcykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGFzZXREaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llXCIpLFxuICAgICAgKVxuXG4gICAgICBmb3IgKGNvbnN0IGNvbXB0ZVJlbmR1UGF0aCBvZiB3YWxrRGlyKGRhdGFzZXREaXIpKSB7XG4gICAgICAgIGNvbnN0IGNvbXB0ZVJlbmR1RmlsZW5hbWUgPSBjb21wdGVSZW5kdVBhdGhbY29tcHRlUmVuZHVQYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIGlmICghY29tcHRlUmVuZHVGaWxlbmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21wdGVSZW5kdUZpbGVQYXRoID0gcGF0aC5qb2luKGRhdGFzZXREaXIsIC4uLmNvbXB0ZVJlbmR1UGF0aClcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7Y29tcHRlUmVuZHVGaWxlUGF0aH3igKZgKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXB0ZVJlbmR1SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGNvbXB0ZVJlbmR1RmlsZVBhdGgsIHtcbiAgICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGNvbXB0ZVJlbmR1ID0gQ29tcHRlc1JlbmR1c0NvbnZlcnQudG9Db21wdGVSZW5kdShjb21wdGVSZW5kdUpzb24pXG4gICAgICAgIGlmIChjb21wdGVSZW5kdUJ5VWlkW2NvbXB0ZVJlbmR1LnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbXB0ZVJlbmR1QnlVaWRbY29tcHRlUmVuZHUudWlkXSA9IGNvbXB0ZVJlbmR1XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFjdGV1ckJ5VWlkLFxuICAgIGFtZW5kZW1lbnRCeVVpZCxcbiAgICBkb2N1bWVudEJ5VWlkLFxuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pbixcbiAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VGl0cmVDaGVtaW4sXG4gICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZCxcbiAgICBvcmdhbmVCeVVpZCxcbiAgICBwaG90b0J5VWlkLFxuICAgIHJldW5pb25CeVVpZCxcbiAgICByZXVuaW9uc0J5RGF5LFxuICAgIHJldW5pb25zQnlEb3NzaWVyVWlkLFxuICAgIHNjcnV0aW5CeVVpZCxcbiAgICBxdWVzdGlvbkJ5VWlkLFxuICAgIGNvbXB0ZVJlbmR1QnlVaWQsXG4gIH1cbn1cblxuLy8vIExvYWQgZGF0YSBmcm9tIGJpZyBtb25vbHl0aWMgZmlsZXMuXG4vLy8gRGVwcmVjYXRlZDogQXNzZW1ibMOpZSBuYXRpb25hbGUgb3BlbiBkYXRhIG5vIG1vcmUgdXNlcyBtb25vbHl0aWMgZmlsZXMuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFzc2VtYmxlZURhdGFGcm9tQmlnRmlsZXMoXG4gIGRhdGFEaXI6IHN0cmluZyxcbiAgZW5hYmxlZERhdGFzZXRzOiBFbmFibGVkRGF0YXNldHMsXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiBEYXRhIHtcbiAgY29uc3QgYWN0ZXVyQnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogQWN0ZXVyIH0gPSB7fVxuICBjb25zdCBvcmdhbmVCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBPcmdhbmUgfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWN0ZXVyc0V0T3JnYW5lcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgICBpZiAoZGF0YXNldC5pZ25vcmVGb3JXZWIpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgbGVnaXNsYXR1cmUgIT09IGRhdGFzZXQubGVnaXNsYXR1cmVcbiAgICAgICkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICAgICAgY29uc3QgYWN0ZXVyc0V0T3JnYW5lcyA9IEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LnRvQWN0ZXVyc0V0T3JnYW5lcyhqc29uKVxuICAgICAgZm9yIChjb25zdCBhY3RldXIgb2YgYWN0ZXVyc0V0T3JnYW5lcy5hY3RldXJzKSB7XG4gICAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwiYWN0ZXVyXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICAgIGlmIChhY3RldXJCeVVpZFthY3RldXIudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWN0ZXVyQnlVaWRbYWN0ZXVyLnVpZF0gPSBhY3RldXJcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBvcmdhbmUgb2YgYWN0ZXVyc0V0T3JnYW5lcy5vcmdhbmVzKSB7XG4gICAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IGV4aXN0aW5nIFwib3JnYW5lXCIsIGJlY2F1c2UgdGhlIGZpcnN0IHdyYXBwZXIgaXMgdGhlIG1vc3QgY29tcGxldGUuXG4gICAgICAgIGlmIChvcmdhbmVCeVVpZFtvcmdhbmUudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgb3JnYW5lQnlVaWRbb3JnYW5lLnVpZF0gPSBvcmdhbmVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJldW5pb25CeVVpZDogeyBbdWlkOiBzdHJpbmddOiBSZXVuaW9uIH0gPSB7fVxuICBjb25zdCByZXVuaW9uc0J5RGF5OiB7IFtkYXk6IHN0cmluZ106IFJldW5pb25bXSB9ID0ge31cbiAgY29uc3QgcmV1bmlvbnNCeURvc3NpZXJVaWQ6IHsgW2Rvc3NpZXJVaWQ6IHN0cmluZ106IFJldW5pb25bXSB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BZ2VuZGFzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFnZW5kYXMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICBjb25zdCBhZ2VuZGFzID0gQWdlbmRhc0NvbnZlcnQudG9BZ2VuZGFzKGpzb24pXG4gICAgICBmb3IgKGNvbnN0IHJldW5pb24gb2YgYWdlbmRhcy5yZXVuaW9ucykge1xuICAgICAgICBpZiAocmV1bmlvbkJ5VWlkW3JldW5pb24udWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV1bmlvbkJ5VWlkW3JldW5pb24udWlkXSA9IHJldW5pb25cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRheSA9IHJldW5pb24udGltZXN0YW1wRGVidXQudG9JU09TdHJpbmcoKS5zcGxpdChcIlRcIilbMF1cbiAgICAgICAgbGV0IHJldW5pb25zQXREYXkgPSByZXVuaW9uc0J5RGF5W2RheV1cbiAgICAgICAgaWYgKHJldW5pb25zQXREYXkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldW5pb25zQXREYXkgPSByZXVuaW9uc0J5RGF5W2RheV0gPSBbXVxuICAgICAgICB9XG4gICAgICAgIHJldW5pb25zQXREYXkucHVzaChyZXVuaW9uKVxuXG4gICAgICAgIGNvbnN0IG9kaiA9IHJldW5pb24ub2RqXG4gICAgICAgIGlmIChvZGogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGZvciAoY29uc3QgcG9pbnRPZGogb2Ygb2RqLnBvaW50c09kaiB8fCBbXSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBkb3NzaWVyTGVnaXNsYXRpZlJlZiBvZiBwb2ludE9kai5kb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyB8fFxuICAgICAgICAgICAgICBbXSkge1xuICAgICAgICAgICAgICBsZXQgcmV1bmlvbnNBdERvc3NpZXJVaWQgPVxuICAgICAgICAgICAgICAgIHJldW5pb25zQnlEb3NzaWVyVWlkW2Rvc3NpZXJMZWdpc2xhdGlmUmVmXVxuICAgICAgICAgICAgICBpZiAocmV1bmlvbnNBdERvc3NpZXJVaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHJldW5pb25zQXREb3NzaWVyVWlkID0gcmV1bmlvbnNCeURvc3NpZXJVaWRbXG4gICAgICAgICAgICAgICAgICBkb3NzaWVyTGVnaXNsYXRpZlJlZlxuICAgICAgICAgICAgICAgIF0gPSBbXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldW5pb25zQXREb3NzaWVyVWlkLnB1c2gocmV1bmlvbilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBhbWVuZGVtZW50QnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogQW1lbmRlbWVudCB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BbWVuZGVtZW50cykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hbWVuZGVtZW50cykge1xuICAgICAgaWYgKGRhdGFzZXQuaWdub3JlRm9yV2ViKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBMZWdpc2xhdHVyZS5BbGwgJiZcbiAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGxlZ2lzbGF0dXJlICE9PSBkYXRhc2V0LmxlZ2lzbGF0dXJlXG4gICAgICApIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgaWYgKGxvZykge1xuICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgfVxuICAgICAgY29uc3QganNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSlcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRzID0gQW1lbmRlbWVudHNDb252ZXJ0LnRvQW1lbmRlbWVudHMoanNvbilcbiAgICAgIGZvciAoY29uc3QgdGV4dGVMZWdpc2xhdGlmIG9mIGFtZW5kZW1lbnRzLnRleHRlc0xlZ2lzbGF0aWZzKSB7XG4gICAgICAgIGZvciAoY29uc3QgYW1lbmRlbWVudCBvZiB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHMpIHtcbiAgICAgICAgICBpZiAoYW1lbmRlbWVudEJ5VWlkW2FtZW5kZW1lbnQudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBhbWVuZGVtZW50QnlVaWRbYW1lbmRlbWVudC51aWRdID0gYW1lbmRlbWVudFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRvY3VtZW50QnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogRG9jdW1lbnQgfSA9IHt9XG4gIGNvbnN0IGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlTZW5hdENoZW1pbjoge1xuICAgIFt1aWQ6IHN0cmluZ106IERvc3NpZXJQYXJsZW1lbnRhaXJlXG4gIH0gPSB7fVxuICBjb25zdCBkb3NzaWVyUGFybGVtZW50YWlyZUJ5VGl0cmVDaGVtaW46IHtcbiAgICBbdWlkOiBzdHJpbmddOiBEb3NzaWVyUGFybGVtZW50YWlyZVxuICB9ID0ge31cbiAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZDogeyBbdWlkOiBzdHJpbmddOiBEb3NzaWVyUGFybGVtZW50YWlyZSB9ID0ge31cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Eb3NzaWVyc0xlZ2lzbGF0aWZzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmRvc3NpZXJzTGVnaXNsYXRpZnMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICBjb25zdCBkb3NzaWVyc0xlZ2lzbGF0aWZzID1cbiAgICAgICAgRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQudG9Eb3NzaWVyc0xlZ2lzbGF0aWZzKGpzb24pXG4gICAgICBmb3IgKGNvbnN0IGRvY3VtZW50IG9mIGRvc3NpZXJzTGVnaXNsYXRpZnMudGV4dGVzTGVnaXNsYXRpZnMpIHtcbiAgICAgICAgaWYgKGRvY3VtZW50QnlVaWRbZG9jdW1lbnQudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZG9jdW1lbnRCeVVpZFtkb2N1bWVudC51aWRdID0gZG9jdW1lbnRcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBkb3NzaWVyIG9mIGRvc3NpZXJzTGVnaXNsYXRpZnMuZG9zc2llcnNQYXJsZW1lbnRhaXJlcykge1xuICAgICAgICBjb25zdCB0aXRyZURvc3NpZXIgPSBkb3NzaWVyLnRpdHJlRG9zc2llclxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGl0cmVEb3NzaWVyLnNlbmF0Q2hlbWluICYmXG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluW3RpdHJlRG9zc2llci5zZW5hdENoZW1pbl0gPT09XG4gICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVNlbmF0Q2hlbWluW3RpdHJlRG9zc2llci5zZW5hdENoZW1pbl0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRpdHJlRG9zc2llci50aXRyZUNoZW1pbiAmJlxuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pblt0aXRyZURvc3NpZXIudGl0cmVDaGVtaW5dID09PVxuICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlUaXRyZUNoZW1pblt0aXRyZURvc3NpZXIudGl0cmVDaGVtaW5dID0gZG9zc2llclxuICAgICAgICB9XG4gICAgICAgIGlmIChkb3NzaWVyUGFybGVtZW50YWlyZUJ5VWlkW2Rvc3NpZXIudWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVVpZFtkb3NzaWVyLnVpZF0gPSBkb3NzaWVyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBwaG90b0J5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFBob3RvIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlBob3Rvcykge1xuICAgIGNvbnN0IHBob3RvQnlVaWQgPSB7fVxuXG4gICAge1xuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGBwaG90b3NfZGVwdXRlc18ke1xuICAgICAgICAgIC8vIFRPRE86IEhhbmRsZSBMZWdpc2xhdHVyZS5BbGwuXG4gICAgICAgICAgbGVnaXNsYXR1cmUgPT09IExlZ2lzbGF0dXJlLkFsbCA/IExlZ2lzbGF0dXJlLlNlaXplIDogbGVnaXNsYXR1cmVcbiAgICAgICAgfWAsXG4gICAgICAgIFwiZGVwdXRlcy5qc29uXCIsXG4gICAgICApXG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhqc29uRmlsZVBhdGgpKSB7XG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGhvdG9CeVVpZCwgSlNPTi5wYXJzZShqc29uKSlcbiAgICAgIH0gZWxzZSBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBJZ25vcmluZyBtaXNzaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIFwicGhvdG9zX3NlbmF0ZXVyc1wiLFxuICAgICAgICBcInNlbmF0ZXVycy5qc29uXCIsXG4gICAgICApXG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhqc29uRmlsZVBhdGgpKSB7XG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke2pzb25GaWxlUGF0aH1gKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGhvdG9CeVVpZCwgSlNPTi5wYXJzZShqc29uKSlcbiAgICAgIH0gZWxzZSBpZiAobG9nKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBJZ25vcmluZyBtaXNzaW5nIGZpbGU6ICR7anNvbkZpbGVQYXRofWApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2NydXRpbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFNjcnV0aW4gfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuU2NydXRpbnMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuc2NydXRpbnMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICBjb25zdCBzY3J1dGlucyA9IFNjcnV0aW5zQ29udmVydC50b1NjcnV0aW5zKGpzb24pXG4gICAgICBmb3IgKGNvbnN0IHNjcnV0aW4gb2Ygc2NydXRpbnMuc2NydXRpbnMpIHtcbiAgICAgICAgaWYgKHNjcnV0aW5CeVVpZFtzY3J1dGluLnVpZF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNjcnV0aW5CeVVpZFtzY3J1dGluLnVpZF0gPSBzY3J1dGluXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBxdWVzdGlvbkJ5VWlkOiB7IFt1aWQ6IHN0cmluZ106IFF1ZXN0aW9uIH0gPSB7fVxuICBpZiAoZW5hYmxlZERhdGFzZXRzICYgRW5hYmxlZERhdGFzZXRzLlF1ZXN0aW9ucykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5xdWVzdGlvbnMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICBjb25zdCBxdWVzdGlvbnMgPSBRdWVzdGlvbnNDb252ZXJ0LnRvUXVlc3Rpb25zKGpzb24pXG4gICAgICBmb3IgKGNvbnN0IHF1ZXN0aW9uIG9mIHF1ZXN0aW9ucy5xdWVzdGlvbnMpIHtcbiAgICAgICAgaWYgKHF1ZXN0aW9uQnlVaWRbcXVlc3Rpb24udWlkXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcXVlc3Rpb25CeVVpZFtxdWVzdGlvbi51aWRdID0gcXVlc3Rpb25cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvbXB0ZVJlbmR1QnlVaWQ6IHsgW3VpZDogc3RyaW5nXTogQ29tcHRlUmVuZHUgfSA9IHt9XG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQ29tcHRlc1JlbmR1c1NlYW5jZXMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuY29tcHRlc1JlbmR1c1NlYW5jZXMpIHtcbiAgICAgIGlmIChkYXRhc2V0Lmlnbm9yZUZvcldlYikge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gTGVnaXNsYXR1cmUuQWxsICYmXG4gICAgICAgIGRhdGFzZXQubGVnaXNsYXR1cmUgIT09IExlZ2lzbGF0dXJlLkFsbCAmJlxuICAgICAgICBsZWdpc2xhdHVyZSAhPT0gZGF0YXNldC5sZWdpc2xhdHVyZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhqc29uRmlsZVBhdGgsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgICBjb25zdCBjb21wdGVzUmVuZHVzID0gQ29tcHRlc1JlbmR1c0NvbnZlcnQudG9Db21wdGVzUmVuZHVzKGpzb24pXG4gICAgICBmb3IgKGNvbnN0IGNvbXB0ZVJlbmR1IG9mIGNvbXB0ZXNSZW5kdXMuY29tcHRlc1JlbmR1cykge1xuICAgICAgICBpZiAoY29tcHRlUmVuZHVCeVVpZFtjb21wdGVSZW5kdS51aWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb21wdGVSZW5kdUJ5VWlkW2NvbXB0ZVJlbmR1LnVpZF0gPSBjb21wdGVSZW5kdVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhY3RldXJCeVVpZCxcbiAgICBhbWVuZGVtZW50QnlVaWQsXG4gICAgZG9jdW1lbnRCeVVpZCxcbiAgICBkb3NzaWVyUGFybGVtZW50YWlyZUJ5U2VuYXRDaGVtaW4sXG4gICAgZG9zc2llclBhcmxlbWVudGFpcmVCeVRpdHJlQ2hlbWluLFxuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlQnlVaWQsXG4gICAgb3JnYW5lQnlVaWQsXG4gICAgcGhvdG9CeVVpZCxcbiAgICByZXVuaW9uQnlVaWQsXG4gICAgcmV1bmlvbnNCeURheSxcbiAgICByZXVuaW9uc0J5RG9zc2llclVpZCxcbiAgICBzY3J1dGluQnlVaWQsXG4gICAgcXVlc3Rpb25CeVVpZCxcbiAgICBjb21wdGVSZW5kdUJ5VWlkLFxuICB9XG59XG5cbi8qKlxuICogUmVhZCBpbmZvcyBvZiBhIGRvY3VtZW50IG9yIGEgZGl2aXNpb24gb2YgYSBkb2N1bWVudCBmcm9tIGZpbGUgc3lzdGVtXG4gKlxuICogQHBhcmFtIGRhdGFEaXJcbiAqIEBwYXJhbSB1aWQgVUlEIG9mIGEgZG9jdW1lbnQgb3IgYSBkaXZpc2lvblxuICogQHBhcmFtIGZvcm1hdHMgcmVxdWVzdGVkIGZvcm1hdHMgb2YgdGhlIGRvY3VtZW50IGluIGRlY3JlYXNpbmcgcHJlZmVyZW5jZSBvcmRlclxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFzc2VtYmxlZURvY3VtZW50RmlsZShcbiAgZGF0YURpcjogc3RyaW5nLFxuICB1aWQ6IHN0cmluZyxcbiAgZm9ybWF0czogRG9jdW1lbnRVcmxGb3JtYXRbXSxcbik6XG4gIHwge1xuICAgICAgZm9ybWF0OiBEb2N1bWVudFVybEZvcm1hdFxuICAgICAgcGF0aDogc3RyaW5nXG4gICAgICB1cmw6IHN0cmluZ1xuICAgIH1cbiAgfCB1bmRlZmluZWQge1xuICBjb25zdCBkb2N1bWVudHNEaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgXCJEb2N1bWVudHNcIilcbiAgY29uc3QgZG9jdW1lbnREaXIgPSBwYXRoRnJvbURvY3VtZW50VWlkKGRvY3VtZW50c0RpciwgdWlkKVxuICBjb25zdCBpbmRleFBhdGggPSBwYXRoLmpvaW4oZG9jdW1lbnREaXIsIFwiaW5kZXguanNvblwiKVxuICBpZiAoIWZzLnBhdGhFeGlzdHNTeW5jKGluZGV4UGF0aCkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbiAgY29uc3QgaW5kZXggPSBmcy5yZWFkSnNvblN5bmMoaW5kZXhQYXRoKSBhcyBEb2N1bWVudEZpbGVzSW5kZXhcbiAgZm9yIChjb25zdCBmb3JtYXQgb2YgZm9ybWF0cykge1xuICAgIGZvciAoY29uc3QgeyBmaWxlbmFtZSwgdXJsIH0gb2YgaW5kZXhbZm9ybWF0XSA/PyBbXSkge1xuICAgICAgaWYgKGZpbGVuYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IGZvcm1hdCwgcGF0aDogcGF0aC5qb2luKGRvY3VtZW50RGlyLCBmaWxlbmFtZSksIHVybCB9XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBc3NlbWJsZWVQaG90b3NEZXB1dGVzKFxuICBkYXRhRGlyOiBzdHJpbmcsXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZSxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiB7IFt1aWQ6IHN0cmluZ106IFBob3RvIH0ge1xuICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICBkYXRhRGlyLFxuICAgIGBwaG90b3NfZGVwdXRlc18ke1xuICAgICAgLy8gVE9ETzogSGFuZGxlIExlZ2lzbGF0dXJlLkFsbC5cbiAgICAgIGxlZ2lzbGF0dXJlID09PSBMZWdpc2xhdHVyZS5BbGwgPyBMZWdpc2xhdHVyZS5TZWl6ZSA6IGxlZ2lzbGF0dXJlXG4gICAgfWAsXG4gICAgXCJkZXB1dGVzLmpzb25cIixcbiAgKVxuICBpZiAobG9nKSB7XG4gICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgfVxuICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICByZXR1cm4gSlNPTi5wYXJzZShqc29uKSBhcyB7IFt1aWQ6IHN0cmluZ106IFBob3RvIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBc3NlbWJsZWVQaG90b3NTZW5hdGV1cnMoXG4gIGRhdGFEaXI6IHN0cmluZyxcbiAgeyBsb2cgPSBmYWxzZSB9ID0ge30sXG4pOiB7IFt1aWQ6IHN0cmluZ106IFBob3RvIH0ge1xuICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICBkYXRhRGlyLFxuICAgIFwicGhvdG9zX3NlbmF0ZXVyc1wiLFxuICAgIFwic2VuYXRldXJzLmpzb25cIixcbiAgKVxuICBpZiAobG9nKSB7XG4gICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtqc29uRmlsZVBhdGh9YClcbiAgfVxuICBjb25zdCBqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoanNvbkZpbGVQYXRoLCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KVxuICByZXR1cm4gSlNPTi5wYXJzZShqc29uKSBhcyB7IFt1aWQ6IHN0cmluZ106IFBob3RvIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGhGcm9tRG9jdW1lbnRVaWQoZG9jdW1lbnRzRGlyOiBzdHJpbmcsIHVpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbWF0Y2ggPSB1aWQubWF0Y2goZG9jdW1lbnRVaWRSZWdleClcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIG1hdGNoLFxuICAgIG51bGwsXG4gICAgYFVuZXhwZWN0ZWQgc3RydWN0dXJlIGZvciBkb2N1bWVudCBVSUQ6ICR7dWlkfWAsXG4gIClcbiAgY29uc3QgZ3JvdXBzID0gbWF0Y2ghLmdyb3VwcyBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gIGNvbnN0IGRvY3VtZW50VHlwZSA9IHBhdGguam9pbihcbiAgICBkb2N1bWVudHNEaXIsXG4gICAgZ3JvdXBzLmRvY3VtZW50VHlwZSA/PyBncm91cHMuZG9jdW1lbnRUeXBlMixcbiAgKVxuICBjb25zdCBjaGFtYnJlRGlyID0gcGF0aC5qb2luKGRvY3VtZW50VHlwZSwgZ3JvdXBzLmNoYW1icmUgPz8gZ3JvdXBzLmNoYW1icmUyKVxuICBjb25zdCByZXB1YmxpcXVlRGlyID0gcGF0aC5qb2luKFxuICAgIGNoYW1icmVEaXIsXG4gICAgZ3JvdXBzLnJlcHVibGlxdWUgPz8gZ3JvdXBzLnJlcHVibGlxdWUyLFxuICApXG4gIGNvbnN0IGxlZ2lzbGF0dXJlRGlyID0gcGF0aC5qb2luKFxuICAgIHJlcHVibGlxdWVEaXIsXG4gICAgZ3JvdXBzLmxlZ2lzbGF0dXJlID8/IGdyb3Vwcy5sZWdpc2xhdHVyZTIsXG4gIClcbiAgY29uc3QgZXRhdCA9IGdyb3Vwcy5ldGF0XG4gIGlmIChldGF0ID09PSB1bmRlZmluZWQpIHtcbiAgICBmcy5lbnN1cmVEaXJTeW5jKGxlZ2lzbGF0dXJlRGlyKVxuICAgIHJldHVybiBwYXRoLmpvaW4obGVnaXNsYXR1cmVEaXIsIHVpZClcbiAgfVxuICBjb25zdCBldGF0RGlyID0gcGF0aC5qb2luKGxlZ2lzbGF0dXJlRGlyLCBldGF0KVxuICBsZXQgbnVtZXJvID0gXCIwMDAwMDBcIiArIChncm91cHMubnVtZXJvID8/IGdyb3Vwcy5udW1lcm8yKVxuICBudW1lcm8gPSBudW1lcm8uc3Vic3RyaW5nKG51bWVyby5sZW5ndGggLSA2KVxuICBjb25zdCBudW1lcm9NaWxsaWVyc0RpciA9IHBhdGguam9pbihldGF0RGlyLCBudW1lcm8uc3Vic3RyaW5nKDAsIDMpKVxuICBmcy5lbnN1cmVEaXJTeW5jKG51bWVyb01pbGxpZXJzRGlyKVxuICByZXR1cm4gcGF0aC5qb2luKG51bWVyb01pbGxpZXJzRGlyLCB1aWQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRoRnJvbURvc3NpZXJQYXJsZW1lbnRhaXJlVWlkKFxuICBkb3NzaWVyc0Rpcjogc3RyaW5nLFxuICB1aWQ6IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IG1hdGNoID0gZG9zc2llclVpZFJlZ2V4LmV4ZWModWlkKVxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgbWF0Y2gsXG4gICAgbnVsbCxcbiAgICBgVW5leHBlY3RlZCBzdHJ1Y3R1cmUgZm9yIGRvc3NpZXIgcGFybGVtZW50YWlyZSBVSUQ6ICR7dWlkfWAsXG4gIClcbiAgY29uc3QgcmVwdWJsaXF1ZURpciA9IHBhdGguam9pbihkb3NzaWVyc0RpciwgbWF0Y2ghWzFdKVxuICBjb25zdCBsZWdpc2xhdHVyZURpciA9IHBhdGguam9pbihyZXB1YmxpcXVlRGlyLCBtYXRjaCFbMl0pXG4gIGxldCBudW1lcm8gPSBcIjAwMDAwMFwiICsgbWF0Y2ghWzNdXG4gIG51bWVybyA9IG51bWVyby5zdWJzdHJpbmcobnVtZXJvLmxlbmd0aCAtIDYpXG4gIGNvbnN0IG51bWVyb01pbGxpZXJzRGlyID0gcGF0aC5qb2luKGxlZ2lzbGF0dXJlRGlyLCBudW1lcm8uc3Vic3RyaW5nKDAsIDMpKVxuICBmcy5lbnN1cmVEaXJTeW5jKG51bWVyb01pbGxpZXJzRGlyKVxuICByZXR1cm4gcGF0aC5qb2luKG51bWVyb01pbGxpZXJzRGlyLCB1aWQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRoRnJvbVJldW5pb25VaWQocmV1bmlvbnNEaXI6IHN0cmluZywgdWlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBtYXRjaCA9IHJldW5pb25VaWRSZWdleC5leGVjKHVpZClcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIG1hdGNoLFxuICAgIG51bGwsXG4gICAgYFVuZXhwZWN0ZWQgc3RydWN0dXJlIGZvciByZXVuaW9uIFVJRDogJHt1aWR9YCxcbiAgKVxuICBjb25zdCBjaGFtYnJlRGlyID0gcGF0aC5qb2luKHJldW5pb25zRGlyLCBtYXRjaCFbMV0pXG4gIGNvbnN0IHJlcHVibGlxdWVEaXIgPSBwYXRoLmpvaW4oY2hhbWJyZURpciwgbWF0Y2ghWzJdKVxuICBjb25zdCBsZWdpc2xhdHVyZURpciA9IHBhdGguam9pbihyZXB1YmxpcXVlRGlyLCBtYXRjaCFbM10pXG4gIGNvbnN0IHNlc3Npb25EaXIgPSBwYXRoLmpvaW4obGVnaXNsYXR1cmVEaXIsIG1hdGNoIVs0XSlcbiAgY29uc3QgaWREaXIgPSBwYXRoLmpvaW4oc2Vzc2lvbkRpciwgbWF0Y2ghWzVdKVxuICBsZXQgbnVtZXJvID0gXCIwMDAwMDAwMDBcIiArIG1hdGNoIVs2XVxuICBudW1lcm8gPSBudW1lcm8uc3Vic3RyaW5nKG51bWVyby5sZW5ndGggLSA5KVxuICBjb25zdCBudW1lcm9NaWxsaW9uc0RpciA9IHBhdGguam9pbihpZERpciwgbnVtZXJvLnN1YnN0cmluZygwLCAzKSlcbiAgY29uc3QgbnVtZXJvTWlsbGllcnNEaXIgPSBwYXRoLmpvaW4obnVtZXJvTWlsbGlvbnNEaXIsIG51bWVyby5zdWJzdHJpbmcoMywgMykpXG4gIGZzLmVuc3VyZURpclN5bmMobnVtZXJvTWlsbGllcnNEaXIpXG4gIHJldHVybiBwYXRoLmpvaW4obnVtZXJvTWlsbGllcnNEaXIsIHVpZClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGhGcm9tU2NydXRpblVpZChzY3J1dGluc0Rpcjogc3RyaW5nLCB1aWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG1hdGNoID0gc2NydXRpblVpZFJlZ2V4LmV4ZWModWlkKVxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgbWF0Y2gsXG4gICAgbnVsbCxcbiAgICBgVW5leHBlY3RlZCBzdHJ1Y3R1cmUgZm9yIHNjcnV0aW4gVUlEOiAke3VpZH1gLFxuICApXG4gIGNvbnN0IHJlcHVibGlxdWVEaXIgPSBwYXRoLmpvaW4oc2NydXRpbnNEaXIsIG1hdGNoIVsxXSlcbiAgY29uc3QgbGVnaXNsYXR1cmVEaXIgPSBwYXRoLmpvaW4ocmVwdWJsaXF1ZURpciwgbWF0Y2ghWzJdKVxuICBsZXQgbnVtZXJvID0gXCIwMDAwMDBcIiArIG1hdGNoIVszXVxuICBudW1lcm8gPSBudW1lcm8uc3Vic3RyaW5nKG51bWVyby5sZW5ndGggLSA2KVxuICBjb25zdCBudW1lcm9NaWxsaWVyc0RpciA9IHBhdGguam9pbihsZWdpc2xhdHVyZURpciwgbnVtZXJvLnN1YnN0cmluZygwLCAzKSlcbiAgZnMuZW5zdXJlRGlyU3luYyhudW1lcm9NaWxsaWVyc0RpcilcbiAgcmV0dXJuIHBhdGguam9pbihudW1lcm9NaWxsaWVyc0RpciwgdWlkKVxufVxuXG4vLyBHZXQgc3RhbmRhcmQgcGF0aCBmb3Igb2JqZWN0IHdpdGggdWlkIDogcmVwdWJsaXF1ZSA+IGxlZ2lzbGF0dXJlID4gZ3JvdXAgb2JqZWN0cyBieSB0aG91c2FuZHNcbmV4cG9ydCBmdW5jdGlvbiBwYXRoRnJvbVVpZChcbiAgZGF0YURpcjogc3RyaW5nLFxuICB1aWQ6IHN0cmluZyxcbiAgZGF0YVJlZ2V4cDogUmVnRXhwLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgbWF0Y2ggPSBkYXRhUmVnZXhwLmV4ZWModWlkKVxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgbWF0Y2gsXG4gICAgbnVsbCxcbiAgICBgVW5leHBlY3RlZCBzdHJ1Y3R1cmUgZm9yIG9iamVjdCB3aXRoIFVJRDogJHt1aWR9YCxcbiAgKVxuICBjb25zdCByZXB1YmxpcXVlRGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIG1hdGNoIVsxXSlcbiAgY29uc3QgbGVnaXNsYXR1cmVEaXIgPSBwYXRoLmpvaW4ocmVwdWJsaXF1ZURpciwgbWF0Y2ghWzJdKVxuICBsZXQgbnVtZXJvID0gXCIwMDAwMDBcIiArIG1hdGNoIVszXVxuICBudW1lcm8gPSBudW1lcm8uc3Vic3RyaW5nKG51bWVyby5sZW5ndGggLSA2KVxuICBjb25zdCBudW1lcm9NaWxsaWVyc0RpciA9IHBhdGguam9pbihsZWdpc2xhdHVyZURpciwgbnVtZXJvLnN1YnN0cmluZygwLCAzKSlcbiAgZnMuZW5zdXJlRGlyU3luYyhudW1lcm9NaWxsaWVyc0RpcilcbiAgcmV0dXJuIHBhdGguam9pbihudW1lcm9NaWxsaWVyc0RpciwgdWlkKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUYsc0JB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