@projectcor/maia-components 2.11.54-1 → 2.11.54-3

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.
@@ -126,10 +126,14 @@ export var mapChatMessages = function mapChatMessages(items, currentUser, cancel
126
126
  })) {
127
127
  groupStatus = 'rejected';
128
128
  }
129
+
130
+ // Texto que el agente envió junto al pedido de aprobación. Cuando está
131
+ // pendiente el backend manda un placeholder `[Pendiente...]` que no debe mostrarse.
132
+ var approvalMessage = firstItem.answer && !firstItem.answer.startsWith('[Pendiente') ? firstItem.answer : '';
129
133
  var _answerMessage = _objectSpread(_objectSpread({
130
134
  id: "approval-".concat(otid),
131
135
  agentId: firstItem.agent_id,
132
- message: '',
136
+ message: approvalMessage,
133
137
  date: new Date(firstItem.timestamp),
134
138
  user: ASSISTANT_USER,
135
139
  projectId: (_firstItem$project_me3 = firstItem.project_metadata) === null || _firstItem$project_me3 === void 0 ? void 0 : _firstItem$project_me3.id,
@@ -276,4 +280,4 @@ export var mapChatMessages = function mapChatMessages(items, currentUser, cancel
276
280
  });
277
281
  return mappedItems;
278
282
  };
279
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb3JMb2dvIiwianN4IiwiX2pzeCIsIkFTU0lTVEFOVF9VU0VSIiwiaWQiLCJuYW1lIiwiYXZhdGFySWNvbiIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInBvc2l0aW9uIiwidG9wIiwiY2hpbGRyZW4iLCJnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUiLCJhdHRhY2htZW50cyIsInJvbGUiLCJBcnJheSIsImlzQXJyYXkiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiYXR0YWNobWVudFJvbGUiLCJyZXNvbHZlQXBwcm92YWxTdGF0dXMiLCJzdGF0dXMiLCJtYXBDaGF0TWVzc2FnZXMiLCJpdGVtcyIsImN1cnJlbnRVc2VyIiwiY2FuY2VsbGVkVGV4dCIsImhpdGxHcm91cHMiLCJNYXAiLCJmb3JFYWNoIiwiaXRlbSIsImluZGV4IiwicGVuZGluZ19hcHByb3ZhbCIsIm90aWQiLCJvcmlnaW5hbF90aHJlYWRfaWQiLCJ0aHJlYWRfaWQiLCJtZXNzYWdlX2lkIiwiZXhpc3RpbmciLCJnZXQiLCJwdXNoIiwic2V0IiwiZmlyc3RJbmRleCIsImVtaXR0ZWRHcm91cHMiLCJTZXQiLCJtYXBwZWRJdGVtcyIsIl9pdGVtJHBlbmRpbmdfYXBwcm92YSIsIl9pdGVtJHByb2plY3RfbWV0YWRhdCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDIiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEyIiwiX2l0ZW0kcHJvamVjdF9tZXRhZGF0MyIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDQiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEzIiwiX2l0ZW0kY2xpZW50X21ldGFkYXRhNCIsImlzSGl0bEl0ZW0iLCJfZmlyc3RJdGVtJHByb2plY3RfbWUzIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lNCIsIl9maXJzdEl0ZW0kY2xpZW50X21ldDMiLCJfZmlyc3RJdGVtJGNsaWVudF9tZXQ0IiwiX2dyb3VwJGl0ZW1zJGZpbmQiLCJoYXMiLCJhZGQiLCJncm91cCIsImZpcnN0SXRlbSIsImlzTWFudWFsQXBwcm92YWwiLCJzb21lIiwiZ2kiLCJfZ2kkcGVuZGluZ19hcHByb3ZhbCIsIm1hbnVhbF9hcHByb3ZhbF9kZXRlY3RlZCIsInF1ZXN0aW9uIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lMiIsIl9maXJzdEl0ZW0kY2xpZW50X21ldCIsIl9maXJzdEl0ZW0kY2xpZW50X21ldDIiLCJfb2JqZWN0U3ByZWFkIiwiY29uY2F0IiwibWVtb3J5X3Nlc3Npb25faWQiLCJhZ2VudElkIiwiYWdlbnRfaWQiLCJtZXNzYWdlIiwiZGF0ZSIsIkRhdGUiLCJ0aW1lc3RhbXAiLCJ1c2VyIiwicHJvamVjdElkIiwicHJvamVjdF9tZXRhZGF0YSIsInByb2plY3ROYW1lIiwiY2xpZW50SWQiLCJjbGllbnRfbWV0YWRhdGEiLCJjbGllbnROYW1lIiwic291cmNlcyIsInByb2plY3RNZXRhZGF0YSIsImlzX2RlbGV0ZWQiLCJjb250ZXh0X21lc3NhZ2UiLCJjb250ZXh0TWVzc2FnZSIsInBlbmRpbmdBY3Rpb25zIiwibWFwIiwidG9vbF9jYWxsX2lkIiwidG9vbF9uYW1lIiwidG9vbF9hcmdzIiwic3RhdHVzZXMiLCJncm91cFN0YXR1cyIsInMiLCJhbnN3ZXJNZXNzYWdlIiwid2FzSGVscGZ1bCIsIndhc19oZWxwZnVsIiwiYXBwcm92YWwiLCJ0eXBlIiwicGVuZGluZ19hY3Rpb25zIiwidG90YWxfYWN0aW9ucyIsImxlbmd0aCIsInNlc3Npb25faWQiLCJtZXRhZGF0YSIsIl9naSRwZW5kaW5nX2FwcHJvdmFsMiIsIndhcm5pbmdfbWVzc2FnZSIsImZpbmQiLCJfZ2kkcGVuZGluZ19hcHByb3ZhbDMiLCJ1bmRlZmluZWQiLCJhcHByb3ZhbFN0YXR1cyIsInJlamVjdGVkSXRlbSIsImFuc3dlciIsInN0YXJ0c1dpdGgiLCJfcmVqZWN0ZWRJdGVtJHByb2plY3QiLCJfcmVqZWN0ZWRJdGVtJHByb2plY3QyIiwiX3JlamVjdGVkSXRlbSRjbGllbnRfIiwiX3JlamVjdGVkSXRlbSRjbGllbnRfMiIsInN1Z2dlc3Rpb25zIiwic3VnZ2VzdF9yZXBseSIsImlzX2NhbmNlbGxlZCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDUiLCJfaXRlbSRwcm9qZWN0X21ldGFkYXQ2IiwiX2l0ZW0kY2xpZW50X21ldGFkYXRhNSIsIl9pdGVtJGNsaWVudF9tZXRhZGF0YTYiLCJfaXRlbSRwcm9qZWN0X21ldGFkYXQ3IiwiX2l0ZW0kcHJvamVjdF9tZXRhZGF0OCIsIl9pdGVtJGNsaWVudF9tZXRhZGF0YTciLCJfaXRlbSRjbGllbnRfbWV0YWRhdGE4IiwiaXNGcm9udGVuZENhbmNlbGxlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy91dGlscy9tYXBDaGF0TWVzc2FnZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1jeWNsZSAqL1xuaW1wb3J0IHsgQ29yTG9nbyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2UsIENoYXRNZXNzYWdlVXNlciB9IGZyb20gJy4uLy4uL3R5cGVzL0NoYXQnXG4vKiBlc2xpbnQtZW5hYmxlIGltcG9ydC9uby1jeWNsZSAqL1xuXG5leHBvcnQgY29uc3QgQVNTSVNUQU5UX1VTRVI6IENoYXRNZXNzYWdlVXNlciA9IHtcbiAgaWQ6ICdhc3Npc3RhbnQnLFxuICBuYW1lOiAnTWFpYScsXG4gIGF2YXRhckljb246IChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJywgcG9zaXRpb246ICdzdGlja3knLCB0b3A6IDAgfX0+XG4gICAgICA8Q29yTG9nbyAvPlxuICAgIDwvZGl2PlxuICApLFxufVxuXG5jb25zdCBnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUgPSAoXG4gIGF0dGFjaG1lbnRzOiBDaGF0TWVzc2FnZUl0ZW1SZXNwb25zZVsnYXR0YWNobWVudHMnXSxcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCdcbikgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYXR0YWNobWVudHMpKSByZXR1cm4gW11cblxuICByZXR1cm4gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4ge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRSb2xlID0gYXR0YWNobWVudD8ucm9sZSB8fCAndXNlcidcbiAgICByZXR1cm4gcm9sZSA9PT0gJ2Fzc2lzdGFudCcgPyBhdHRhY2htZW50Um9sZSA9PT0gJ2Fzc2lzdGFudCcgOiBhdHRhY2htZW50Um9sZSAhPT0gJ2Fzc2lzdGFudCdcbiAgfSlcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBmcm9udGVuZCBhcHByb3ZhbFN0YXR1cyBmcm9tIHRoZSBiYWNrZW5kIE1lbW9yeVNlc3Npb24gc3RhdHVzLlxuICovXG5mdW5jdGlvbiByZXNvbHZlQXBwcm92YWxTdGF0dXMoc3RhdHVzPzogc3RyaW5nKTogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCcge1xuICBpZiAoc3RhdHVzID09PSAnY29tcGxldGVkJyB8fCBzdGF0dXMgPT09ICdhcHByb3ZlZCcpIHJldHVybiAnYXBwcm92ZWQnXG4gIGlmIChzdGF0dXMgPT09ICdyZWplY3RlZCcpIHJldHVybiAncmVqZWN0ZWQnXG4gIHJldHVybiAncGVuZGluZydcbn1cblxuZXhwb3J0IGNvbnN0IG1hcENoYXRNZXNzYWdlcyA9IChcbiAgaXRlbXM6IENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlW10sXG4gIGN1cnJlbnRVc2VyOiBDaGF0TWVzc2FnZVVzZXIsXG4gIGNhbmNlbGxlZFRleHQ/OiBzdHJpbmdcbik6IENoYXRNZXNzYWdlW10gPT4ge1xuICAvLyDilIDilIAgMS4gR3JvdXAgSElUTCBpdGVtcyB0aGF0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbmFsX3RocmVhZF9pZCDilIDilIBcbiAgLy8gU28gbXVsdGlwbGUgTWVtb3J5U2Vzc2lvbnMgZnJvbSBhIHNpbmdsZSBISVRMIGJhdGNoIHJlbmRlciBpbiBvbmUgQXBwcm92YWxCb3guXG4gIGNvbnN0IGhpdGxHcm91cHMgPSBuZXcgTWFwPHN0cmluZywgeyBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXTsgZmlyc3RJbmRleDogbnVtYmVyIH0+KClcbiAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICBpZiAoIWl0ZW0ucGVuZGluZ19hcHByb3ZhbCkgcmV0dXJuXG4gICAgY29uc3Qgb3RpZCA9IGl0ZW0ucGVuZGluZ19hcHByb3ZhbC5vcmlnaW5hbF90aHJlYWRfaWQgfHwgaXRlbS50aHJlYWRfaWQgfHwgaXRlbS5tZXNzYWdlX2lkXG4gICAgaWYgKCFvdGlkKSByZXR1cm5cblxuICAgIGNvbnN0IGV4aXN0aW5nID0gaGl0bEdyb3Vwcy5nZXQob3RpZClcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGV4aXN0aW5nLml0ZW1zLnB1c2goaXRlbSlcbiAgICB9IGVsc2Uge1xuICAgICAgaGl0bEdyb3Vwcy5zZXQob3RpZCwgeyBpdGVtczogW2l0ZW1dLCBmaXJzdEluZGV4OiBpbmRleCB9KVxuICAgIH1cbiAgfSlcblxuICAvLyBUcmFjayB3aGljaCBvcmlnaW5hbF90aHJlYWRfaWRzIGhhdmUgYWxyZWFkeSBiZWVuIGVtaXR0ZWRcbiAgY29uc3QgZW1pdHRlZEdyb3VwcyA9IG5ldyBTZXQ8c3RyaW5nPigpXG5cbiAgY29uc3QgbWFwcGVkSXRlbXM6IENoYXRNZXNzYWdlW10gPSBbXVxuXG4gIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgY29uc3QgaXNIaXRsSXRlbSA9ICEhaXRlbS5wZW5kaW5nX2FwcHJvdmFsXG4gICAgY29uc3Qgb3RpZCA9IGl0ZW0ucGVuZGluZ19hcHByb3ZhbD8ub3JpZ2luYWxfdGhyZWFkX2lkIHx8IGl0ZW0udGhyZWFkX2lkIHx8IGl0ZW0ubWVzc2FnZV9pZCB8fCAnJ1xuXG4gICAgLy8g4pSA4pSAIEhJVEwgaXRlbXM6IGVtaXQgb25jZSBwZXIgZ3JvdXAgKG9uIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBncm91cCkg4pSA4pSAXG4gICAgaWYgKGlzSGl0bEl0ZW0gJiYgb3RpZCkge1xuICAgICAgaWYgKGVtaXR0ZWRHcm91cHMuaGFzKG90aWQpKSByZXR1cm4gLy8gQWxyZWFkeSBlbWl0dGVkIHRoaXMgZ3JvdXBcbiAgICAgIGVtaXR0ZWRHcm91cHMuYWRkKG90aWQpXG5cbiAgICAgIGNvbnN0IGdyb3VwID0gaGl0bEdyb3Vwcy5nZXQob3RpZCkhXG4gICAgICBjb25zdCBmaXJzdEl0ZW0gPSBncm91cC5pdGVtc1swXVxuICAgICAgY29uc3QgaXNNYW51YWxBcHByb3ZhbCA9IGdyb3VwLml0ZW1zLnNvbWUoZ2kgPT4gZ2kucGVuZGluZ19hcHByb3ZhbD8ubWFudWFsX2FwcHJvdmFsX2RldGVjdGVkKVxuXG4gICAgICAvLyBPbmx5IGVtaXQgcXVlc3Rpb24gaWYgaXQgaGFzIGNvbnRlbnQgKGF2b2lkIGR1cGxpY2F0ZSBlbXB0eSBxdWVzdGlvbnMpXG4gICAgICBpZiAoZmlyc3RJdGVtLnF1ZXN0aW9uKSB7XG4gICAgICAgIG1hcHBlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgIGlkOiBgJHtmaXJzdEl0ZW0ubWVzc2FnZV9pZCB8fCBmaXJzdEl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LXF1ZXN0aW9uYCxcbiAgICAgICAgICBhZ2VudElkOiBmaXJzdEl0ZW0uYWdlbnRfaWQsXG4gICAgICAgICAgbWVzc2FnZTogZmlyc3RJdGVtLnF1ZXN0aW9uLFxuICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGZpcnN0SXRlbS50aW1lc3RhbXApLFxuICAgICAgICAgIHVzZXI6IGN1cnJlbnRVc2VyLFxuICAgICAgICAgIHByb2plY3RJZDogZmlyc3RJdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICBjbGllbnRJZDogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICAgICAgY2xpZW50TmFtZTogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICBhdHRhY2htZW50czogZ2V0TWVzc2FnZUF0dGFjaG1lbnRzQnlSb2xlKGZpcnN0SXRlbS5hdHRhY2htZW50cywgJ3VzZXInKSxcbiAgICAgICAgICBzb3VyY2VzOiBudWxsLFxuICAgICAgICAgIC4uLihmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgICAgICAgLi4uKGZpcnN0SXRlbS5jb250ZXh0X21lc3NhZ2UgPyB7IGNvbnRleHRNZXNzYWdlOiBmaXJzdEl0ZW0uY29udGV4dF9tZXNzYWdlIH0gOiB7fSksXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIC8vIE9taXRpciBlbCBtZW5zYWplIGNvbiBBcHByb3ZhbEJveCBwYXJhIGFwcm9iYWNpb25lcyBtYW51YWxlczogZGVqYSB2aXNpYmxlIHNvbG8gbGEgcHJlZ3VudGEgZGVsIHVzdWFyaW9cbiAgICAgIGlmIChpc01hbnVhbEFwcHJvdmFsKSByZXR1cm5cblxuICAgICAgLy8gQnVpbGQgbWVyZ2VkIHBlbmRpbmdfYWN0aW9ucyBmcm9tIGFsbCBpdGVtcyBpbiB0aGUgZ3JvdXBcbiAgICAgIGNvbnN0IHBlbmRpbmdBY3Rpb25zID0gZ3JvdXAuaXRlbXMubWFwKGdpID0+ICh7XG4gICAgICAgIHRocmVhZF9pZDogZ2kudGhyZWFkX2lkIHx8ICcnLFxuICAgICAgICB0b29sX2NhbGxfaWQ6IGdpLnBlbmRpbmdfYXBwcm92YWwhLnRvb2xfY2FsbF9pZCB8fCAnJyxcbiAgICAgICAgdG9vbF9uYW1lOiBnaS5wZW5kaW5nX2FwcHJvdmFsIS50b29sX25hbWUgfHwgJ3Vua25vd24nLFxuICAgICAgICB0b29sX2FyZ3M6IGdpLnBlbmRpbmdfYXBwcm92YWwhLnRvb2xfYXJncyB8fCB7fSxcbiAgICAgIH0pKVxuXG4gICAgICAvLyBSZXNvbHZlIHN0YXR1czogaWYgQU5ZIGlzIHBlbmRpbmcg4oaSIHBlbmRpbmc7IGlmIEFMTCBhcHByb3ZlZCDihpIgYXBwcm92ZWQ7IGVsc2UgcmVqZWN0ZWRcbiAgICAgIGNvbnN0IHN0YXR1c2VzID0gZ3JvdXAuaXRlbXMubWFwKGdpID0+IHJlc29sdmVBcHByb3ZhbFN0YXR1cyhnaS5zdGF0dXMpKVxuICAgICAgbGV0IGdyb3VwU3RhdHVzOiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJyA9ICdhcHByb3ZlZCdcbiAgICAgIGlmIChzdGF0dXNlcy5zb21lKHMgPT4gcyA9PT0gJ3BlbmRpbmcnKSkge1xuICAgICAgICBncm91cFN0YXR1cyA9ICdwZW5kaW5nJ1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXNlcy5zb21lKHMgPT4gcyA9PT0gJ3JlamVjdGVkJykpIHtcbiAgICAgICAgZ3JvdXBTdGF0dXMgPSAncmVqZWN0ZWQnXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFuc3dlck1lc3NhZ2U6IENoYXRNZXNzYWdlID0ge1xuICAgICAgICBpZDogYGFwcHJvdmFsLSR7b3RpZH1gLFxuICAgICAgICBhZ2VudElkOiBmaXJzdEl0ZW0uYWdlbnRfaWQsXG4gICAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgICBkYXRlOiBuZXcgRGF0ZShmaXJzdEl0ZW0udGltZXN0YW1wKSxcbiAgICAgICAgdXNlcjogQVNTSVNUQU5UX1VTRVIsXG4gICAgICAgIHByb2plY3RJZDogZmlyc3RJdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICBwcm9qZWN0TmFtZTogZmlyc3RJdGVtLnByb2plY3RfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgIGNsaWVudElkOiBmaXJzdEl0ZW0uY2xpZW50X21ldGFkYXRhPy5pZCxcbiAgICAgICAgY2xpZW50TmFtZTogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgd2FzSGVscGZ1bDogZmlyc3RJdGVtLndhc19oZWxwZnVsLFxuICAgICAgICBhdHRhY2htZW50czogZ2V0TWVzc2FnZUF0dGFjaG1lbnRzQnlSb2xlKGZpcnN0SXRlbS5hdHRhY2htZW50cywgJ2Fzc2lzdGFudCcpLFxuICAgICAgICBzb3VyY2VzOiBbXSxcbiAgICAgICAgLi4uKGZpcnN0SXRlbS5wcm9qZWN0X21ldGFkYXRhICYmIHsgcHJvamVjdE1ldGFkYXRhOiB7IGlzX2RlbGV0ZWQ6IGZpcnN0SXRlbS5wcm9qZWN0X21ldGFkYXRhLmlzX2RlbGV0ZWQgfSB9KSxcbiAgICAgICAgYXBwcm92YWw6IHtcbiAgICAgICAgICB0eXBlOiAnYXBwcm92YWxfcmVxdWlyZWQnLFxuICAgICAgICAgIHBlbmRpbmdfYWN0aW9uczogcGVuZGluZ0FjdGlvbnMsXG4gICAgICAgICAgdG90YWxfYWN0aW9uczogcGVuZGluZ0FjdGlvbnMubGVuZ3RoLFxuICAgICAgICAgIG9yaWdpbmFsX3RocmVhZF9pZDogb3RpZCxcbiAgICAgICAgICBzZXNzaW9uX2lkOiBmaXJzdEl0ZW0ucGVuZGluZ19hcHByb3ZhbCEuc2Vzc2lvbl9pZCB8fCAnJyxcbiAgICAgICAgICBtZXRhZGF0YTogZmlyc3RJdGVtLnBlbmRpbmdfYXBwcm92YWwhLm1ldGFkYXRhIHx8IHt9LFxuICAgICAgICAgIG1hbnVhbF9hcHByb3ZhbF9kZXRlY3RlZDogZ3JvdXAuaXRlbXMuc29tZShnaSA9PiBnaS5wZW5kaW5nX2FwcHJvdmFsPy5tYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQpLFxuICAgICAgICAgIHdhcm5pbmdfbWVzc2FnZTpcbiAgICAgICAgICAgIGdyb3VwLml0ZW1zLmZpbmQoZ2kgPT4gZ2kucGVuZGluZ19hcHByb3ZhbD8ud2FybmluZ19tZXNzYWdlKT8ucGVuZGluZ19hcHByb3ZhbD8ud2FybmluZ19tZXNzYWdlIHx8XG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICAgIGFwcHJvdmFsU3RhdHVzOiBncm91cFN0YXR1cyxcbiAgICAgIH1cblxuICAgICAgbWFwcGVkSXRlbXMucHVzaChhbnN3ZXJNZXNzYWdlKVxuXG4gICAgICAvLyBJZiByZWplY3RlZCwgYWRkIHRoZSByZWplY3Rpb24gbWVzc2FnZVxuICAgICAgaWYgKGdyb3VwU3RhdHVzID09PSAncmVqZWN0ZWQnKSB7XG4gICAgICAgIGNvbnN0IHJlamVjdGVkSXRlbSA9IGdyb3VwLml0ZW1zLmZpbmQoXG4gICAgICAgICAgZ2kgPT4gZ2kuc3RhdHVzID09PSAncmVqZWN0ZWQnICYmIGdpLmFuc3dlciAmJiAhZ2kuYW5zd2VyLnN0YXJ0c1dpdGgoJ1tQZW5kaWVudGUnKVxuICAgICAgICApXG4gICAgICAgIGlmIChyZWplY3RlZEl0ZW0pIHtcbiAgICAgICAgICBtYXBwZWRJdGVtcy5wdXNoKHtcbiAgICAgICAgICAgIGlkOiBgJHtyZWplY3RlZEl0ZW0ubWVzc2FnZV9pZCB8fCByZWplY3RlZEl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LXJlamVjdGlvbmAsXG4gICAgICAgICAgICBhZ2VudElkOiByZWplY3RlZEl0ZW0uYWdlbnRfaWQsXG4gICAgICAgICAgICBtZXNzYWdlOiByZWplY3RlZEl0ZW0uYW5zd2VyLFxuICAgICAgICAgICAgZGF0ZTogbmV3IERhdGUocmVqZWN0ZWRJdGVtLnRpbWVzdGFtcCksXG4gICAgICAgICAgICB1c2VyOiBBU1NJU1RBTlRfVVNFUixcbiAgICAgICAgICAgIHByb2plY3RJZDogcmVqZWN0ZWRJdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICAgICAgcHJvamVjdE5hbWU6IHJlamVjdGVkSXRlbS5wcm9qZWN0X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICAgICAgY2xpZW50SWQ6IHJlamVjdGVkSXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgICAgICAgY2xpZW50TmFtZTogcmVqZWN0ZWRJdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICAgICAgICAgIHNvdXJjZXM6IFtdLFxuICAgICAgICAgICAgLi4uKHJlamVjdGVkSXRlbS5wcm9qZWN0X21ldGFkYXRhICYmIHtcbiAgICAgICAgICAgICAgcHJvamVjdE1ldGFkYXRhOiB7IGlzX2RlbGV0ZWQ6IHJlamVjdGVkSXRlbS5wcm9qZWN0X21ldGFkYXRhLmlzX2RlbGV0ZWQgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8g4pSA4pSAIE5vcm1hbCAobm9uLUhJVEwpIGl0ZW1zIOKUgOKUgFxuICAgIG1hcHBlZEl0ZW1zLnB1c2goe1xuICAgICAgaWQ6IGAke2l0ZW0ubWVzc2FnZV9pZCB8fCBpdGVtLm1lbW9yeV9zZXNzaW9uX2lkfS1xdWVzdGlvbmAsXG4gICAgICBhZ2VudElkOiBpdGVtLmFnZW50X2lkLFxuICAgICAgbWVzc2FnZTogaXRlbS5xdWVzdGlvbixcbiAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0udGltZXN0YW1wKSxcbiAgICAgIHVzZXI6IGN1cnJlbnRVc2VyLFxuICAgICAgcHJvamVjdElkOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgcHJvamVjdE5hbWU6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgIGNsaWVudElkOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICBjbGllbnROYW1lOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgIGF0dGFjaG1lbnRzOiBnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUoaXRlbS5hdHRhY2htZW50cywgJ3VzZXInKSxcbiAgICAgIHNvdXJjZXM6IG51bGwsXG4gICAgICAuLi4oaXRlbS5wcm9qZWN0X21ldGFkYXRhICYmIHsgcHJvamVjdE1ldGFkYXRhOiB7IGlzX2RlbGV0ZWQ6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgICAuLi4oaXRlbS5jb250ZXh0X21lc3NhZ2UgPyB7IGNvbnRleHRNZXNzYWdlOiBpdGVtLmNvbnRleHRfbWVzc2FnZSB9IDoge30pLFxuICAgIH0pXG5cbiAgICBjb25zdCBhbnN3ZXJNZXNzYWdlOiBDaGF0TWVzc2FnZSA9IHtcbiAgICAgIGlkOiBgJHtpdGVtLm1lc3NhZ2VfaWQgfHwgaXRlbS5tZW1vcnlfc2Vzc2lvbl9pZH0tYW5zd2VyYCxcbiAgICAgIGFnZW50SWQ6IGl0ZW0uYWdlbnRfaWQsXG4gICAgICBtZXNzYWdlOiBpdGVtLmFuc3dlcixcbiAgICAgIGRhdGU6IG5ldyBEYXRlKGl0ZW0udGltZXN0YW1wKSxcbiAgICAgIHVzZXI6IEFTU0lTVEFOVF9VU0VSLFxuICAgICAgcHJvamVjdElkOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgcHJvamVjdE5hbWU6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgIGNsaWVudElkOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICBjbGllbnROYW1lOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgIHdhc0hlbHBmdWw6IGl0ZW0ud2FzX2hlbHBmdWwsXG4gICAgICBhdHRhY2htZW50czogZ2V0TWVzc2FnZUF0dGFjaG1lbnRzQnlSb2xlKGl0ZW0uYXR0YWNobWVudHMsICdhc3Npc3RhbnQnKSxcbiAgICAgIHNvdXJjZXM6IGl0ZW0uc291cmNlcyB8fCBbXSxcbiAgICAgIHN1Z2dlc3Rpb25zOiBpdGVtLnN1Z2dlc3RfcmVwbHkgfHwgaXRlbS5zdWdnZXN0aW9ucyB8fCBbXSxcbiAgICAgIGlzX2NhbmNlbGxlZDogaXRlbS5pc19jYW5jZWxsZWQsXG4gICAgICAuLi4oaXRlbS5wcm9qZWN0X21ldGFkYXRhICYmIHsgcHJvamVjdE1ldGFkYXRhOiB7IGlzX2RlbGV0ZWQ6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgfVxuXG4gICAgbWFwcGVkSXRlbXMucHVzaChhbnN3ZXJNZXNzYWdlKVxuXG4gICAgaWYgKGl0ZW0uc3RhdHVzID09PSAncmVqZWN0ZWQnICYmIGl0ZW0uYW5zd2VyICYmICFpdGVtLmFuc3dlci5zdGFydHNXaXRoKCdbUGVuZGllbnRlJykpIHtcbiAgICAgIG1hcHBlZEl0ZW1zLnB1c2goe1xuICAgICAgICBpZDogYCR7aXRlbS5tZXNzYWdlX2lkIHx8IGl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LXJlamVjdGlvbmAsXG4gICAgICAgIGFnZW50SWQ6IGl0ZW0uYWdlbnRfaWQsXG4gICAgICAgIG1lc3NhZ2U6IGl0ZW0uYW5zd2VyLFxuICAgICAgICBkYXRlOiBuZXcgRGF0ZShpdGVtLnRpbWVzdGFtcCksXG4gICAgICAgIHVzZXI6IEFTU0lTVEFOVF9VU0VSLFxuICAgICAgICBwcm9qZWN0SWQ6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8uaWQsXG4gICAgICAgIHByb2plY3ROYW1lOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgIGNsaWVudElkOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICAgIGNsaWVudE5hbWU6IGl0ZW0uY2xpZW50X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICBhdHRhY2htZW50czogW10sXG4gICAgICAgIHNvdXJjZXM6IFtdLFxuICAgICAgICAuLi4oaXRlbS5wcm9qZWN0X21ldGFkYXRhICYmIHsgcHJvamVjdE1ldGFkYXRhOiB7IGlzX2RlbGV0ZWQ6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChpdGVtLmlzX2NhbmNlbGxlZCkge1xuICAgICAgbWFwcGVkSXRlbXMucHVzaCh7XG4gICAgICAgIGlkOiBgJHtpdGVtLm1lc3NhZ2VfaWQgfHwgaXRlbS5tZW1vcnlfc2Vzc2lvbl9pZH0tY2FuY2VsbGVkYCxcbiAgICAgICAgYWdlbnRJZDogaXRlbS5hZ2VudF9pZCxcbiAgICAgICAgbWVzc2FnZTogY2FuY2VsbGVkVGV4dCB8fCAnU2UgaGEgY2FuY2VsYWRvIGxhIGLDunNxdWVkYS4nLFxuICAgICAgICBkYXRlOiBuZXcgRGF0ZShpdGVtLnRpbWVzdGFtcCksXG4gICAgICAgIHVzZXI6IEFTU0lTVEFOVF9VU0VSLFxuICAgICAgICBwcm9qZWN0SWQ6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8uaWQsXG4gICAgICAgIHByb2plY3ROYW1lOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgIGNsaWVudElkOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICAgIGNsaWVudE5hbWU6IGl0ZW0uY2xpZW50X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICBpc0Zyb250ZW5kQ2FuY2VsbGVkOiB0cnVlLFxuICAgICAgICAuLi4oaXRlbS5wcm9qZWN0X21ldGFkYXRhICYmIHsgcHJvamVjdE1ldGFkYXRhOiB7IGlzX2RlbGV0ZWQ6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgICB9KVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gbWFwcGVkSXRlbXNcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQSxTQUFTQSxPQUFPLFFBQVEsOEJBQThCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBRXREOztBQUVBLE9BQU8sSUFBTUMsY0FBK0IsR0FBRztFQUM3Q0MsRUFBRSxFQUFFLFdBQVc7RUFDZkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsVUFBVSxlQUNSSixJQUFBO0lBQUtLLEtBQUssRUFBRTtNQUFFQyxPQUFPLEVBQUUsTUFBTTtNQUFFQyxVQUFVLEVBQUUsUUFBUTtNQUFFQyxjQUFjLEVBQUUsUUFBUTtNQUFFQyxRQUFRLEVBQUUsUUFBUTtNQUFFQyxHQUFHLEVBQUU7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
283
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb3JMb2dvIiwianN4IiwiX2pzeCIsIkFTU0lTVEFOVF9VU0VSIiwiaWQiLCJuYW1lIiwiYXZhdGFySWNvbiIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInBvc2l0aW9uIiwidG9wIiwiY2hpbGRyZW4iLCJnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUiLCJhdHRhY2htZW50cyIsInJvbGUiLCJBcnJheSIsImlzQXJyYXkiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiYXR0YWNobWVudFJvbGUiLCJyZXNvbHZlQXBwcm92YWxTdGF0dXMiLCJzdGF0dXMiLCJtYXBDaGF0TWVzc2FnZXMiLCJpdGVtcyIsImN1cnJlbnRVc2VyIiwiY2FuY2VsbGVkVGV4dCIsImhpdGxHcm91cHMiLCJNYXAiLCJmb3JFYWNoIiwiaXRlbSIsImluZGV4IiwicGVuZGluZ19hcHByb3ZhbCIsIm90aWQiLCJvcmlnaW5hbF90aHJlYWRfaWQiLCJ0aHJlYWRfaWQiLCJtZXNzYWdlX2lkIiwiZXhpc3RpbmciLCJnZXQiLCJwdXNoIiwic2V0IiwiZmlyc3RJbmRleCIsImVtaXR0ZWRHcm91cHMiLCJTZXQiLCJtYXBwZWRJdGVtcyIsIl9pdGVtJHBlbmRpbmdfYXBwcm92YSIsIl9pdGVtJHByb2plY3RfbWV0YWRhdCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDIiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEyIiwiX2l0ZW0kcHJvamVjdF9tZXRhZGF0MyIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDQiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEzIiwiX2l0ZW0kY2xpZW50X21ldGFkYXRhNCIsImlzSGl0bEl0ZW0iLCJfZmlyc3RJdGVtJHByb2plY3RfbWUzIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lNCIsIl9maXJzdEl0ZW0kY2xpZW50X21ldDMiLCJfZmlyc3RJdGVtJGNsaWVudF9tZXQ0IiwiX2dyb3VwJGl0ZW1zJGZpbmQiLCJoYXMiLCJhZGQiLCJncm91cCIsImZpcnN0SXRlbSIsImlzTWFudWFsQXBwcm92YWwiLCJzb21lIiwiZ2kiLCJfZ2kkcGVuZGluZ19hcHByb3ZhbCIsIm1hbnVhbF9hcHByb3ZhbF9kZXRlY3RlZCIsInF1ZXN0aW9uIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lIiwiX2ZpcnN0SXRlbSRwcm9qZWN0X21lMiIsIl9maXJzdEl0ZW0kY2xpZW50X21ldCIsIl9maXJzdEl0ZW0kY2xpZW50X21ldDIiLCJfb2JqZWN0U3ByZWFkIiwiY29uY2F0IiwibWVtb3J5X3Nlc3Npb25faWQiLCJhZ2VudElkIiwiYWdlbnRfaWQiLCJtZXNzYWdlIiwiZGF0ZSIsIkRhdGUiLCJ0aW1lc3RhbXAiLCJ1c2VyIiwicHJvamVjdElkIiwicHJvamVjdF9tZXRhZGF0YSIsInByb2plY3ROYW1lIiwiY2xpZW50SWQiLCJjbGllbnRfbWV0YWRhdGEiLCJjbGllbnROYW1lIiwic291cmNlcyIsInByb2plY3RNZXRhZGF0YSIsImlzX2RlbGV0ZWQiLCJjb250ZXh0X21lc3NhZ2UiLCJjb250ZXh0TWVzc2FnZSIsInBlbmRpbmdBY3Rpb25zIiwibWFwIiwidG9vbF9jYWxsX2lkIiwidG9vbF9uYW1lIiwidG9vbF9hcmdzIiwic3RhdHVzZXMiLCJncm91cFN0YXR1cyIsInMiLCJhcHByb3ZhbE1lc3NhZ2UiLCJhbnN3ZXIiLCJzdGFydHNXaXRoIiwiYW5zd2VyTWVzc2FnZSIsIndhc0hlbHBmdWwiLCJ3YXNfaGVscGZ1bCIsImFwcHJvdmFsIiwidHlwZSIsInBlbmRpbmdfYWN0aW9ucyIsInRvdGFsX2FjdGlvbnMiLCJsZW5ndGgiLCJzZXNzaW9uX2lkIiwibWV0YWRhdGEiLCJfZ2kkcGVuZGluZ19hcHByb3ZhbDIiLCJ3YXJuaW5nX21lc3NhZ2UiLCJmaW5kIiwiX2dpJHBlbmRpbmdfYXBwcm92YWwzIiwidW5kZWZpbmVkIiwiYXBwcm92YWxTdGF0dXMiLCJyZWplY3RlZEl0ZW0iLCJfcmVqZWN0ZWRJdGVtJHByb2plY3QiLCJfcmVqZWN0ZWRJdGVtJHByb2plY3QyIiwiX3JlamVjdGVkSXRlbSRjbGllbnRfIiwiX3JlamVjdGVkSXRlbSRjbGllbnRfMiIsInN1Z2dlc3Rpb25zIiwic3VnZ2VzdF9yZXBseSIsImlzX2NhbmNlbGxlZCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDUiLCJfaXRlbSRwcm9qZWN0X21ldGFkYXQ2IiwiX2l0ZW0kY2xpZW50X21ldGFkYXRhNSIsIl9pdGVtJGNsaWVudF9tZXRhZGF0YTYiLCJfaXRlbSRwcm9qZWN0X21ldGFkYXQ3IiwiX2l0ZW0kcHJvamVjdF9tZXRhZGF0OCIsIl9pdGVtJGNsaWVudF9tZXRhZGF0YTciLCJfaXRlbSRjbGllbnRfbWV0YWRhdGE4IiwiaXNGcm9udGVuZENhbmNlbGxlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy91dGlscy9tYXBDaGF0TWVzc2FnZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1jeWNsZSAqL1xuaW1wb3J0IHsgQ29yTG9nbyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2UsIENoYXRNZXNzYWdlVXNlciB9IGZyb20gJy4uLy4uL3R5cGVzL0NoYXQnXG4vKiBlc2xpbnQtZW5hYmxlIGltcG9ydC9uby1jeWNsZSAqL1xuXG5leHBvcnQgY29uc3QgQVNTSVNUQU5UX1VTRVI6IENoYXRNZXNzYWdlVXNlciA9IHtcbiAgaWQ6ICdhc3Npc3RhbnQnLFxuICBuYW1lOiAnTWFpYScsXG4gIGF2YXRhckljb246IChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJywgcG9zaXRpb246ICdzdGlja3knLCB0b3A6IDAgfX0+XG4gICAgICA8Q29yTG9nbyAvPlxuICAgIDwvZGl2PlxuICApLFxufVxuXG5jb25zdCBnZXRNZXNzYWdlQXR0YWNobWVudHNCeVJvbGUgPSAoXG4gIGF0dGFjaG1lbnRzOiBDaGF0TWVzc2FnZUl0ZW1SZXNwb25zZVsnYXR0YWNobWVudHMnXSxcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCdcbikgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYXR0YWNobWVudHMpKSByZXR1cm4gW11cblxuICByZXR1cm4gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4ge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRSb2xlID0gYXR0YWNobWVudD8ucm9sZSB8fCAndXNlcidcbiAgICByZXR1cm4gcm9sZSA9PT0gJ2Fzc2lzdGFudCcgPyBhdHRhY2htZW50Um9sZSA9PT0gJ2Fzc2lzdGFudCcgOiBhdHRhY2htZW50Um9sZSAhPT0gJ2Fzc2lzdGFudCdcbiAgfSlcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBmcm9udGVuZCBhcHByb3ZhbFN0YXR1cyBmcm9tIHRoZSBiYWNrZW5kIE1lbW9yeVNlc3Npb24gc3RhdHVzLlxuICovXG5mdW5jdGlvbiByZXNvbHZlQXBwcm92YWxTdGF0dXMoc3RhdHVzPzogc3RyaW5nKTogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCcge1xuICBpZiAoc3RhdHVzID09PSAnY29tcGxldGVkJyB8fCBzdGF0dXMgPT09ICdhcHByb3ZlZCcpIHJldHVybiAnYXBwcm92ZWQnXG4gIGlmIChzdGF0dXMgPT09ICdyZWplY3RlZCcpIHJldHVybiAncmVqZWN0ZWQnXG4gIHJldHVybiAncGVuZGluZydcbn1cblxuZXhwb3J0IGNvbnN0IG1hcENoYXRNZXNzYWdlcyA9IChcbiAgaXRlbXM6IENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlW10sXG4gIGN1cnJlbnRVc2VyOiBDaGF0TWVzc2FnZVVzZXIsXG4gIGNhbmNlbGxlZFRleHQ/OiBzdHJpbmdcbik6IENoYXRNZXNzYWdlW10gPT4ge1xuICAvLyDilIDilIAgMS4gR3JvdXAgSElUTCBpdGVtcyB0aGF0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbmFsX3RocmVhZF9pZCDilIDilIBcbiAgLy8gU28gbXVsdGlwbGUgTWVtb3J5U2Vzc2lvbnMgZnJvbSBhIHNpbmdsZSBISVRMIGJhdGNoIHJlbmRlciBpbiBvbmUgQXBwcm92YWxCb3guXG4gIGNvbnN0IGhpdGxHcm91cHMgPSBuZXcgTWFwPHN0cmluZywgeyBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXTsgZmlyc3RJbmRleDogbnVtYmVyIH0+KClcbiAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICBpZiAoIWl0ZW0ucGVuZGluZ19hcHByb3ZhbCkgcmV0dXJuXG4gICAgY29uc3Qgb3RpZCA9IGl0ZW0ucGVuZGluZ19hcHByb3ZhbC5vcmlnaW5hbF90aHJlYWRfaWQgfHwgaXRlbS50aHJlYWRfaWQgfHwgaXRlbS5tZXNzYWdlX2lkXG4gICAgaWYgKCFvdGlkKSByZXR1cm5cblxuICAgIGNvbnN0IGV4aXN0aW5nID0gaGl0bEdyb3Vwcy5nZXQob3RpZClcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGV4aXN0aW5nLml0ZW1zLnB1c2goaXRlbSlcbiAgICB9IGVsc2Uge1xuICAgICAgaGl0bEdyb3Vwcy5zZXQob3RpZCwgeyBpdGVtczogW2l0ZW1dLCBmaXJzdEluZGV4OiBpbmRleCB9KVxuICAgIH1cbiAgfSlcblxuICAvLyBUcmFjayB3aGljaCBvcmlnaW5hbF90aHJlYWRfaWRzIGhhdmUgYWxyZWFkeSBiZWVuIGVtaXR0ZWRcbiAgY29uc3QgZW1pdHRlZEdyb3VwcyA9IG5ldyBTZXQ8c3RyaW5nPigpXG5cbiAgY29uc3QgbWFwcGVkSXRlbXM6IENoYXRNZXNzYWdlW10gPSBbXVxuXG4gIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgY29uc3QgaXNIaXRsSXRlbSA9ICEhaXRlbS5wZW5kaW5nX2FwcHJvdmFsXG4gICAgY29uc3Qgb3RpZCA9IGl0ZW0ucGVuZGluZ19hcHByb3ZhbD8ub3JpZ2luYWxfdGhyZWFkX2lkIHx8IGl0ZW0udGhyZWFkX2lkIHx8IGl0ZW0ubWVzc2FnZV9pZCB8fCAnJ1xuXG4gICAgLy8g4pSA4pSAIEhJVEwgaXRlbXM6IGVtaXQgb25jZSBwZXIgZ3JvdXAgKG9uIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBncm91cCkg4pSA4pSAXG4gICAgaWYgKGlzSGl0bEl0ZW0gJiYgb3RpZCkge1xuICAgICAgaWYgKGVtaXR0ZWRHcm91cHMuaGFzKG90aWQpKSByZXR1cm4gLy8gQWxyZWFkeSBlbWl0dGVkIHRoaXMgZ3JvdXBcbiAgICAgIGVtaXR0ZWRHcm91cHMuYWRkKG90aWQpXG5cbiAgICAgIGNvbnN0IGdyb3VwID0gaGl0bEdyb3Vwcy5nZXQob3RpZCkhXG4gICAgICBjb25zdCBmaXJzdEl0ZW0gPSBncm91cC5pdGVtc1swXVxuICAgICAgY29uc3QgaXNNYW51YWxBcHByb3ZhbCA9IGdyb3VwLml0ZW1zLnNvbWUoZ2kgPT4gZ2kucGVuZGluZ19hcHByb3ZhbD8ubWFudWFsX2FwcHJvdmFsX2RldGVjdGVkKVxuXG4gICAgICAvLyBPbmx5IGVtaXQgcXVlc3Rpb24gaWYgaXQgaGFzIGNvbnRlbnQgKGF2b2lkIGR1cGxpY2F0ZSBlbXB0eSBxdWVzdGlvbnMpXG4gICAgICBpZiAoZmlyc3RJdGVtLnF1ZXN0aW9uKSB7XG4gICAgICAgIG1hcHBlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgIGlkOiBgJHtmaXJzdEl0ZW0ubWVzc2FnZV9pZCB8fCBmaXJzdEl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LXF1ZXN0aW9uYCxcbiAgICAgICAgICBhZ2VudElkOiBmaXJzdEl0ZW0uYWdlbnRfaWQsXG4gICAgICAgICAgbWVzc2FnZTogZmlyc3RJdGVtLnF1ZXN0aW9uLFxuICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGZpcnN0SXRlbS50aW1lc3RhbXApLFxuICAgICAgICAgIHVzZXI6IGN1cnJlbnRVc2VyLFxuICAgICAgICAgIHByb2plY3RJZDogZmlyc3RJdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICBjbGllbnRJZDogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICAgICAgY2xpZW50TmFtZTogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICBhdHRhY2htZW50czogZ2V0TWVzc2FnZUF0dGFjaG1lbnRzQnlSb2xlKGZpcnN0SXRlbS5hdHRhY2htZW50cywgJ3VzZXInKSxcbiAgICAgICAgICBzb3VyY2VzOiBudWxsLFxuICAgICAgICAgIC4uLihmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgICAgICAgLi4uKGZpcnN0SXRlbS5jb250ZXh0X21lc3NhZ2UgPyB7IGNvbnRleHRNZXNzYWdlOiBmaXJzdEl0ZW0uY29udGV4dF9tZXNzYWdlIH0gOiB7fSksXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIC8vIE9taXRpciBlbCBtZW5zYWplIGNvbiBBcHByb3ZhbEJveCBwYXJhIGFwcm9iYWNpb25lcyBtYW51YWxlczogZGVqYSB2aXNpYmxlIHNvbG8gbGEgcHJlZ3VudGEgZGVsIHVzdWFyaW9cbiAgICAgIGlmIChpc01hbnVhbEFwcHJvdmFsKSByZXR1cm5cblxuICAgICAgLy8gQnVpbGQgbWVyZ2VkIHBlbmRpbmdfYWN0aW9ucyBmcm9tIGFsbCBpdGVtcyBpbiB0aGUgZ3JvdXBcbiAgICAgIGNvbnN0IHBlbmRpbmdBY3Rpb25zID0gZ3JvdXAuaXRlbXMubWFwKGdpID0+ICh7XG4gICAgICAgIHRocmVhZF9pZDogZ2kudGhyZWFkX2lkIHx8ICcnLFxuICAgICAgICB0b29sX2NhbGxfaWQ6IGdpLnBlbmRpbmdfYXBwcm92YWwhLnRvb2xfY2FsbF9pZCB8fCAnJyxcbiAgICAgICAgdG9vbF9uYW1lOiBnaS5wZW5kaW5nX2FwcHJvdmFsIS50b29sX25hbWUgfHwgJ3Vua25vd24nLFxuICAgICAgICB0b29sX2FyZ3M6IGdpLnBlbmRpbmdfYXBwcm92YWwhLnRvb2xfYXJncyB8fCB7fSxcbiAgICAgIH0pKVxuXG4gICAgICAvLyBSZXNvbHZlIHN0YXR1czogaWYgQU5ZIGlzIHBlbmRpbmcg4oaSIHBlbmRpbmc7IGlmIEFMTCBhcHByb3ZlZCDihpIgYXBwcm92ZWQ7IGVsc2UgcmVqZWN0ZWRcbiAgICAgIGNvbnN0IHN0YXR1c2VzID0gZ3JvdXAuaXRlbXMubWFwKGdpID0+IHJlc29sdmVBcHByb3ZhbFN0YXR1cyhnaS5zdGF0dXMpKVxuICAgICAgbGV0IGdyb3VwU3RhdHVzOiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJyA9ICdhcHByb3ZlZCdcbiAgICAgIGlmIChzdGF0dXNlcy5zb21lKHMgPT4gcyA9PT0gJ3BlbmRpbmcnKSkge1xuICAgICAgICBncm91cFN0YXR1cyA9ICdwZW5kaW5nJ1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXNlcy5zb21lKHMgPT4gcyA9PT0gJ3JlamVjdGVkJykpIHtcbiAgICAgICAgZ3JvdXBTdGF0dXMgPSAncmVqZWN0ZWQnXG4gICAgICB9XG5cbiAgICAgIC8vIFRleHRvIHF1ZSBlbCBhZ2VudGUgZW52acOzIGp1bnRvIGFsIHBlZGlkbyBkZSBhcHJvYmFjacOzbi4gQ3VhbmRvIGVzdMOhXG4gICAgICAvLyBwZW5kaWVudGUgZWwgYmFja2VuZCBtYW5kYSB1biBwbGFjZWhvbGRlciBgW1BlbmRpZW50ZS4uLl1gIHF1ZSBubyBkZWJlIG1vc3RyYXJzZS5cbiAgICAgIGNvbnN0IGFwcHJvdmFsTWVzc2FnZSA9IGZpcnN0SXRlbS5hbnN3ZXIgJiYgIWZpcnN0SXRlbS5hbnN3ZXIuc3RhcnRzV2l0aCgnW1BlbmRpZW50ZScpID8gZmlyc3RJdGVtLmFuc3dlciA6ICcnXG5cbiAgICAgIGNvbnN0IGFuc3dlck1lc3NhZ2U6IENoYXRNZXNzYWdlID0ge1xuICAgICAgICBpZDogYGFwcHJvdmFsLSR7b3RpZH1gLFxuICAgICAgICBhZ2VudElkOiBmaXJzdEl0ZW0uYWdlbnRfaWQsXG4gICAgICAgIG1lc3NhZ2U6IGFwcHJvdmFsTWVzc2FnZSxcbiAgICAgICAgZGF0ZTogbmV3IERhdGUoZmlyc3RJdGVtLnRpbWVzdGFtcCksXG4gICAgICAgIHVzZXI6IEFTU0lTVEFOVF9VU0VSLFxuICAgICAgICBwcm9qZWN0SWQ6IGZpcnN0SXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgICAgcHJvamVjdE5hbWU6IGZpcnN0SXRlbS5wcm9qZWN0X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICBjbGllbnRJZDogZmlyc3RJdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICAgIGNsaWVudE5hbWU6IGZpcnN0SXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgIHdhc0hlbHBmdWw6IGZpcnN0SXRlbS53YXNfaGVscGZ1bCxcbiAgICAgICAgYXR0YWNobWVudHM6IGdldE1lc3NhZ2VBdHRhY2htZW50c0J5Um9sZShmaXJzdEl0ZW0uYXR0YWNobWVudHMsICdhc3Npc3RhbnQnKSxcbiAgICAgICAgc291cmNlczogW10sXG4gICAgICAgIC4uLihmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBmaXJzdEl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0gfSksXG4gICAgICAgIGFwcHJvdmFsOiB7XG4gICAgICAgICAgdHlwZTogJ2FwcHJvdmFsX3JlcXVpcmVkJyxcbiAgICAgICAgICBwZW5kaW5nX2FjdGlvbnM6IHBlbmRpbmdBY3Rpb25zLFxuICAgICAgICAgIHRvdGFsX2FjdGlvbnM6IHBlbmRpbmdBY3Rpb25zLmxlbmd0aCxcbiAgICAgICAgICBvcmlnaW5hbF90aHJlYWRfaWQ6IG90aWQsXG4gICAgICAgICAgc2Vzc2lvbl9pZDogZmlyc3RJdGVtLnBlbmRpbmdfYXBwcm92YWwhLnNlc3Npb25faWQgfHwgJycsXG4gICAgICAgICAgbWV0YWRhdGE6IGZpcnN0SXRlbS5wZW5kaW5nX2FwcHJvdmFsIS5tZXRhZGF0YSB8fCB7fSxcbiAgICAgICAgICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ6IGdyb3VwLml0ZW1zLnNvbWUoZ2kgPT4gZ2kucGVuZGluZ19hcHByb3ZhbD8ubWFudWFsX2FwcHJvdmFsX2RldGVjdGVkKSxcbiAgICAgICAgICB3YXJuaW5nX21lc3NhZ2U6XG4gICAgICAgICAgICBncm91cC5pdGVtcy5maW5kKGdpID0+IGdpLnBlbmRpbmdfYXBwcm92YWw/Lndhcm5pbmdfbWVzc2FnZSk/LnBlbmRpbmdfYXBwcm92YWw/Lndhcm5pbmdfbWVzc2FnZSB8fFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgICBhcHByb3ZhbFN0YXR1czogZ3JvdXBTdGF0dXMsXG4gICAgICB9XG5cbiAgICAgIG1hcHBlZEl0ZW1zLnB1c2goYW5zd2VyTWVzc2FnZSlcblxuICAgICAgLy8gSWYgcmVqZWN0ZWQsIGFkZCB0aGUgcmVqZWN0aW9uIG1lc3NhZ2VcbiAgICAgIGlmIChncm91cFN0YXR1cyA9PT0gJ3JlamVjdGVkJykge1xuICAgICAgICBjb25zdCByZWplY3RlZEl0ZW0gPSBncm91cC5pdGVtcy5maW5kKFxuICAgICAgICAgIGdpID0+IGdpLnN0YXR1cyA9PT0gJ3JlamVjdGVkJyAmJiBnaS5hbnN3ZXIgJiYgIWdpLmFuc3dlci5zdGFydHNXaXRoKCdbUGVuZGllbnRlJylcbiAgICAgICAgKVxuICAgICAgICBpZiAocmVqZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgbWFwcGVkSXRlbXMucHVzaCh7XG4gICAgICAgICAgICBpZDogYCR7cmVqZWN0ZWRJdGVtLm1lc3NhZ2VfaWQgfHwgcmVqZWN0ZWRJdGVtLm1lbW9yeV9zZXNzaW9uX2lkfS1yZWplY3Rpb25gLFxuICAgICAgICAgICAgYWdlbnRJZDogcmVqZWN0ZWRJdGVtLmFnZW50X2lkLFxuICAgICAgICAgICAgbWVzc2FnZTogcmVqZWN0ZWRJdGVtLmFuc3dlcixcbiAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKHJlamVjdGVkSXRlbS50aW1lc3RhbXApLFxuICAgICAgICAgICAgdXNlcjogQVNTSVNUQU5UX1VTRVIsXG4gICAgICAgICAgICBwcm9qZWN0SWQ6IHJlamVjdGVkSXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgICAgICAgIHByb2plY3ROYW1lOiByZWplY3RlZEl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgICAgIGNsaWVudElkOiByZWplY3RlZEl0ZW0uY2xpZW50X21ldGFkYXRhPy5pZCxcbiAgICAgICAgICAgIGNsaWVudE5hbWU6IHJlamVjdGVkSXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICAgICAgICBhdHRhY2htZW50czogW10sXG4gICAgICAgICAgICBzb3VyY2VzOiBbXSxcbiAgICAgICAgICAgIC4uLihyZWplY3RlZEl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7XG4gICAgICAgICAgICAgIHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiByZWplY3RlZEl0ZW0ucHJvamVjdF9tZXRhZGF0YS5pc19kZWxldGVkIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIOKUgOKUgCBOb3JtYWwgKG5vbi1ISVRMKSBpdGVtcyDilIDilIBcbiAgICBtYXBwZWRJdGVtcy5wdXNoKHtcbiAgICAgIGlkOiBgJHtpdGVtLm1lc3NhZ2VfaWQgfHwgaXRlbS5tZW1vcnlfc2Vzc2lvbl9pZH0tcXVlc3Rpb25gLFxuICAgICAgYWdlbnRJZDogaXRlbS5hZ2VudF9pZCxcbiAgICAgIG1lc3NhZ2U6IGl0ZW0ucXVlc3Rpb24sXG4gICAgICBkYXRlOiBuZXcgRGF0ZShpdGVtLnRpbWVzdGFtcCksXG4gICAgICB1c2VyOiBjdXJyZW50VXNlcixcbiAgICAgIHByb2plY3RJZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgIHByb2plY3ROYW1lOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICBjbGllbnRJZDogaXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgY2xpZW50TmFtZTogaXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICBhdHRhY2htZW50czogZ2V0TWVzc2FnZUF0dGFjaG1lbnRzQnlSb2xlKGl0ZW0uYXR0YWNobWVudHMsICd1c2VyJyksXG4gICAgICBzb3VyY2VzOiBudWxsLFxuICAgICAgLi4uKGl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBpdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9IH0pLFxuICAgICAgLi4uKGl0ZW0uY29udGV4dF9tZXNzYWdlID8geyBjb250ZXh0TWVzc2FnZTogaXRlbS5jb250ZXh0X21lc3NhZ2UgfSA6IHt9KSxcbiAgICB9KVxuXG4gICAgY29uc3QgYW5zd2VyTWVzc2FnZTogQ2hhdE1lc3NhZ2UgPSB7XG4gICAgICBpZDogYCR7aXRlbS5tZXNzYWdlX2lkIHx8IGl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LWFuc3dlcmAsXG4gICAgICBhZ2VudElkOiBpdGVtLmFnZW50X2lkLFxuICAgICAgbWVzc2FnZTogaXRlbS5hbnN3ZXIsXG4gICAgICBkYXRlOiBuZXcgRGF0ZShpdGVtLnRpbWVzdGFtcCksXG4gICAgICB1c2VyOiBBU1NJU1RBTlRfVVNFUixcbiAgICAgIHByb2plY3RJZDogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5pZCxcbiAgICAgIHByb2plY3ROYW1lOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICBjbGllbnRJZDogaXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgY2xpZW50TmFtZTogaXRlbS5jbGllbnRfbWV0YWRhdGE/Lm5hbWUsXG4gICAgICB3YXNIZWxwZnVsOiBpdGVtLndhc19oZWxwZnVsLFxuICAgICAgYXR0YWNobWVudHM6IGdldE1lc3NhZ2VBdHRhY2htZW50c0J5Um9sZShpdGVtLmF0dGFjaG1lbnRzLCAnYXNzaXN0YW50JyksXG4gICAgICBzb3VyY2VzOiBpdGVtLnNvdXJjZXMgfHwgW10sXG4gICAgICBzdWdnZXN0aW9uczogaXRlbS5zdWdnZXN0X3JlcGx5IHx8IGl0ZW0uc3VnZ2VzdGlvbnMgfHwgW10sXG4gICAgICBpc19jYW5jZWxsZWQ6IGl0ZW0uaXNfY2FuY2VsbGVkLFxuICAgICAgLi4uKGl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBpdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9IH0pLFxuICAgIH1cblxuICAgIG1hcHBlZEl0ZW1zLnB1c2goYW5zd2VyTWVzc2FnZSlcblxuICAgIGlmIChpdGVtLnN0YXR1cyA9PT0gJ3JlamVjdGVkJyAmJiBpdGVtLmFuc3dlciAmJiAhaXRlbS5hbnN3ZXIuc3RhcnRzV2l0aCgnW1BlbmRpZW50ZScpKSB7XG4gICAgICBtYXBwZWRJdGVtcy5wdXNoKHtcbiAgICAgICAgaWQ6IGAke2l0ZW0ubWVzc2FnZV9pZCB8fCBpdGVtLm1lbW9yeV9zZXNzaW9uX2lkfS1yZWplY3Rpb25gLFxuICAgICAgICBhZ2VudElkOiBpdGVtLmFnZW50X2lkLFxuICAgICAgICBtZXNzYWdlOiBpdGVtLmFuc3dlcixcbiAgICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS50aW1lc3RhbXApLFxuICAgICAgICB1c2VyOiBBU1NJU1RBTlRfVVNFUixcbiAgICAgICAgcHJvamVjdElkOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICBwcm9qZWN0TmFtZTogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICBjbGllbnRJZDogaXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgICBjbGllbnROYW1lOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgYXR0YWNobWVudHM6IFtdLFxuICAgICAgICBzb3VyY2VzOiBbXSxcbiAgICAgICAgLi4uKGl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBpdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9IH0pLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoaXRlbS5pc19jYW5jZWxsZWQpIHtcbiAgICAgIG1hcHBlZEl0ZW1zLnB1c2goe1xuICAgICAgICBpZDogYCR7aXRlbS5tZXNzYWdlX2lkIHx8IGl0ZW0ubWVtb3J5X3Nlc3Npb25faWR9LWNhbmNlbGxlZGAsXG4gICAgICAgIGFnZW50SWQ6IGl0ZW0uYWdlbnRfaWQsXG4gICAgICAgIG1lc3NhZ2U6IGNhbmNlbGxlZFRleHQgfHwgJ1NlIGhhIGNhbmNlbGFkbyBsYSBiw7pzcXVlZGEuJyxcbiAgICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS50aW1lc3RhbXApLFxuICAgICAgICB1c2VyOiBBU1NJU1RBTlRfVVNFUixcbiAgICAgICAgcHJvamVjdElkOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgICBwcm9qZWN0TmFtZTogaXRlbS5wcm9qZWN0X21ldGFkYXRhPy5uYW1lLFxuICAgICAgICBjbGllbnRJZDogaXRlbS5jbGllbnRfbWV0YWRhdGE/LmlkLFxuICAgICAgICBjbGllbnROYW1lOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgICAgaXNGcm9udGVuZENhbmNlbGxlZDogdHJ1ZSxcbiAgICAgICAgLi4uKGl0ZW0ucHJvamVjdF9tZXRhZGF0YSAmJiB7IHByb2plY3RNZXRhZGF0YTogeyBpc19kZWxldGVkOiBpdGVtLnByb2plY3RfbWV0YWRhdGEuaXNfZGVsZXRlZCB9IH0pLFxuICAgICAgfSlcbiAgICB9XG4g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LHNCQUFBLHVCQUFwQkEsc0JBQUEsQ0FBc0JqSSxJQUFJO1FBQ3RDVSxXQUFXLEVBQUUsRUFBRTtRQUNmNEUsT0FBTyxFQUFFO01BQUUsR0FDUDVELElBQUksQ0FBQ3VELGdCQUFnQixJQUFJO1FBQUVNLGVBQWUsRUFBRTtVQUFFQyxVQUFVLEVBQUU5RCxJQUFJLENBQUN1RCxnQkFBZ0IsQ0FBQ087UUFBVztNQUFFLENBQUMsQ0FDbkcsQ0FBQztJQUNKO0lBRUEsSUFBSTlELElBQUksQ0FBQ21HLFlBQVksRUFBRTtNQUFBLElBQUFLLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBO01BQ3JCN0YsV0FBVyxDQUFDTCxJQUFJLENBQUFtQyxhQUFBO1FBQ2R2RSxFQUFFLEtBQUF3RSxNQUFBLENBQUs3QyxJQUFJLENBQUNNLFVBQVUsSUFBSU4sSUFBSSxDQUFDOEMsaUJBQWlCLGVBQVk7UUFDNURDLE9BQU8sRUFBRS9DLElBQUksQ0FBQ2dELFFBQVE7UUFDdEJDLE9BQU8sRUFBRXJELGFBQWEsSUFBSSw4QkFBOEI7UUFDeERzRCxJQUFJLEVBQUUsSUFBSUMsSUFBSSxDQUFDbkQsSUFBSSxDQUFDb0QsU0FBUyxDQUFDO1FBQzlCQyxJQUFJLEVBQUVqRixjQUFjO1FBQ3BCa0YsU0FBUyxHQUFBa0Qsc0JBQUEsR0FBRXhHLElBQUksQ0FBQ3VELGdCQUFnQixjQUFBaUQsc0JBQUEsdUJBQXJCQSxzQkFBQSxDQUF1Qm5JLEVBQUU7UUFDcENtRixXQUFXLEdBQUFpRCxzQkFBQSxHQUFFekcsSUFBSSxDQUFDdUQsZ0JBQWdCLGNBQUFrRCxzQkFBQSx1QkFBckJBLHNCQUFBLENBQXVCbkksSUFBSTtRQUN4Q21GLFFBQVEsR0FBQWlELHNCQUFBLEdBQUUxRyxJQUFJLENBQUMwRCxlQUFlLGNBQUFnRCxzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCckksRUFBRTtRQUNsQ3NGLFVBQVUsR0FBQWdELHNCQUFBLEdBQUUzRyxJQUFJLENBQUMwRCxlQUFlLGNBQUFpRCxzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCckksSUFBSTtRQUN0Q3NJLG1CQUFtQixFQUFFO01BQUksR0FDckI1RyxJQUFJLENBQUN1RCxnQkFBZ0IsSUFBSTtRQUFFTSxlQUFlLEVBQUU7VUFBRUMsVUFBVSxFQUFFOUQsSUFBSSxDQUFDdUQsZ0JBQWdCLENBQUNPO1FBQVc7TUFBRSxDQUFDLENBQ25HLENBQUM7SUFDSjtFQUNGLENBQUMsQ0FBQztFQUVGLE9BQU9oRCxXQUFXO0FBQ3BCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3N0cmVhbUFjdGl2aXR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN0cmVhbUFjdGl2aXR5UGhhc2UgPVxuICB8ICdnZW5lcmF0aW5nJ1xuICB8ICd0aGlua2luZydcbiAgfCAnYWN0aW9uJ1xuICB8ICd3cml0aW5nJ1xuICB8ICdzZWFyY2gnXG4gIHwgJ2RlZXBfc2VhcmNoJ1xuICB8ICdhdHRhY2htZW50J1xuICB8ICdwcm9jZXNzaW5nJ1xuXG5leHBvcnQgdHlwZSBTdHJlYW1BY3Rpdml0eSA9IHtcbiAgcGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2VcbiAgbWVzc2FnZTogc3RyaW5nXG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3N0cmVhbUFjdGl2aXR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN0cmVhbUFjdGl2aXR5UGhhc2UgPVxuICB8ICdnZW5lcmF0aW5nJ1xuICB8ICd0aGlua2luZydcbiAgfCAnYWN0aW9uJ1xuICB8ICd3cml0aW5nJ1xuICB8ICdzZWFyY2gnXG4gIHwgJ2RlZXBfc2VhcmNoJ1xuICB8ICdhdHRhY2htZW50J1xuICB8ICdwcm9jZXNzaW5nJ1xuXG5leHBvcnQgdHlwZSBTdHJlYW1BY3Rpdml0eSA9IHtcbiAgcGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2VcbiAgbWVzc2FnZTogc3RyaW5nXG4gIGF0dGFjaG1lbnRzQ291bnQ/OiBudW1iZXJcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,4 +1,7 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2
5
  import { normalizeHitlToolName } from './hitlAnalytics';
3
6
  import { logHitlApprovalContext } from './debugMaiaSseLog';
4
7
  var THINKING_MESSAGE_KEYS = ['chat.activity.thinking.analyzing', 'chat.activity.thinking.reviewing', 'chat.activity.thinking.planning'];
@@ -6,6 +9,7 @@ var GENERATING_MESSAGE_KEYS = ['chat.activity.generating.considering', 'chat.act
6
9
  var SEARCH_MESSAGE_KEYS = ['chat.activity.search.scanning', 'chat.activity.search.summarizing'];
7
10
  var DEEP_SEARCH_MESSAGE_KEYS = ['chat.activity.deepSearch.exploring', 'chat.activity.deepSearch.crossChecking'];
8
11
  var ATTACHMENT_MESSAGE_KEYS = ['chat.activity.attachment.reading', 'chat.activity.attachment.extracting'];
12
+ var ATTACHMENT_MESSAGE_KEYS_PLURAL = ['chat.activity.attachment.readingPlural', 'chat.activity.attachment.extractingPlural'];
9
13
  export var WRITING_ACTIVITY_MESSAGE_KEY = 'chat.activity.writing.composing';
10
14
 
11
15
  /** Tools HITL / node SSE → key i18n del indicador de actividad (tiempo presente continuo). */
@@ -210,6 +214,7 @@ export var resolveInitialHitlStreamActivity = function resolveInitialHitlStreamA
210
214
  export var ACTIVITY_MESSAGE_ROTATE_MS = 3200;
211
215
  var ROTATABLE_PHASES = ['generating', 'thinking', 'search', 'deep_search', 'attachment'];
212
216
  var getMessageKeysForPhase = function getMessageKeysForPhase(phase) {
217
+ var attachmentsCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
213
218
  switch (phase) {
214
219
  case 'generating':
215
220
  return GENERATING_MESSAGE_KEYS;
@@ -220,16 +225,17 @@ var getMessageKeysForPhase = function getMessageKeysForPhase(phase) {
220
225
  case 'deep_search':
221
226
  return DEEP_SEARCH_MESSAGE_KEYS;
222
227
  case 'attachment':
223
- return ATTACHMENT_MESSAGE_KEYS;
228
+ return attachmentsCount > 1 ? ATTACHMENT_MESSAGE_KEYS_PLURAL : ATTACHMENT_MESSAGE_KEYS;
224
229
  default:
225
230
  return null;
226
231
  }
227
232
  };
228
233
  export var getStreamActivityMessageAtIndex = function getStreamActivityMessageAtIndex(phase, index, t) {
234
+ var attachmentsCount = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
229
235
  if (phase === 'writing') {
230
236
  return t(WRITING_ACTIVITY_MESSAGE_KEY);
231
237
  }
232
- var keys = getMessageKeysForPhase(phase);
238
+ var keys = getMessageKeysForPhase(phase, attachmentsCount);
233
239
  if (!(keys !== null && keys !== void 0 && keys.length)) {
234
240
  return '';
235
241
  }
@@ -255,10 +261,12 @@ export var advanceStreamActivityMessage = function advanceStreamActivityMessage(
255
261
  }
256
262
  var nextIndex = currentIndex + 1;
257
263
  return {
258
- activity: {
264
+ activity: _objectSpread({
259
265
  phase: activity.phase,
260
- message: getStreamActivityMessageAtIndex(activity.phase, nextIndex, t)
261
- },
266
+ message: getStreamActivityMessageAtIndex(activity.phase, nextIndex, t, activity.attachmentsCount)
267
+ }, activity.attachmentsCount != null && {
268
+ attachmentsCount: activity.attachmentsCount
269
+ }),
262
270
  nextIndex: nextIndex
263
271
  };
264
272
  };
@@ -285,9 +293,12 @@ export var getInitialStreamActivity = function getInitialStreamActivity(t, optio
285
293
  };
286
294
  }
287
295
  if (options.hasAttachments) {
296
+ var _options$attachmentsC;
297
+ var attachmentsCount = (_options$attachmentsC = options.attachmentsCount) !== null && _options$attachmentsC !== void 0 ? _options$attachmentsC : 0;
288
298
  return {
289
299
  phase: 'attachment',
290
- message: t(ATTACHMENT_MESSAGE_KEYS[0])
300
+ message: getStreamActivityMessageAtIndex('attachment', 0, t, attachmentsCount),
301
+ attachmentsCount: attachmentsCount
291
302
  };
292
303
  }
293
304
  return {
@@ -338,7 +349,8 @@ export var resolveStreamLoadingDisplay = function resolveStreamLoadingDisplay(pa
338
349
  return getInitialStreamActivity(params.t, {
339
350
  isWebSearchActive: params.loadingMessage === params.t('chat.generatingWebSearch'),
340
351
  isDeepSearchActive: params.loadingMessage === params.t('chat.generatingDeepSearch'),
341
- hasAttachments: params.loadingMessage === params.t('chat.generatingAttachment')
352
+ hasAttachments: params.loadingMessage === params.t('chat.generatingAttachment'),
353
+ attachmentsCount: params.attachmentsCount
342
354
  });
343
355
  }
344
356
  return {
@@ -350,7 +362,8 @@ export var resolveStreamLoadingDisplay = function resolveStreamLoadingDisplay(pa
350
362
  return getInitialStreamActivity(params.t, {
351
363
  isWebSearchActive: params.isWebSearchActive,
352
364
  isDeepSearchActive: params.isDeepSearchActive,
353
- hasAttachments: params.hasAttachments
365
+ hasAttachments: params.hasAttachments,
366
+ attachmentsCount: params.attachmentsCount
354
367
  });
355
368
  }
356
369
  return null;
@@ -358,4 +371,4 @@ export var resolveStreamLoadingDisplay = function resolveStreamLoadingDisplay(pa
358
371
  export var isStreamingPlaceholderMessageId = function isStreamingPlaceholderMessageId(messageId) {
359
372
  return typeof messageId === 'string' && messageId.includes('-streaming');
360
373
  };
361
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJsb2dIaXRsQXBwcm92YWxDb250ZXh0IiwiVEhJTktJTkdfTUVTU0FHRV9LRVlTIiwiR0VORVJBVElOR19NRVNTQUdFX0tFWVMiLCJTRUFSQ0hfTUVTU0FHRV9LRVlTIiwiREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTIiwiQVRUQUNITUVOVF9NRVNTQUdFX0tFWVMiLCJXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZIiwiSElUTF9UT09MX0FDVElWSVRZX0tFWVMiLCJjcmVhdGVfdGFzayIsImNsb25lX3Rhc2siLCJjcmVhdGVfdGFza3NfYmF0Y2giLCJjcmVhdGVfYWdlbnQiLCJlZGl0X2FnZW50IiwiZWRpdF90YXNrIiwiZWRpdF90YXNrc19iYXRjaCIsImRlbGV0ZV90YXNrIiwiZGVsZXRlX3Rhc2tzX2JhdGNoIiwidGFza19hc3NpZ24iLCJ0YXNrX3VuYXNzaWduIiwiYXNzaWduX3Rhc2tfbGFiZWwiLCJ1cGRhdGVfdGFza190eXBlIiwidXBkYXRlX2VzdGltYXRlZF9ob3VycyIsInVwZGF0ZV9kZWxpdmVyYWJsZSIsImNyZWF0ZV9ob3VyIiwiY3JlYXRlX2NoZWNrbGlzdCIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZIiwiT2JqZWN0Iiwia2V5cyIsInNvcnQiLCJhIiwiYiIsImxlbmd0aCIsImlzR2VuZXJpY1Jlc3VtZU5vZGVNZXNzYWdlIiwibWVzc2FnZSIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwibWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSIsInRvb2xOYW1lIiwidCIsIm9wdGlvbnMiLCJrZXkiLCJwaGFzZSIsInVzZVJlc3VtaW5nRmFsbGJhY2siLCJyZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UiLCJub2RlTWVzc2FnZSIsImFzVG9vbE5hbWUiLCJyZXBsYWNlIiwibWF0Y2hlZFRvb2wiLCJmaW5kIiwiaW5jbHVkZXMiLCJtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkiLCJoaXRsVG9vbCIsInRyaW1tZWRNZXNzYWdlIiwicmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkIiwiY29udGV4dCIsInRocmVhZElkIiwiX3JlZiIsIl9jb250ZXh0JHBlbmRpbmdBY3RpbyIsIl9jb250ZXh0JGFwcHJvdmFsIiwiX2NvbnRleHQkdGhyZWFkSWRzIiwicGVuZGluZyIsInBlbmRpbmdBY3Rpb25zIiwiYXBwcm92YWwiLCJwZW5kaW5nX2FjdGlvbnMiLCJmb3JUaHJlYWQiLCJmaWx0ZXIiLCJhY3Rpb24iLCJ0aHJlYWRfaWQiLCJ0aHJlYWRJZHMiLCJfY29udGV4dCR0aHJlYWRJZHMyIiwiZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMiLCJhY3Rpb25zIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiU2V0IiwibWFwIiwidG9vbF9uYW1lIiwiQm9vbGVhbiIsInJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5IiwicGVuZGluZ0ZvclRocmVhZCIsImRldGVjdGVkVG9vbHMiLCJsb2dTb3VyY2UiLCJtZXNzYWdlSWQiLCJtZXNzYWdlVGV4dCIsInRyaW1tZWROb2RlTWVzc2FnZSIsImFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlIiwicmVzb2x2ZUFuZExvZyIsImFjdGl2aXR5IiwiY29uY2F0IiwicmVzb2x2ZWRBY3Rpdml0eSIsInJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5IiwiQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMiLCJST1RBVEFCTEVfUEhBU0VTIiwiZ2V0TWVzc2FnZUtleXNGb3JQaGFzZSIsImdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgiLCJpbmRleCIsImNsYW1wZWRJbmRleCIsIk1hdGgiLCJtaW4iLCJtYXgiLCJnZXRUaGlua2luZ0xvYWRpbmdNZXNzYWdlIiwiZ2V0R2VuZXJhdGluZ0xvYWRpbmdNZXNzYWdlIiwiY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSIsImN1cnJlbnRJbmRleCIsImFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UiLCJuZXh0SW5kZXgiLCJjYW5Sb3RhdGVTdHJlYW1BY3Rpdml0eVBoYXNlIiwiZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5IiwiZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5IiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJpc0RlZXBTZWFyY2hBY3RpdmUiLCJoYXNBdHRhY2htZW50cyIsInJlc29sdmVTdHJlYW1Mb2FkaW5nRGlzcGxheSIsInBhcmFtcyIsInN0cmVhbUFjdGl2aXR5IiwiYWN0aXZlS2V5cyIsImFjdGl2ZUxvYWRpbmdzIiwiZmlyc3RLZXkiLCJyYXciLCJ0cmltbWVkIiwibG9hZGluZ01lc3NhZ2UiLCJ3YWl0aW5nUmVzcG9uc2UiLCJpc1N0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3N0cmVhbUFjdGl2aXR5TWVzc2FnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdHJlYW1BY3Rpdml0eSwgU3RyZWFtQWN0aXZpdHlQaGFzZSB9IGZyb20gJy4uL3R5cGVzL3N0cmVhbUFjdGl2aXR5J1xuaW1wb3J0IHR5cGUgeyBBcHByb3ZhbFJlcXVlc3QsIFBlbmRpbmdBY3Rpb24gfSBmcm9tICcuLi90eXBlcy9DaGF0J1xuaW1wb3J0IHsgbm9ybWFsaXplSGl0bFRvb2xOYW1lIH0gZnJvbSAnLi9oaXRsQW5hbHl0aWNzJ1xuaW1wb3J0IHsgbG9nSGl0bEFwcHJvdmFsQ29udGV4dCB9IGZyb20gJy4vZGVidWdNYWlhU3NlTG9nJ1xuXG50eXBlIFRyYW5zbGF0ZUZuID0gKGtleTogc3RyaW5nKSA9PiBzdHJpbmdcblxuY29uc3QgVEhJTktJTkdfTUVTU0FHRV9LRVlTID0gW1xuICAnY2hhdC5hY3Rpdml0eS50aGlua2luZy5hbmFseXppbmcnLFxuICAnY2hhdC5hY3Rpdml0eS50aGlua2luZy5yZXZpZXdpbmcnLFxuICAnY2hhdC5hY3Rpdml0eS50aGlua2luZy5wbGFubmluZycsXG5dIGFzIGNvbnN0XG5cbmNvbnN0IEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTID0gW1xuICAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLmNvbnNpZGVyaW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZy5hbG1vc3RSZWFkeScsXG4gICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcucHJlcGFyaW5nJyxcbl0gYXMgY29uc3RcblxuY29uc3QgU0VBUkNIX01FU1NBR0VfS0VZUyA9IFsnY2hhdC5hY3Rpdml0eS5zZWFyY2guc2Nhbm5pbmcnLCAnY2hhdC5hY3Rpdml0eS5zZWFyY2guc3VtbWFyaXppbmcnXSBhcyBjb25zdFxuXG5jb25zdCBERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVMgPSBbXG4gICdjaGF0LmFjdGl2aXR5LmRlZXBTZWFyY2guZXhwbG9yaW5nJyxcbiAgJ2NoYXQuYWN0aXZpdHkuZGVlcFNlYXJjaC5jcm9zc0NoZWNraW5nJyxcbl0gYXMgY29uc3RcblxuY29uc3QgQVRUQUNITUVOVF9NRVNTQUdFX0tFWVMgPSBbJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5yZWFkaW5nJywgJ2NoYXQuYWN0aXZpdHkuYXR0YWNobWVudC5leHRyYWN0aW5nJ10gYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkgPSAnY2hhdC5hY3Rpdml0eS53cml0aW5nLmNvbXBvc2luZycgYXMgY29uc3RcblxuLyoqIFRvb2xzIEhJVEwgLyBub2RlIFNTRSDihpIga2V5IGkxOG4gZGVsIGluZGljYWRvciBkZSBhY3RpdmlkYWQgKHRpZW1wbyBwcmVzZW50ZSBjb250aW51bykuICovXG5jb25zdCBISVRMX1RPT0xfQUNUSVZJVFlfS0VZUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY3JlYXRlX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFzaycsXG4gIGNsb25lX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFzaycsXG4gIGNyZWF0ZV90YXNrc19iYXRjaDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdUYXNrc0JhdGNoJyxcbiAgY3JlYXRlX2FnZW50OiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ0FnZW50JyxcbiAgZWRpdF9hZ2VudDogJ2NoYXQuYWN0aXZpdHkuZWRpdGluZ0FnZW50JyxcbiAgZWRpdF90YXNrOiAnY2hhdC5hY3Rpdml0eS5lZGl0aW5nVGFzaycsXG4gIGVkaXRfdGFza3NfYmF0Y2g6ICdjaGF0LmFjdGl2aXR5LmVkaXRpbmdUYXNrc0JhdGNoJyxcbiAgZGVsZXRlX3Rhc2s6ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nVGFzaycsXG4gIGRlbGV0ZV90YXNrc19iYXRjaDogJ2NoYXQuYWN0aXZpdHkuZGVsZXRpbmdUYXNrc0JhdGNoJyxcbiAgdGFza19hc3NpZ246ICdjaGF0LmFjdGl2aXR5LmFzc2lnbmluZ1VzZXInLFxuICB0YXNrX3VuYXNzaWduOiAnY2hhdC5hY3Rpdml0eS51bmFzc2lnbmluZ1VzZXInLFxuICBhc3NpZ25fdGFza19sYWJlbDogJ2NoYXQuYWN0aXZpdHkuYXNzaWduaW5nTGFiZWwnLFxuICB1cGRhdGVfdGFza190eXBlOiAnY2hhdC5hY3Rpdml0eS51cGRhdGluZ1Rhc2tUeXBlJyxcbiAgdXBkYXRlX2VzdGltYXRlZF9ob3VyczogJ2NoYXQuYWN0aXZpdHkudXBkYXRpbmdFc3RpbWF0ZWRIb3VycycsXG4gIHVwZGF0ZV9kZWxpdmVyYWJsZTogJ2NoYXQuYWN0aXZpdHkudXBkYXRpbmdEZWxpdmVyYWJsZScsXG4gIGNyZWF0ZV9ob3VyOiAnY2hhdC5hY3Rpdml0eS5sb2dnaW5nSG91cnMnLFxuICBjcmVhdGVfY2hlY2tsaXN0OiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ0NoZWNrbGlzdCcsXG4gIGdldF90YXNrX2RhdGVfaG91cnM6ICdjaGF0LmFjdGl2aXR5LnF1ZXJ5aW5nSG91cnMnLFxuICBjb25maWd1cmVfYWdlbnRfYWNjZXNzOiAnY2hhdC5hY3Rpdml0eS5jb25maWd1cmluZ0FnZW50QWNjZXNzJyxcbiAgc2VuZF90YXNrX21lc3NhZ2U6ICdjaGF0LmFjdGl2aXR5LnNlbmRpbmdUYXNrTWVzc2FnZScsXG4gIGRlbGV0ZV9jaGVja2xpc3RfaXRlbTogJ2NoYXQuYWN0aXZpdHkuZGVsZXRpbmdDaGVja2xpc3RJdGVtJyxcbiAgcmVtb3ZlX3Rhc2tfdHlwZTogJ2NoYXQuYWN0aXZpdHkucmVtb3ZpbmdUYXNrVHlwZScsXG4gIHJlbW92ZV90YXNrX2xhYmVsOiAnY2hhdC5hY3Rpdml0eS5yZW1vdmluZ0xhYmVsJyxcbiAgY291bnRfZGVsaXZlcmFibGU6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRGVsaXZlcmFibGVDb3VudCcsXG4gIGNyZWF0ZV9yZXdvcms6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nUmV3b3JrJyxcbiAgdXBkYXRlX3Jld29yazogJ2NoYXQuYWN0aXZpdHkudXBkYXRpbmdSZXdvcmsnLFxufVxuXG5jb25zdCBISVRMX1RPT0xfTkFNRVNfQllfU1BFQ0lGSUNJVFkgPSBPYmplY3Qua2V5cyhISVRMX1RPT0xfQUNUSVZJVFlfS0VZUykuc29ydCgoYSwgYikgPT4gYi5sZW5ndGggLSBhLmxlbmd0aClcblxuLyoqIE1lbnNhamVzIGdlbsOpcmljb3MgZGVsIGJhY2tlbmQgY3VhbmRvIG5vIGhheSBkZXRhbGxlIGRlIHRvb2wgKGNvbnRpbnVlLXRocmVhZCkuICovXG5jb25zdCBpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSA9IChtZXNzYWdlOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG1lc3NhZ2UudHJpbSgpLnRvTG93ZXJDYXNlKClcbiAgcmV0dXJuIChcbiAgICBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJ2VqZWN1dGFuZG8gYWNjacOzbiBhcHJvYmFkYScpIHx8XG4gICAgbm9ybWFsaXplZC5zdGFydHNXaXRoKCdleGVjdXRpbmcgYXBwcm92ZWQgYWN0aW9uJykgfHxcbiAgICBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJ2V4ZWN1dGFuZG8gYcOnw6NvIGFwcm92YWRhJylcbiAgKVxufVxuXG5leHBvcnQgY29uc3QgbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSA9IChcbiAgdG9vbE5hbWU6IHN0cmluZyxcbiAgdDogVHJhbnNsYXRlRm4sXG4gIG9wdGlvbnM/OiB7IHVzZVJlc3VtaW5nRmFsbGJhY2s/OiBib29sZWFuIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZSh0b29sTmFtZSlcbiAgY29uc3Qga2V5ID0gSElUTF9UT09MX0FDVElWSVRZX0tFWVNbbm9ybWFsaXplZF1cbiAgaWYgKGtleSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdChrZXkpIH1cbiAgfVxuICBpZiAob3B0aW9ucz8udXNlUmVzdW1pbmdGYWxsYmFjaykge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5yZXN1bWluZ0FjdGlvbicpIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuZXhlY3V0aW5nQWN0aW9uJykgfVxufVxuXG5jb25zdCByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UgPSAobm9kZU1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB8IG51bGwgPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9kZU1lc3NhZ2UudG9Mb3dlckNhc2UoKS50cmltKClcbiAgaWYgKCFub3JtYWxpemVkKSByZXR1cm4gbnVsbFxuXG4gIGlmIChISVRMX1RPT0xfQUNUSVZJVFlfS0VZU1tub3JtYWxpemVkXSkge1xuICAgIHJldHVybiBub3JtYWxpemVkXG4gIH1cblxuICBjb25zdCBhc1Rvb2xOYW1lID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKG5vcm1hbGl6ZWQucmVwbGFjZSgvXFxzKy9nLCAnXycpKVxuICBpZiAoSElUTF9UT09MX0FDVElWSVRZX0tFWVNbYXNUb29sTmFtZV0pIHtcbiAgICByZXR1cm4gYXNUb29sTmFtZVxuICB9XG5cbiAgY29uc3QgbWF0Y2hlZFRvb2wgPSBISVRMX1RPT0xfTkFNRVNfQllfU1BFQ0lGSUNJVFkuZmluZCh0b29sTmFtZSA9PiBub3JtYWxpemVkLmluY2x1ZGVzKHRvb2xOYW1lKSlcbiAgcmV0dXJuIG1hdGNoZWRUb29sID8/IG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eSA9IChcbiAgbm9kZU1lc3NhZ2U6IHN0cmluZyxcbiAgdDogVHJhbnNsYXRlRm4sXG4gIG9wdGlvbnM/OiB7IHVzZVJlc3VtaW5nRmFsbGJhY2s/OiBib29sZWFuIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vZGVNZXNzYWdlLnRvTG93ZXJDYXNlKClcblxuICBjb25zdCBoaXRsVG9vbCA9IHJlc29sdmVIaXRsVG9vbEZyb21Ob2RlTWVzc2FnZShub2RlTWVzc2FnZSlcbiAgaWYgKGhpdGxUb29sKSB7XG4gICAgcmV0dXJuIG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoaGl0bFRvb2wsIHQsIG9wdGlvbnMpXG4gIH1cblxuICBpZiAoXG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygncmVzcG9uc2VfZmlsZV9nZW5lcmF0aW9uJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdnZW5lcmFuZG8gYXJjaGl2bycpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnZ2VuZXJhdGluZyBmaWxlJylcbiAgKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmdGaWxlJykgfVxuICB9XG4gIGlmIChcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCd0YXZpbHknKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3NlYXJjaF93ZWInKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2J1c2NhbmRvIGVuIGxhIHdlYicpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnc2VhcmNoaW5nIHRoZSB3ZWInKVxuICApIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ3NlYXJjaCcsIG1lc3NhZ2U6IHQoU0VBUkNIX01FU1NBR0VfS0VZU1swXSkgfVxuICB9XG5cbiAgY29uc3QgdHJpbW1lZE1lc3NhZ2UgPSBub2RlTWVzc2FnZS50cmltKClcbiAgaWYgKHRyaW1tZWRNZXNzYWdlICYmICFpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkTWVzc2FnZSkpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHRyaW1tZWRNZXNzYWdlIH1cbiAgfVxuXG4gIGlmIChpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkTWVzc2FnZSkgfHwgb3B0aW9ucz8udXNlUmVzdW1pbmdGYWxsYmFjaykge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5yZXN1bWluZ0FjdGlvbicpIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuZXhlY3V0aW5nQWN0aW9uJykgfVxufVxuXG5leHBvcnQgdHlwZSBIaXRsRXhlY3V0aW9uQ29udGV4dCA9IHtcbiAgbWVzc2FnZUlkPzogc3RyaW5nXG4gIG1lc3NhZ2VUZXh0Pzogc3RyaW5nXG4gIGFwcHJvdmFsPzogQXBwcm92YWxSZXF1ZXN0XG4gIHBlbmRpbmdBY3Rpb25zPzogUGVuZGluZ0FjdGlvbltdXG4gIHRocmVhZElkcz86IHN0cmluZ1tdXG59XG5cbmNvbnN0IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZCA9IChcbiAgY29udGV4dDogSGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsIHwgdW5kZWZpbmVkLFxuICB0aHJlYWRJZD86IHN0cmluZ1xuKTogUGVuZGluZ0FjdGlvbltdID0+IHtcbiAgY29uc3QgcGVuZGluZyA9IGNvbnRleHQ/LnBlbmRpbmdBY3Rpb25zID8/IGNvbnRleHQ/LmFwcHJvdmFsPy5wZW5kaW5nX2FjdGlvbnMgPz8gW11cbiAgaWYgKCFwZW5kaW5nLmxlbmd0aCkgcmV0dXJuIFtdXG5cbiAgaWYgKHRocmVhZElkKSB7XG4gICAgY29uc3QgZm9yVGhyZWFkID0gcGVuZGluZy5maWx0ZXIoYWN0aW9uID0+IGFjdGlvbi50aHJlYWRfaWQgPT09IHRocmVhZElkKVxuICAgIGlmIChmb3JUaHJlYWQubGVuZ3RoKSByZXR1cm4gZm9yVGhyZWFkXG4gIH1cblxuICBpZiAoY29udGV4dD8udGhyZWFkSWRzPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gcGVuZGluZy5maWx0ZXIoYWN0aW9uID0+IGNvbnRleHQudGhyZWFkSWRzPy5pbmNsdWRlcyhhY3Rpb24udGhyZWFkX2lkKSlcbiAgfVxuXG4gIHJldHVybiBwZW5kaW5nXG59XG5cbmNvbnN0IGRldGVjdFRvb2xzRnJvbVBlbmRpbmdBY3Rpb25zID0gKGFjdGlvbnM6IFBlbmRpbmdBY3Rpb25bXSk6IHN0cmluZ1tdID0+IFtcbiAgLi4ubmV3IFNldChhY3Rpb25zLm1hcChhY3Rpb24gPT4gbm9ybWFsaXplSGl0bFRvb2xOYW1lKGFjdGlvbi50b29sX25hbWUpKS5maWx0ZXIoQm9vbGVhbikpLFxuXVxuXG4vKiogUmVzdWVsdmUgaW5kaWNhZG9yIEhJVEwgcHJpb3JpemFuZG8gcGVuZGluZ19hY3Rpb25zIGRlbCBtZW5zYWplIGRlIGFwcm9iYWNpw7NuIGFudGVyaW9yLiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5ID0gKFxuICBub2RlTWVzc2FnZTogc3RyaW5nLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgY29udGV4dD86IEhpdGxFeGVjdXRpb25Db250ZXh0IHwgbnVsbCxcbiAgdGhyZWFkSWQ/OiBzdHJpbmcsXG4gIG9wdGlvbnM/OiB7IHVzZVJlc3VtaW5nRmFsbGJhY2s/OiBib29sZWFuOyBsb2dTb3VyY2U/OiBzdHJpbmcgfVxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBjb25zdCBwZW5kaW5nRm9yVGhyZWFkID0gcmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkKGNvbnRleHQsIHRocmVhZElkKVxuICBjb25zdCBkZXRlY3RlZFRvb2xzID0gZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMocGVuZGluZ0ZvclRocmVhZClcblxuICBpZiAob3B0aW9ucz8ubG9nU291cmNlKSB7XG4gICAgbG9nSGl0bEFwcHJvdmFsQ29udGV4dChvcHRpb25zLmxvZ1NvdXJjZSwge1xuICAgICAgbWVzc2FnZUlkOiBjb250ZXh0Py5tZXNzYWdlSWQsXG4gICAgICBtZXNzYWdlVGV4dDogY29udGV4dD8ubWVzc2FnZVRleHQsXG4gICAgICB0aHJlYWRJZCxcbiAgICAgIHRocmVhZElkczogY29udGV4dD8udGhyZWFkSWRzLFxuICAgICAgbm9kZU1lc3NhZ2UsXG4gICAgICBwZW5kaW5nQWN0aW9uczogcGVuZGluZ0ZvclRocmVhZCxcbiAgICAgIGRldGVjdGVkVG9vbHMsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IHRyaW1tZWROb2RlTWVzc2FnZSA9IG5vZGVNZXNzYWdlLnRyaW0oKVxuICBjb25zdCBhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSA9XG4gICAgdHJpbW1lZE5vZGVNZXNzYWdlICYmICFpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkTm9kZU1lc3NhZ2UpXG4gICAgICA/IHsgcGhhc2U6ICdhY3Rpb24nIGFzIGNvbnN0LCBtZXNzYWdlOiB0cmltbWVkTm9kZU1lc3NhZ2UgfVxuICAgICAgOiBudWxsXG5cbiAgY29uc3QgcmVzb2x2ZUFuZExvZyA9IChhY3Rpdml0eTogU3RyZWFtQWN0aXZpdHkpID0+IHtcbiAgICBpZiAob3B0aW9ucz8ubG9nU291cmNlKSB7XG4gICAgICBsb2dIaXRsQXBwcm92YWxDb250ZXh0KGAke29wdGlvbnMubG9nU291cmNlfTpyZXNvbHZlZGAsIHtcbiAgICAgICAgZGV0ZWN0ZWRUb29scyxcbiAgICAgICAgcmVzb2x2ZWRBY3Rpdml0eTogYWN0aXZpdHksXG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gYWN0aXZpdHlcbiAgfVxuXG4gIGlmIChkZXRlY3RlZFRvb2xzLmxlbmd0aCA+PSAxKSB7XG4gICAgaWYgKGFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZUFuZExvZyhhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSlcbiAgICB9XG4gICAgcmV0dXJuIHJlc29sdmVBbmRMb2cobWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eShkZXRlY3RlZFRvb2xzWzBdLCB0LCBvcHRpb25zKSlcbiAgfVxuXG4gIHJldHVybiByZXNvbHZlQW5kTG9nKG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eShub2RlTWVzc2FnZSwgdCwgb3B0aW9ucykpXG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlSW5pdGlhbEhpdGxTdHJlYW1BY3Rpdml0eSA9IChcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGNvbnRleHQ/OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGwsXG4gIG9wdGlvbnM/OiB7IGxvZ1NvdXJjZT86IHN0cmluZyB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IHBlbmRpbmdBY3Rpb25zID0gcmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkKGNvbnRleHQpXG4gIGNvbnN0IGRldGVjdGVkVG9vbHMgPSBkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyhwZW5kaW5nQWN0aW9ucylcblxuICBpZiAob3B0aW9ucz8ubG9nU291cmNlKSB7XG4gICAgbG9nSGl0bEFwcHJvdmFsQ29udGV4dChvcHRpb25zLmxvZ1NvdXJjZSwge1xuICAgICAgbWVzc2FnZUlkOiBjb250ZXh0Py5tZXNzYWdlSWQsXG4gICAgICBtZXNzYWdlVGV4dDogY29udGV4dD8ubWVzc2FnZVRleHQsXG4gICAgICB0aHJlYWRJZHM6IGNvbnRleHQ/LnRocmVhZElkcyxcbiAgICAgIHBlbmRpbmdBY3Rpb25zLFxuICAgICAgZGV0ZWN0ZWRUb29scyxcbiAgICB9KVxuICB9XG5cbiAgaWYgKGRldGVjdGVkVG9vbHMubGVuZ3RoID49IDEpIHtcbiAgICBjb25zdCBhY3Rpdml0eSA9IG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoZGV0ZWN0ZWRUb29sc1swXSwgdCwgeyB1c2VSZXN1bWluZ0ZhbGxiYWNrOiB0cnVlIH0pXG4gICAgaWYgKG9wdGlvbnM/LmxvZ1NvdXJjZSkge1xuICAgICAgbG9nSGl0bEFwcHJvdmFsQ29udGV4dChgJHtvcHRpb25zLmxvZ1NvdXJjZX06cmVzb2x2ZWRgLCB7XG4gICAgICAgIGRldGVjdGVkVG9vbHMsXG4gICAgICAgIHJlc29sdmVkQWN0aXZpdHk6IGFjdGl2aXR5LFxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIGFjdGl2aXR5XG4gIH1cblxuICByZXR1cm4geyBwaGFzZTogJ3Byb2Nlc3NpbmcnLCBtZXNzYWdlOiB0KCdjaGF0LnByb2Nlc3NpbmcnKSB9XG59XG5cbmV4cG9ydCBjb25zdCBBQ1RJVklUWV9NRVNTQUdFX1JPVEFURV9NUyA9IDMyMDBcblxuY29uc3QgUk9UQVRBQkxFX1BIQVNFUzogU3RyZWFtQWN0aXZpdHlQaGFzZVtdID0gWydnZW5lcmF0aW5nJywgJ3RoaW5raW5nJywgJ3NlYXJjaCcsICdkZWVwX3NlYXJjaCcsICdhdHRhY2htZW50J11cblxuY29uc3QgZ2V0TWVzc2FnZUtleXNGb3JQaGFzZSA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSk6IHJlYWRvbmx5IHN0cmluZ1tdIHwgbnVsbCA9PiB7XG4gIHN3aXRjaCAocGhhc2UpIHtcbiAgICBjYXNlICdnZW5lcmF0aW5nJzpcbiAgICAgIHJldHVybiBHRU5FUkFUSU5HX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ3RoaW5raW5nJzpcbiAgICAgIHJldHVybiBUSElOS0lOR19NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdzZWFyY2gnOlxuICAgICAgcmV0dXJuIFNFQVJDSF9NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdkZWVwX3NlYXJjaCc6XG4gICAgICByZXR1cm4gREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTXG4gICAgY2FzZSAnYXR0YWNobWVudCc6XG4gICAgICByZXR1cm4gQVRUQUNITUVOVF9NRVNTQUdFX0tFWVNcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSwgaW5kZXg6IG51bWJlciwgdDogVHJhbnNsYXRlRm4pOiBzdHJpbmcgPT4ge1xuICBpZiAocGhhc2UgPT09ICd3cml0aW5nJykge1xuICAgIHJldHVybiB0KFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkpXG4gIH1cblxuICBjb25zdCBrZXlzID0gZ2V0TWVzc2FnZUtleXNGb3JQaGFzZShwaGFzZSlcbiAgaWYgKCFrZXlzPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gJydcbiAgfVxuXG4gIGNvbnN0IGNsYW1wZWRJbmRleCA9IE1hdGgubWluKE1hdGgubWF4KDAsIGluZGV4KSwga2V5cy5sZW5ndGggLSAxKVxuICByZXR1cm4gdChrZXlzW2NsYW1wZWRJbmRleF0pXG59XG5cbmV4cG9ydCBjb25zdCBnZXRUaGlua2luZ0xvYWRpbmdNZXNzYWdlID0gKGluZGV4OiBudW1iZXIsIHQ6IFRyYW5zbGF0ZUZuKTogc3RyaW5nID0+XG4gIGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoJ3RoaW5raW5nJywgaW5kZXgsIHQpXG5cbmV4cG9ydCBjb25zdCBnZXRHZW5lcmF0aW5nTG9hZGluZ01lc3NhZ2UgPSAoaW5kZXg6IG51bWJlciwgdDogVHJhbnNsYXRlRm4pOiBzdHJpbmcgPT5cbiAgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgnZ2VuZXJhdGluZycsIGluZGV4LCB0KVxuXG5leHBvcnQgY29uc3QgY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSwgY3VycmVudEluZGV4OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgY29uc3Qga2V5cyA9IGdldE1lc3NhZ2VLZXlzRm9yUGhhc2UocGhhc2UpXG4gIGlmICgha2V5cykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHJldHVybiBjdXJyZW50SW5kZXggPCBrZXlzLmxlbmd0aCAtIDFcbn1cblxuZXhwb3J0IGNvbnN0IGFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UgPSAoXG4gIGFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSxcbiAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gIHQ6IFRyYW5zbGF0ZUZuXG4pOiB7IGFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eTsgbmV4dEluZGV4OiBudW1iZXIgfSB8IG51bGwgPT4ge1xuICBpZiAoIWNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UoYWN0aXZpdHkucGhhc2UsIGN1cnJlbnRJbmRleCkpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgbmV4dEluZGV4ID0gY3VycmVudEluZGV4ICsgMVxuICByZXR1cm4ge1xuICAgIGFjdGl2aXR5OiB7XG4gICAgICBwaGFzZTogYWN0aXZpdHkucGhhc2UsXG4gICAgICBtZXNzYWdlOiBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KGFjdGl2aXR5LnBoYXNlLCBuZXh0SW5kZXgsIHQpLFxuICAgIH0sXG4gICAgbmV4dEluZGV4LFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjYW5Sb3RhdGVTdHJlYW1BY3Rpdml0eVBoYXNlID0gKHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlKTogYm9vbGVhbiA9PiBST1RBVEFCTEVfUEhBU0VTLmluY2x1ZGVzKHBoYXNlKVxuXG5leHBvcnQgY29uc3QgZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5ID0gKHQ6IFRyYW5zbGF0ZUZuKTogU3RyZWFtQWN0aXZpdHkgPT4gKHtcbiAgcGhhc2U6ICd3cml0aW5nJyxcbiAgbWVzc2FnZTogdChXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zOiB7XG4gICAgaXNXZWJTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gICAgaXNEZWVwU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICAgIGhhc0F0dGFjaG1lbnRzPzogYm9vbGVhblxuICB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGlmIChvcHRpb25zLmlzV2ViU2VhcmNoQWN0aXZlKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdzZWFyY2gnLCBtZXNzYWdlOiB0KFNFQVJDSF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuICBpZiAob3B0aW9ucy5pc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2RlZXBfc2VhcmNoJywgbWVzc2FnZTogdChERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuICBpZiAob3B0aW9ucy5oYXNBdHRhY2htZW50cykge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYXR0YWNobWVudCcsIG1lc3NhZ2U6IHQoQVRUQUNITUVOVF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2dlbmVyYXRpbmcnLCBtZXNzYWdlOiB0KEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTWzBdKSB9XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkgPSAocGFyYW1zOiB7XG4gIHN0cmVhbUFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGxcbiAgbG9hZGluZ01lc3NhZ2U6IHN0cmluZyB8IG51bGxcbiAgYWN0aXZlTG9hZGluZ3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgd2FpdGluZ1Jlc3BvbnNlOiBib29sZWFuXG4gIGlzV2ViU2VhcmNoQWN0aXZlOiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZTogYm9vbGVhblxuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICB0OiBUcmFuc2xhdGVGblxufSk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCA9PiB7XG4gIGlmIChwYXJhbXMuc3RyZWFtQWN0aXZpdHkpIHtcbiAgICByZXR1cm4gcGFyYW1zLnN0cmVhbUFjdGl2aXR5XG4gIH1cblxuICBjb25zdCBhY3RpdmVLZXlzID0gT2JqZWN0LmtleXMocGFyYW1zLmFjdGl2ZUxvYWRpbmdzKVxuICBpZiAoYWN0aXZlS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgZmlyc3RLZXkgPSBhY3RpdmVLZXlzWzBdXG4gICAgY29uc3QgcmF3ID0gcGFyYW1zLmFjdGl2ZUxvYWRpbmdzW2ZpcnN0S2V5XVxuICAgIGlmIChyYXcgJiYgcmF3ICE9PSBwYXJhbXMudCgnY2hhdC5wcm9jZXNzaW5nJykpIHtcbiAgICAgIGNvbnN0IGhpdGxUb29sID0gcmVzb2x2ZUhpdGxUb29sRnJvbU5vZGVNZXNzYWdlKHJhdylcbiAgICAgIGlmIChoaXRsVG9vbCkge1xuICAgICAgICByZXR1cm4gbWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eShoaXRsVG9vbCwgcGFyYW1zLnQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRyaW1tZWQgPSByYXcudHJpbSgpXG4gICAgICBpZiAodHJpbW1lZCAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZCkpIHtcbiAgICAgICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0cmltbWVkIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1hcE5vZGVNZXNzYWdlVG9TdHJlYW1BY3Rpdml0eShyYXcsIHBhcmFtcy50LCB7IHVzZVJlc3VtaW5nRmFsbGJhY2s6IHRydWUgfSlcbiAgICB9XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdwcm9jZXNzaW5nJywgbWVzc2FnZTogcGFyYW1zLnQoJ2NoYXQucHJvY2Vzc2luZycpIH1cbiAgfVxuXG4gIGlmIChwYXJhbXMubG9hZGluZ01lc3NhZ2UpIHtcbiAgICBpZiAoXG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LndyaXRpbmcnKSB8fFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudChXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZKVxuICAgICkge1xuICAgICAgcmV0dXJuIGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eShwYXJhbXMudClcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZycpKSB7XG4gICAgICByZXR1cm4geyBwaGFzZTogJ2dlbmVyYXRpbmcnLCBtZXNzYWdlOiBwYXJhbXMubG9hZGluZ01lc3NhZ2UgfVxuICAgIH1cbiAgICBpZiAoXG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdXZWJTZWFyY2gnKSB8fFxuICAgICAgcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nRGVlcFNlYXJjaCcpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdBdHRhY2htZW50JylcbiAgICApIHtcbiAgICAgIHJldHVybiBnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkocGFyYW1zLnQsIHtcbiAgICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ1dlYlNlYXJjaCcpLFxuICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0RlZXBTZWFyY2gnKSxcbiAgICAgICAgaGFzQXR0YWNobWVudHM6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0F0dGFjaG1lbnQnKSxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlIH1cbiAgfVxuXG4gIGlmIChwYXJhbXMud2FpdGluZ1Jlc3BvbnNlKSB7XG4gICAgcmV0dXJuIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eShwYXJhbXMudCwge1xuICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBhcmFtcy5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGFyYW1zLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgIGhhc0F0dGFjaG1lbnRzOiBwYXJhbXMuaGFzQXR0YWNobWVudHMsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBpc1N0cmVhbWluZ1BsYWNlaG9sZGVyTWVzc2FnZUlkID0gKG1lc3NhZ2VJZDogc3RyaW5nIHwgdW5kZWZpbmVkKTogYm9vbGVhbiA9PlxuICB0eXBlb2YgbWVzc2FnZUlkID09PSAnc3RyaW5nJyAmJiBtZXNzYWdlSWQuaW5jbHVkZXMoJy1zdHJlYW1pbmcnKVxuIl0sIm1hcHBpbmdzIjoiO0FBRUEsU0FB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
374
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJsb2dIaXRsQXBwcm92YWxDb250ZXh0IiwiVEhJTktJTkdfTUVTU0FHRV9LRVlTIiwiR0VORVJBVElOR19NRVNTQUdFX0tFWVMiLCJTRUFSQ0hfTUVTU0FHRV9LRVlTIiwiREVFUF9TRUFSQ0hfTUVTU0FHRV9LRVlTIiwiQVRUQUNITUVOVF9NRVNTQUdFX0tFWVMiLCJBVFRBQ0hNRU5UX01FU1NBR0VfS0VZU19QTFVSQUwiLCJXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZIiwiSElUTF9UT09MX0FDVElWSVRZX0tFWVMiLCJjcmVhdGVfdGFzayIsImNsb25lX3Rhc2siLCJjcmVhdGVfdGFza3NfYmF0Y2giLCJjcmVhdGVfYWdlbnQiLCJlZGl0X2FnZW50IiwiZWRpdF90YXNrIiwiZWRpdF90YXNrc19iYXRjaCIsImRlbGV0ZV90YXNrIiwiZGVsZXRlX3Rhc2tzX2JhdGNoIiwidGFza19hc3NpZ24iLCJ0YXNrX3VuYXNzaWduIiwiYXNzaWduX3Rhc2tfbGFiZWwiLCJ1cGRhdGVfdGFza190eXBlIiwidXBkYXRlX2VzdGltYXRlZF9ob3VycyIsInVwZGF0ZV9kZWxpdmVyYWJsZSIsImNyZWF0ZV9ob3VyIiwiY3JlYXRlX2NoZWNrbGlzdCIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZIiwiT2JqZWN0Iiwia2V5cyIsInNvcnQiLCJhIiwiYiIsImxlbmd0aCIsImlzR2VuZXJpY1Jlc3VtZU5vZGVNZXNzYWdlIiwibWVzc2FnZSIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwibWFwSGl0bFRvb2xOYW1lVG9TdHJlYW1BY3Rpdml0eSIsInRvb2xOYW1lIiwidCIsIm9wdGlvbnMiLCJrZXkiLCJwaGFzZSIsInVzZVJlc3VtaW5nRmFsbGJhY2siLCJyZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UiLCJub2RlTWVzc2FnZSIsImFzVG9vbE5hbWUiLCJyZXBsYWNlIiwibWF0Y2hlZFRvb2wiLCJmaW5kIiwiaW5jbHVkZXMiLCJtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkiLCJoaXRsVG9vbCIsInRyaW1tZWRNZXNzYWdlIiwicmVzb2x2ZVBlbmRpbmdBY3Rpb25zRm9yVGhyZWFkIiwiY29udGV4dCIsInRocmVhZElkIiwiX3JlZiIsIl9jb250ZXh0JHBlbmRpbmdBY3RpbyIsIl9jb250ZXh0JGFwcHJvdmFsIiwiX2NvbnRleHQkdGhyZWFkSWRzIiwicGVuZGluZyIsInBlbmRpbmdBY3Rpb25zIiwiYXBwcm92YWwiLCJwZW5kaW5nX2FjdGlvbnMiLCJmb3JUaHJlYWQiLCJmaWx0ZXIiLCJhY3Rpb24iLCJ0aHJlYWRfaWQiLCJ0aHJlYWRJZHMiLCJfY29udGV4dCR0aHJlYWRJZHMyIiwiZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMiLCJhY3Rpb25zIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiU2V0IiwibWFwIiwidG9vbF9uYW1lIiwiQm9vbGVhbiIsInJlc29sdmVIaXRsTm9kZVN0cmVhbUFjdGl2aXR5IiwicGVuZGluZ0ZvclRocmVhZCIsImRldGVjdGVkVG9vbHMiLCJsb2dTb3VyY2UiLCJtZXNzYWdlSWQiLCJtZXNzYWdlVGV4dCIsInRyaW1tZWROb2RlTWVzc2FnZSIsImFjdGl2aXR5RnJvbU5vZGVNZXNzYWdlIiwicmVzb2x2ZUFuZExvZyIsImFjdGl2aXR5IiwiY29uY2F0IiwicmVzb2x2ZWRBY3Rpdml0eSIsInJlc29sdmVJbml0aWFsSGl0bFN0cmVhbUFjdGl2aXR5IiwiQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMiLCJST1RBVEFCTEVfUEhBU0VTIiwiZ2V0TWVzc2FnZUtleXNGb3JQaGFzZSIsImF0dGFjaG1lbnRzQ291bnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4IiwiaW5kZXgiLCJjbGFtcGVkSW5kZXgiLCJNYXRoIiwibWluIiwibWF4IiwiZ2V0VGhpbmtpbmdMb2FkaW5nTWVzc2FnZSIsImdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSIsImNhbkFkdmFuY2VTdHJlYW1BY3Rpdml0eU1lc3NhZ2UiLCJjdXJyZW50SW5kZXgiLCJhZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlIiwibmV4dEluZGV4IiwiX29iamVjdFNwcmVhZCIsImNhblJvdGF0ZVN0cmVhbUFjdGl2aXR5UGhhc2UiLCJnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkiLCJnZXRJbml0aWFsU3RyZWFtQWN0aXZpdHkiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImhhc0F0dGFjaG1lbnRzIiwiX29wdGlvbnMkYXR0YWNobWVudHNDIiwicmVzb2x2ZVN0cmVhbUxvYWRpbmdEaXNwbGF5IiwicGFyYW1zIiwic3RyZWFtQWN0aXZpdHkiLCJhY3RpdmVLZXlzIiwiYWN0aXZlTG9hZGluZ3MiLCJmaXJzdEtleSIsInJhdyIsInRyaW1tZWQiLCJsb2FkaW5nTWVzc2FnZSIsIndhaXRpbmdSZXNwb25zZSIsImlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3RyZWFtQWN0aXZpdHlNZXNzYWdlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0cmVhbUFjdGl2aXR5LCBTdHJlYW1BY3Rpdml0eVBoYXNlIH0gZnJvbSAnLi4vdHlwZXMvc3RyZWFtQWN0aXZpdHknXG5pbXBvcnQgdHlwZSB7IEFwcHJvdmFsUmVxdWVzdCwgUGVuZGluZ0FjdGlvbiB9IGZyb20gJy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBub3JtYWxpemVIaXRsVG9vbE5hbWUgfSBmcm9tICcuL2hpdGxBbmFseXRpY3MnXG5pbXBvcnQgeyBsb2dIaXRsQXBwcm92YWxDb250ZXh0IH0gZnJvbSAnLi9kZWJ1Z01haWFTc2VMb2cnXG5cbnR5cGUgVHJhbnNsYXRlRm4gPSAoa2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuXG5jb25zdCBUSElOS0lOR19NRVNTQUdFX0tFWVMgPSBbXG4gICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLmFuYWx5emluZycsXG4gICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLnJldmlld2luZycsXG4gICdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLnBsYW5uaW5nJyxcbl0gYXMgY29uc3RcblxuY29uc3QgR0VORVJBVElOR19NRVNTQUdFX0tFWVMgPSBbXG4gICdjaGF0LmFjdGl2aXR5LmdlbmVyYXRpbmcuY29uc2lkZXJpbmcnLFxuICAnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nLmFsbW9zdFJlYWR5JyxcbiAgJ2NoYXQuYWN0aXZpdHkuZ2VuZXJhdGluZy5wcmVwYXJpbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBTRUFSQ0hfTUVTU0FHRV9LRVlTID0gWydjaGF0LmFjdGl2aXR5LnNlYXJjaC5zY2FubmluZycsICdjaGF0LmFjdGl2aXR5LnNlYXJjaC5zdW1tYXJpemluZyddIGFzIGNvbnN0XG5cbmNvbnN0IERFRVBfU0VBUkNIX01FU1NBR0VfS0VZUyA9IFtcbiAgJ2NoYXQuYWN0aXZpdHkuZGVlcFNlYXJjaC5leHBsb3JpbmcnLFxuICAnY2hhdC5hY3Rpdml0eS5kZWVwU2VhcmNoLmNyb3NzQ2hlY2tpbmcnLFxuXSBhcyBjb25zdFxuXG5jb25zdCBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZUyA9IFsnY2hhdC5hY3Rpdml0eS5hdHRhY2htZW50LnJlYWRpbmcnLCAnY2hhdC5hY3Rpdml0eS5hdHRhY2htZW50LmV4dHJhY3RpbmcnXSBhcyBjb25zdFxuXG5jb25zdCBBVFRBQ0hNRU5UX01FU1NBR0VfS0VZU19QTFVSQUwgPSBbXG4gICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQucmVhZGluZ1BsdXJhbCcsXG4gICdjaGF0LmFjdGl2aXR5LmF0dGFjaG1lbnQuZXh0cmFjdGluZ1BsdXJhbCcsXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBXUklUSU5HX0FDVElWSVRZX01FU1NBR0VfS0VZID0gJ2NoYXQuYWN0aXZpdHkud3JpdGluZy5jb21wb3NpbmcnIGFzIGNvbnN0XG5cbi8qKiBUb29scyBISVRMIC8gbm9kZSBTU0Ug4oaSIGtleSBpMThuIGRlbCBpbmRpY2Fkb3IgZGUgYWN0aXZpZGFkICh0aWVtcG8gcHJlc2VudGUgY29udGludW8pLiAqL1xuY29uc3QgSElUTF9UT09MX0FDVElWSVRZX0tFWVM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNyZWF0ZV90YXNrOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ1Rhc2snLFxuICBjbG9uZV90YXNrOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ1Rhc2snLFxuICBjcmVhdGVfdGFza3NfYmF0Y2g6ICdjaGF0LmFjdGl2aXR5LmNyZWF0aW5nVGFza3NCYXRjaCcsXG4gIGNyZWF0ZV9hZ2VudDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdBZ2VudCcsXG4gIGVkaXRfYWdlbnQ6ICdjaGF0LmFjdGl2aXR5LmVkaXRpbmdBZ2VudCcsXG4gIGVkaXRfdGFzazogJ2NoYXQuYWN0aXZpdHkuZWRpdGluZ1Rhc2snLFxuICBlZGl0X3Rhc2tzX2JhdGNoOiAnY2hhdC5hY3Rpdml0eS5lZGl0aW5nVGFza3NCYXRjaCcsXG4gIGRlbGV0ZV90YXNrOiAnY2hhdC5hY3Rpdml0eS5kZWxldGluZ1Rhc2snLFxuICBkZWxldGVfdGFza3NfYmF0Y2g6ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nVGFza3NCYXRjaCcsXG4gIHRhc2tfYXNzaWduOiAnY2hhdC5hY3Rpdml0eS5hc3NpZ25pbmdVc2VyJyxcbiAgdGFza191bmFzc2lnbjogJ2NoYXQuYWN0aXZpdHkudW5hc3NpZ25pbmdVc2VyJyxcbiAgYXNzaWduX3Rhc2tfbGFiZWw6ICdjaGF0LmFjdGl2aXR5LmFzc2lnbmluZ0xhYmVsJyxcbiAgdXBkYXRlX3Rhc2tfdHlwZTogJ2NoYXQuYWN0aXZpdHkudXBkYXRpbmdUYXNrVHlwZScsXG4gIHVwZGF0ZV9lc3RpbWF0ZWRfaG91cnM6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRXN0aW1hdGVkSG91cnMnLFxuICB1cGRhdGVfZGVsaXZlcmFibGU6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nRGVsaXZlcmFibGUnLFxuICBjcmVhdGVfaG91cjogJ2NoYXQuYWN0aXZpdHkubG9nZ2luZ0hvdXJzJyxcbiAgY3JlYXRlX2NoZWNrbGlzdDogJ2NoYXQuYWN0aXZpdHkuY3JlYXRpbmdDaGVja2xpc3QnLFxuICBnZXRfdGFza19kYXRlX2hvdXJzOiAnY2hhdC5hY3Rpdml0eS5xdWVyeWluZ0hvdXJzJyxcbiAgY29uZmlndXJlX2FnZW50X2FjY2VzczogJ2NoYXQuYWN0aXZpdHkuY29uZmlndXJpbmdBZ2VudEFjY2VzcycsXG4gIHNlbmRfdGFza19tZXNzYWdlOiAnY2hhdC5hY3Rpdml0eS5zZW5kaW5nVGFza01lc3NhZ2UnLFxuICBkZWxldGVfY2hlY2tsaXN0X2l0ZW06ICdjaGF0LmFjdGl2aXR5LmRlbGV0aW5nQ2hlY2tsaXN0SXRlbScsXG4gIHJlbW92ZV90YXNrX3R5cGU6ICdjaGF0LmFjdGl2aXR5LnJlbW92aW5nVGFza1R5cGUnLFxuICByZW1vdmVfdGFza19sYWJlbDogJ2NoYXQuYWN0aXZpdHkucmVtb3ZpbmdMYWJlbCcsXG4gIGNvdW50X2RlbGl2ZXJhYmxlOiAnY2hhdC5hY3Rpdml0eS51cGRhdGluZ0RlbGl2ZXJhYmxlQ291bnQnLFxuICBjcmVhdGVfcmV3b3JrOiAnY2hhdC5hY3Rpdml0eS5jcmVhdGluZ1Jld29yaycsXG4gIHVwZGF0ZV9yZXdvcms6ICdjaGF0LmFjdGl2aXR5LnVwZGF0aW5nUmV3b3JrJyxcbn1cblxuY29uc3QgSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZID0gT2JqZWN0LmtleXMoSElUTF9UT09MX0FDVElWSVRZX0tFWVMpLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG5cbi8qKiBNZW5zYWplcyBnZW7DqXJpY29zIGRlbCBiYWNrZW5kIGN1YW5kbyBubyBoYXkgZGV0YWxsZSBkZSB0b29sIChjb250aW51ZS10aHJlYWQpLiAqL1xuY29uc3QgaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UgPSAobWVzc2FnZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBtZXNzYWdlLnRyaW0oKS50b0xvd2VyQ2FzZSgpXG4gIHJldHVybiAoXG4gICAgbm9ybWFsaXplZC5zdGFydHNXaXRoKCdlamVjdXRhbmRvIGFjY2nDs24gYXByb2JhZGEnKSB8fFxuICAgIG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnZXhlY3V0aW5nIGFwcHJvdmVkIGFjdGlvbicpIHx8XG4gICAgbm9ybWFsaXplZC5zdGFydHNXaXRoKCdleGVjdXRhbmRvIGHDp8OjbyBhcHJvdmFkYScpXG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHRvb2xOYW1lOiBzdHJpbmcsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbiB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWUpXG4gIGNvbnN0IGtleSA9IEhJVExfVE9PTF9BQ1RJVklUWV9LRVlTW25vcm1hbGl6ZWRdXG4gIGlmIChrZXkpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoa2V5KSB9XG4gIH1cbiAgaWYgKG9wdGlvbnM/LnVzZVJlc3VtaW5nRmFsbGJhY2spIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkucmVzdW1pbmdBY3Rpb24nKSB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpIH1cbn1cblxuY29uc3QgcmVzb2x2ZUhpdGxUb29sRnJvbU5vZGVNZXNzYWdlID0gKG5vZGVNZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vZGVNZXNzYWdlLnRvTG93ZXJDYXNlKCkudHJpbSgpXG4gIGlmICghbm9ybWFsaXplZCkgcmV0dXJuIG51bGxcblxuICBpZiAoSElUTF9UT09MX0FDVElWSVRZX0tFWVNbbm9ybWFsaXplZF0pIHtcbiAgICByZXR1cm4gbm9ybWFsaXplZFxuICB9XG5cbiAgY29uc3QgYXNUb29sTmFtZSA9IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShub3JtYWxpemVkLnJlcGxhY2UoL1xccysvZywgJ18nKSlcbiAgaWYgKEhJVExfVE9PTF9BQ1RJVklUWV9LRVlTW2FzVG9vbE5hbWVdKSB7XG4gICAgcmV0dXJuIGFzVG9vbE5hbWVcbiAgfVxuXG4gIGNvbnN0IG1hdGNoZWRUb29sID0gSElUTF9UT09MX05BTUVTX0JZX1NQRUNJRklDSVRZLmZpbmQodG9vbE5hbWUgPT4gbm9ybWFsaXplZC5pbmNsdWRlcyh0b29sTmFtZSkpXG4gIHJldHVybiBtYXRjaGVkVG9vbCA/PyBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkgPSAoXG4gIG5vZGVNZXNzYWdlOiBzdHJpbmcsXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbiB9XG4pOiBTdHJlYW1BY3Rpdml0eSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub2RlTWVzc2FnZS50b0xvd2VyQ2FzZSgpXG5cbiAgY29uc3QgaGl0bFRvb2wgPSByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2Uobm9kZU1lc3NhZ2UpXG4gIGlmIChoaXRsVG9vbCkge1xuICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGhpdGxUb29sLCB0LCBvcHRpb25zKVxuICB9XG5cbiAgaWYgKFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3Jlc3BvbnNlX2ZpbGVfZ2VuZXJhdGlvbicpIHx8XG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygnZ2VuZXJhbmRvIGFyY2hpdm8nKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ2dlbmVyYXRpbmcgZmlsZScpXG4gICkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogdCgnY2hhdC5hY3Rpdml0eS5nZW5lcmF0aW5nRmlsZScpIH1cbiAgfVxuICBpZiAoXG4gICAgbm9ybWFsaXplZC5pbmNsdWRlcygndGF2aWx5JykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdzZWFyY2hfd2ViJykgfHxcbiAgICBub3JtYWxpemVkLmluY2x1ZGVzKCdidXNjYW5kbyBlbiBsYSB3ZWInKSB8fFxuICAgIG5vcm1hbGl6ZWQuaW5jbHVkZXMoJ3NlYXJjaGluZyB0aGUgd2ViJylcbiAgKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdzZWFyY2gnLCBtZXNzYWdlOiB0KFNFQVJDSF9NRVNTQUdFX0tFWVNbMF0pIH1cbiAgfVxuXG4gIGNvbnN0IHRyaW1tZWRNZXNzYWdlID0gbm9kZU1lc3NhZ2UudHJpbSgpXG4gIGlmICh0cmltbWVkTWVzc2FnZSAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE1lc3NhZ2UpKSB7XG4gICAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0cmltbWVkTWVzc2FnZSB9XG4gIH1cblxuICBpZiAoaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE1lc3NhZ2UpIHx8IG9wdGlvbnM/LnVzZVJlc3VtaW5nRmFsbGJhY2spIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkucmVzdW1pbmdBY3Rpb24nKSB9XG4gIH1cbiAgcmV0dXJuIHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpIH1cbn1cblxuZXhwb3J0IHR5cGUgSGl0bEV4ZWN1dGlvbkNvbnRleHQgPSB7XG4gIG1lc3NhZ2VJZD86IHN0cmluZ1xuICBtZXNzYWdlVGV4dD86IHN0cmluZ1xuICBhcHByb3ZhbD86IEFwcHJvdmFsUmVxdWVzdFxuICBwZW5kaW5nQWN0aW9ucz86IFBlbmRpbmdBY3Rpb25bXVxuICB0aHJlYWRJZHM/OiBzdHJpbmdbXVxufVxuXG5jb25zdCByZXNvbHZlUGVuZGluZ0FjdGlvbnNGb3JUaHJlYWQgPSAoXG4gIGNvbnRleHQ6IEhpdGxFeGVjdXRpb25Db250ZXh0IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgdGhyZWFkSWQ/OiBzdHJpbmdcbik6IFBlbmRpbmdBY3Rpb25bXSA9PiB7XG4gIGNvbnN0IHBlbmRpbmcgPSBjb250ZXh0Py5wZW5kaW5nQWN0aW9ucyA/PyBjb250ZXh0Py5hcHByb3ZhbD8ucGVuZGluZ19hY3Rpb25zID8/IFtdXG4gIGlmICghcGVuZGluZy5sZW5ndGgpIHJldHVybiBbXVxuXG4gIGlmICh0aHJlYWRJZCkge1xuICAgIGNvbnN0IGZvclRocmVhZCA9IHBlbmRpbmcuZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24udGhyZWFkX2lkID09PSB0aHJlYWRJZClcbiAgICBpZiAoZm9yVGhyZWFkLmxlbmd0aCkgcmV0dXJuIGZvclRocmVhZFxuICB9XG5cbiAgaWYgKGNvbnRleHQ/LnRocmVhZElkcz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHBlbmRpbmcuZmlsdGVyKGFjdGlvbiA9PiBjb250ZXh0LnRocmVhZElkcz8uaW5jbHVkZXMoYWN0aW9uLnRocmVhZF9pZCkpXG4gIH1cblxuICByZXR1cm4gcGVuZGluZ1xufVxuXG5jb25zdCBkZXRlY3RUb29sc0Zyb21QZW5kaW5nQWN0aW9ucyA9IChhY3Rpb25zOiBQZW5kaW5nQWN0aW9uW10pOiBzdHJpbmdbXSA9PiBbXG4gIC4uLm5ldyBTZXQoYWN0aW9ucy5tYXAoYWN0aW9uID0+IG5vcm1hbGl6ZUhpdGxUb29sTmFtZShhY3Rpb24udG9vbF9uYW1lKSkuZmlsdGVyKEJvb2xlYW4pKSxcbl1cblxuLyoqIFJlc3VlbHZlIGluZGljYWRvciBISVRMIHByaW9yaXphbmRvIHBlbmRpbmdfYWN0aW9ucyBkZWwgbWVuc2FqZSBkZSBhcHJvYmFjacOzbiBhbnRlcmlvci4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlSGl0bE5vZGVTdHJlYW1BY3Rpdml0eSA9IChcbiAgbm9kZU1lc3NhZ2U6IHN0cmluZyxcbiAgdDogVHJhbnNsYXRlRm4sXG4gIGNvbnRleHQ/OiBIaXRsRXhlY3V0aW9uQ29udGV4dCB8IG51bGwsXG4gIHRocmVhZElkPzogc3RyaW5nLFxuICBvcHRpb25zPzogeyB1c2VSZXN1bWluZ0ZhbGxiYWNrPzogYm9vbGVhbjsgbG9nU291cmNlPzogc3RyaW5nIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgY29uc3QgcGVuZGluZ0ZvclRocmVhZCA9IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZChjb250ZXh0LCB0aHJlYWRJZClcbiAgY29uc3QgZGV0ZWN0ZWRUb29scyA9IGRldGVjdFRvb2xzRnJvbVBlbmRpbmdBY3Rpb25zKHBlbmRpbmdGb3JUaHJlYWQpXG5cbiAgaWYgKG9wdGlvbnM/LmxvZ1NvdXJjZSkge1xuICAgIGxvZ0hpdGxBcHByb3ZhbENvbnRleHQob3B0aW9ucy5sb2dTb3VyY2UsIHtcbiAgICAgIG1lc3NhZ2VJZDogY29udGV4dD8ubWVzc2FnZUlkLFxuICAgICAgbWVzc2FnZVRleHQ6IGNvbnRleHQ/Lm1lc3NhZ2VUZXh0LFxuICAgICAgdGhyZWFkSWQsXG4gICAgICB0aHJlYWRJZHM6IGNvbnRleHQ/LnRocmVhZElkcyxcbiAgICAgIG5vZGVNZXNzYWdlLFxuICAgICAgcGVuZGluZ0FjdGlvbnM6IHBlbmRpbmdGb3JUaHJlYWQsXG4gICAgICBkZXRlY3RlZFRvb2xzLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCB0cmltbWVkTm9kZU1lc3NhZ2UgPSBub2RlTWVzc2FnZS50cmltKClcbiAgY29uc3QgYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2UgPVxuICAgIHRyaW1tZWROb2RlTWVzc2FnZSAmJiAhaXNHZW5lcmljUmVzdW1lTm9kZU1lc3NhZ2UodHJpbW1lZE5vZGVNZXNzYWdlKVxuICAgICAgPyB7IHBoYXNlOiAnYWN0aW9uJyBhcyBjb25zdCwgbWVzc2FnZTogdHJpbW1lZE5vZGVNZXNzYWdlIH1cbiAgICAgIDogbnVsbFxuXG4gIGNvbnN0IHJlc29sdmVBbmRMb2cgPSAoYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5KSA9PiB7XG4gICAgaWYgKG9wdGlvbnM/LmxvZ1NvdXJjZSkge1xuICAgICAgbG9nSGl0bEFwcHJvdmFsQ29udGV4dChgJHtvcHRpb25zLmxvZ1NvdXJjZX06cmVzb2x2ZWRgLCB7XG4gICAgICAgIGRldGVjdGVkVG9vbHMsXG4gICAgICAgIHJlc29sdmVkQWN0aXZpdHk6IGFjdGl2aXR5LFxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIGFjdGl2aXR5XG4gIH1cblxuICBpZiAoZGV0ZWN0ZWRUb29scy5sZW5ndGggPj0gMSkge1xuICAgIGlmIChhY3Rpdml0eUZyb21Ob2RlTWVzc2FnZSkge1xuICAgICAgcmV0dXJuIHJlc29sdmVBbmRMb2coYWN0aXZpdHlGcm9tTm9kZU1lc3NhZ2UpXG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlQW5kTG9nKG1hcEhpdGxUb29sTmFtZVRvU3RyZWFtQWN0aXZpdHkoZGV0ZWN0ZWRUb29sc1swXSwgdCwgb3B0aW9ucykpXG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZUFuZExvZyhtYXBOb2RlTWVzc2FnZVRvU3RyZWFtQWN0aXZpdHkobm9kZU1lc3NhZ2UsIHQsIG9wdGlvbnMpKVxufVxuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUluaXRpYWxIaXRsU3RyZWFtQWN0aXZpdHkgPSAoXG4gIHQ6IFRyYW5zbGF0ZUZuLFxuICBjb250ZXh0PzogSGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsLFxuICBvcHRpb25zPzogeyBsb2dTb3VyY2U/OiBzdHJpbmcgfVxuKTogU3RyZWFtQWN0aXZpdHkgPT4ge1xuICBjb25zdCBwZW5kaW5nQWN0aW9ucyA9IHJlc29sdmVQZW5kaW5nQWN0aW9uc0ZvclRocmVhZChjb250ZXh0KVxuICBjb25zdCBkZXRlY3RlZFRvb2xzID0gZGV0ZWN0VG9vbHNGcm9tUGVuZGluZ0FjdGlvbnMocGVuZGluZ0FjdGlvbnMpXG5cbiAgaWYgKG9wdGlvbnM/LmxvZ1NvdXJjZSkge1xuICAgIGxvZ0hpdGxBcHByb3ZhbENvbnRleHQob3B0aW9ucy5sb2dTb3VyY2UsIHtcbiAgICAgIG1lc3NhZ2VJZDogY29udGV4dD8ubWVzc2FnZUlkLFxuICAgICAgbWVzc2FnZVRleHQ6IGNvbnRleHQ/Lm1lc3NhZ2VUZXh0LFxuICAgICAgdGhyZWFkSWRzOiBjb250ZXh0Py50aHJlYWRJZHMsXG4gICAgICBwZW5kaW5nQWN0aW9ucyxcbiAgICAgIGRldGVjdGVkVG9vbHMsXG4gICAgfSlcbiAgfVxuXG4gIGlmIChkZXRlY3RlZFRvb2xzLmxlbmd0aCA+PSAxKSB7XG4gICAgY29uc3QgYWN0aXZpdHkgPSBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGRldGVjdGVkVG9vbHNbMF0sIHQsIHsgdXNlUmVzdW1pbmdGYWxsYmFjazogdHJ1ZSB9KVxuICAgIGlmIChvcHRpb25zPy5sb2dTb3VyY2UpIHtcbiAgICAgIGxvZ0hpdGxBcHByb3ZhbENvbnRleHQoYCR7b3B0aW9ucy5sb2dTb3VyY2V9OnJlc29sdmVkYCwge1xuICAgICAgICBkZXRlY3RlZFRvb2xzLFxuICAgICAgICByZXNvbHZlZEFjdGl2aXR5OiBhY3Rpdml0eSxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiBhY3Rpdml0eVxuICB9XG5cbiAgcmV0dXJuIHsgcGhhc2U6ICdwcm9jZXNzaW5nJywgbWVzc2FnZTogdCgnY2hhdC5wcm9jZXNzaW5nJykgfVxufVxuXG5leHBvcnQgY29uc3QgQUNUSVZJVFlfTUVTU0FHRV9ST1RBVEVfTVMgPSAzMjAwXG5cbmNvbnN0IFJPVEFUQUJMRV9QSEFTRVM6IFN0cmVhbUFjdGl2aXR5UGhhc2VbXSA9IFsnZ2VuZXJhdGluZycsICd0aGlua2luZycsICdzZWFyY2gnLCAnZGVlcF9zZWFyY2gnLCAnYXR0YWNobWVudCddXG5cbmNvbnN0IGdldE1lc3NhZ2VLZXlzRm9yUGhhc2UgPSAocGhhc2U6IFN0cmVhbUFjdGl2aXR5UGhhc2UsIGF0dGFjaG1lbnRzQ291bnQgPSAwKTogcmVhZG9ubHkgc3RyaW5nW10gfCBudWxsID0+IHtcbiAgc3dpdGNoIChwaGFzZSkge1xuICAgIGNhc2UgJ2dlbmVyYXRpbmcnOlxuICAgICAgcmV0dXJuIEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTXG4gICAgY2FzZSAndGhpbmtpbmcnOlxuICAgICAgcmV0dXJuIFRISU5LSU5HX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ3NlYXJjaCc6XG4gICAgICByZXR1cm4gU0VBUkNIX01FU1NBR0VfS0VZU1xuICAgIGNhc2UgJ2RlZXBfc2VhcmNoJzpcbiAgICAgIHJldHVybiBERUVQX1NFQVJDSF9NRVNTQUdFX0tFWVNcbiAgICBjYXNlICdhdHRhY2htZW50JzpcbiAgICAgIHJldHVybiBhdHRhY2htZW50c0NvdW50ID4gMSA/IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTX1BMVVJBTCA6IEFUVEFDSE1FTlRfTUVTU0FHRV9LRVlTXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXggPSAoXG4gIHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLFxuICBpbmRleDogbnVtYmVyLFxuICB0OiBUcmFuc2xhdGVGbixcbiAgYXR0YWNobWVudHNDb3VudCA9IDBcbik6IHN0cmluZyA9PiB7XG4gIGlmIChwaGFzZSA9PT0gJ3dyaXRpbmcnKSB7XG4gICAgcmV0dXJuIHQoV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSlcbiAgfVxuXG4gIGNvbnN0IGtleXMgPSBnZXRNZXNzYWdlS2V5c0ZvclBoYXNlKHBoYXNlLCBhdHRhY2htZW50c0NvdW50KVxuICBpZiAoIWtleXM/Lmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgY29uc3QgY2xhbXBlZEluZGV4ID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgaW5kZXgpLCBrZXlzLmxlbmd0aCAtIDEpXG4gIHJldHVybiB0KGtleXNbY2xhbXBlZEluZGV4XSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldFRoaW5raW5nTG9hZGluZ01lc3NhZ2UgPSAoaW5kZXg6IG51bWJlciwgdDogVHJhbnNsYXRlRm4pOiBzdHJpbmcgPT5cbiAgZ2V0U3RyZWFtQWN0aXZpdHlNZXNzYWdlQXRJbmRleCgndGhpbmtpbmcnLCBpbmRleCwgdClcblxuZXhwb3J0IGNvbnN0IGdldEdlbmVyYXRpbmdMb2FkaW5nTWVzc2FnZSA9IChpbmRleDogbnVtYmVyLCB0OiBUcmFuc2xhdGVGbik6IHN0cmluZyA9PlxuICBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCdnZW5lcmF0aW5nJywgaW5kZXgsIHQpXG5cbmV4cG9ydCBjb25zdCBjYW5BZHZhbmNlU3RyZWFtQWN0aXZpdHlNZXNzYWdlID0gKHBoYXNlOiBTdHJlYW1BY3Rpdml0eVBoYXNlLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBrZXlzID0gZ2V0TWVzc2FnZUtleXNGb3JQaGFzZShwaGFzZSlcbiAgaWYgKCFrZXlzKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcmV0dXJuIGN1cnJlbnRJbmRleCA8IGtleXMubGVuZ3RoIC0gMVxufVxuXG5leHBvcnQgY29uc3QgYWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZSA9IChcbiAgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5LFxuICBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgdDogVHJhbnNsYXRlRm5cbik6IHsgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5OyBuZXh0SW5kZXg6IG51bWJlciB9IHwgbnVsbCA9PiB7XG4gIGlmICghY2FuQWR2YW5jZVN0cmVhbUFjdGl2aXR5TWVzc2FnZShhY3Rpdml0eS5waGFzZSwgY3VycmVudEluZGV4KSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBuZXh0SW5kZXggPSBjdXJyZW50SW5kZXggKyAxXG4gIHJldHVybiB7XG4gICAgYWN0aXZpdHk6IHtcbiAgICAgIHBoYXNlOiBhY3Rpdml0eS5waGFzZSxcbiAgICAgIG1lc3NhZ2U6IGdldFN0cmVhbUFjdGl2aXR5TWVzc2FnZUF0SW5kZXgoYWN0aXZpdHkucGhhc2UsIG5leHRJbmRleCwgdCwgYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCksXG4gICAgICAuLi4oYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCAhPSBudWxsICYmIHsgYXR0YWNobWVudHNDb3VudDogYWN0aXZpdHkuYXR0YWNobWVudHNDb3VudCB9KSxcbiAgICB9LFxuICAgIG5leHRJbmRleCxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY2FuUm90YXRlU3RyZWFtQWN0aXZpdHlQaGFzZSA9IChwaGFzZTogU3RyZWFtQWN0aXZpdHlQaGFzZSk6IGJvb2xlYW4gPT4gUk9UQVRBQkxFX1BIQVNFUy5pbmNsdWRlcyhwaGFzZSlcblxuZXhwb3J0IGNvbnN0IGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSA9ICh0OiBUcmFuc2xhdGVGbik6IFN0cmVhbUFjdGl2aXR5ID0+ICh7XG4gIHBoYXNlOiAnd3JpdGluZycsXG4gIG1lc3NhZ2U6IHQoV1JJVElOR19BQ1RJVklUWV9NRVNTQUdFX0tFWSksXG59KVxuXG5leHBvcnQgY29uc3QgZ2V0SW5pdGlhbFN0cmVhbUFjdGl2aXR5ID0gKFxuICB0OiBUcmFuc2xhdGVGbixcbiAgb3B0aW9uczoge1xuICAgIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgICBoYXNBdHRhY2htZW50cz86IGJvb2xlYW5cbiAgICBhdHRhY2htZW50c0NvdW50PzogbnVtYmVyXG4gIH1cbik6IFN0cmVhbUFjdGl2aXR5ID0+IHtcbiAgaWYgKG9wdGlvbnMuaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICByZXR1cm4geyBwaGFzZTogJ3NlYXJjaCcsIG1lc3NhZ2U6IHQoU0VBUkNIX01FU1NBR0VfS0VZU1swXSkgfVxuICB9XG4gIGlmIChvcHRpb25zLmlzRGVlcFNlYXJjaEFjdGl2ZSkge1xuICAgIHJldHVybiB7IHBoYXNlOiAnZGVlcF9zZWFyY2gnLCBtZXNzYWdlOiB0KERFRVBfU0VBUkNIX01FU1NBR0VfS0VZU1swXSkgfVxuICB9XG4gIGlmIChvcHRpb25zLmhhc0F0dGFjaG1lbnRzKSB7XG4gICAgY29uc3QgYXR0YWNobWVudHNDb3VudCA9IG9wdGlvbnMuYXR0YWNobWVudHNDb3VudCA/PyAwXG4gICAgcmV0dXJuIHtcbiAgICAgIHBoYXNlOiAnYXR0YWNobWVudCcsXG4gICAgICBtZXNzYWdlOiBnZXRTdHJlYW1BY3Rpdml0eU1lc3NhZ2VBdEluZGV4KCdhdHRhY2htZW50JywgMCwgdCwgYXR0YWNobWVudHNDb3VudCksXG4gICAgICBhdHRhY2htZW50c0NvdW50LFxuICAgIH1cbiAgfVxuICByZXR1cm4geyBwaGFzZTogJ2dlbmVyYXRpbmcnLCBtZXNzYWdlOiB0KEdFTkVSQVRJTkdfTUVTU0FHRV9LRVlTWzBdKSB9XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlU3RyZWFtTG9hZGluZ0Rpc3BsYXkgPSAocGFyYW1zOiB7XG4gIHN0cmVhbUFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGxcbiAgbG9hZGluZ01lc3NhZ2U6IHN0cmluZyB8IG51bGxcbiAgYWN0aXZlTG9hZGluZ3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgd2FpdGluZ1Jlc3BvbnNlOiBib29sZWFuXG4gIGlzV2ViU2VhcmNoQWN0aXZlOiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZTogYm9vbGVhblxuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICBhdHRhY2htZW50c0NvdW50PzogbnVtYmVyXG4gIHQ6IFRyYW5zbGF0ZUZuXG59KTogU3RyZWFtQWN0aXZpdHkgfCBudWxsID0+IHtcbiAgaWYgKHBhcmFtcy5zdHJlYW1BY3Rpdml0eSkge1xuICAgIHJldHVybiBwYXJhbXMuc3RyZWFtQWN0aXZpdHlcbiAgfVxuXG4gIGNvbnN0IGFjdGl2ZUtleXMgPSBPYmplY3Qua2V5cyhwYXJhbXMuYWN0aXZlTG9hZGluZ3MpXG4gIGlmIChhY3RpdmVLZXlzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBmaXJzdEtleSA9IGFjdGl2ZUtleXNbMF1cbiAgICBjb25zdCByYXcgPSBwYXJhbXMuYWN0aXZlTG9hZGluZ3NbZmlyc3RLZXldXG4gICAgaWYgKHJhdyAmJiByYXcgIT09IHBhcmFtcy50KCdjaGF0LnByb2Nlc3NpbmcnKSkge1xuICAgICAgY29uc3QgaGl0bFRvb2wgPSByZXNvbHZlSGl0bFRvb2xGcm9tTm9kZU1lc3NhZ2UocmF3KVxuICAgICAgaWYgKGhpdGxUb29sKSB7XG4gICAgICAgIHJldHVybiBtYXBIaXRsVG9vbE5hbWVUb1N0cmVhbUFjdGl2aXR5KGhpdGxUb29sLCBwYXJhbXMudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHJpbW1lZCA9IHJhdy50cmltKClcbiAgICAgIGlmICh0cmltbWVkICYmICFpc0dlbmVyaWNSZXN1bWVOb2RlTWVzc2FnZSh0cmltbWVkKSkge1xuICAgICAgICByZXR1cm4geyBwaGFzZTogJ2FjdGlvbicsIG1lc3NhZ2U6IHRyaW1tZWQgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWFwTm9kZU1lc3NhZ2VUb1N0cmVhbUFjdGl2aXR5KHJhdywgcGFyYW1zLnQsIHsgdXNlUmVzdW1pbmdGYWxsYmFjazogdHJ1ZSB9KVxuICAgIH1cbiAgICByZXR1cm4geyBwaGFzZTogJ3Byb2Nlc3NpbmcnLCBtZXNzYWdlOiBwYXJhbXMudCgnY2hhdC5wcm9jZXNzaW5nJykgfVxuICB9XG5cbiAgaWYgKHBhcmFtcy5sb2FkaW5nTWVzc2FnZSkge1xuICAgIGlmIChcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQud3JpdGluZycpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KFdSSVRJTkdfQUNUSVZJVFlfTUVTU0FHRV9LRVkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHBhcmFtcy50KVxuICAgIH1cbiAgICBpZiAocGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nJykpIHtcbiAgICAgIHJldHVybiB7IHBoYXNlOiAnZ2VuZXJhdGluZycsIG1lc3NhZ2U6IHBhcmFtcy5sb2FkaW5nTWVzc2FnZSB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ1dlYlNlYXJjaCcpIHx8XG4gICAgICBwYXJhbXMubG9hZGluZ01lc3NhZ2UgPT09IHBhcmFtcy50KCdjaGF0LmdlbmVyYXRpbmdEZWVwU2VhcmNoJykgfHxcbiAgICAgIHBhcmFtcy5sb2FkaW5nTWVzc2FnZSA9PT0gcGFyYW1zLnQoJ2NoYXQuZ2VuZXJhdGluZ0F0dGFjaG1lbnQnKVxuICAgICkge1xuICAgICAgcmV0dXJuIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eShwYXJhbXMudCwge1xuICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nV2ViU2VhcmNoJyksXG4gICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nRGVlcFNlYXJjaCcpLFxuICAgICAgICBoYXNBdHRhY2htZW50czogcGFyYW1zLmxvYWRpbmdNZXNzYWdlID09PSBwYXJhbXMudCgnY2hhdC5nZW5lcmF0aW5nQXR0YWNobWVudCcpLFxuICAgICAgICBhdHRhY2htZW50c0NvdW50OiBwYXJhbXMuYXR0YWNobWVudHNDb3VudCxcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB7IHBoYXNlOiAnYWN0aW9uJywgbWVzc2FnZTogcGFyYW1zLmxvYWRpbmdNZXNzYWdlIH1cbiAgfVxuXG4gIGlmIChwYXJhbXMud2FpdGluZ1Jlc3BvbnNlKSB7XG4gICAgcmV0dXJuIGdldEluaXRpYWxTdHJlYW1BY3Rpdml0eShwYXJhbXMudCwge1xuICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBhcmFtcy5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGFyYW1zLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgIGhhc0F0dGFjaG1lbnRzOiBwYXJhbXMuaGFzQXR0YWNobWVudHMsXG4gICAgICBhdHRhY2htZW50c0NvdW50OiBwYXJhbXMuYXR0YWNobWVudHNDb3VudCxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IGlzU3RyZWFtaW5nUGxhY2Vob2xkZXJNZXNzYWdlSWQgPSAobWVzc2FnZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuID0+XG4gIHR5cGVvZiBtZXNzYWdlSWQgPT09ICdzdHJpbmcnICYmIG1lc3NhZ2VJZC5pbmNsdWRlcygnLXN0cmVhbWluZycpXG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxTQUFTQSxxQkFBcUIsUUFBUSxpQkFBaUI7QUFDdkQsU0FBU0Msc0JBQXNCLFFBQVEsbUJBQW1CO0FBSTFELElBQU1DLHFC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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcor/maia-components",
3
- "version": "2.11.54-1",
3
+ "version": "2.11.54-3",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "repository": {