@projectcor/maia-components 2.11.65-19 → 2.11.65-20

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.
@@ -266,9 +266,7 @@ export var ChatAIHome = function ChatAIHome(_ref2) {
266
266
  id: contextId,
267
267
  name: context.name
268
268
  });
269
- return;
270
- }
271
- if (context.type === 'project') {
269
+ } else if (context.type === 'project') {
272
270
  if (contextId == null) return;
273
271
  setProject(_objectSpread(_objectSpread({
274
272
  id: contextId,
@@ -286,9 +284,7 @@ export var ChatAIHome = function ChatAIHome(_ref2) {
286
284
  projectName: context.name,
287
285
  clientName: clientName
288
286
  });
289
- return;
290
- }
291
- if (context.type === 'task') {
287
+ } else if (context.type === 'task') {
292
288
  setTask(_objectSpread(_objectSpread({
293
289
  id: context.id,
294
290
  name: context.name
@@ -322,6 +318,9 @@ export var ChatAIHome = function ChatAIHome(_ref2) {
322
318
  });
323
319
  }
324
320
  }
321
+ requestAnimationFrame(function () {
322
+ document.dispatchEvent(new CustomEvent('maia-input-refocus'));
323
+ });
325
324
  }, [event, setChipsProject, setClient, setProject, setTask, t]);
326
325
  var renderRecentContexts = function renderRecentContexts() {
327
326
  if (!isRecentContextsStep) return null;
@@ -482,4 +481,4 @@ export var ChatAIHome = function ChatAIHome(_ref2) {
482
481
  })]
483
482
  });
484
483
  };
485
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJMaXN0Q2hlY2tsaXN0IiwidXNlVCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU0NDQUlIb21lQ29udGFpbmVyIiwiU0NDQUlIb21lQ29udGVudCIsIlNDQ0FJSG9tZUNvbnRlbnRJbm5lciIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiU0NDQUlIb21lR3JhZGllbnRCb3R0b20iLCJTQ0NBSUhvbWVIZWFkZXIiLCJTQ0NBSUhvbWVHcmVldGluZyIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsIlNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsIlNDQ0FJSG9tZVRpdGxlIiwiU0NDQUlIb21lU3VidGl0bGUiLCJTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dHNUaXRsZSIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzTGlzdCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxJY29uIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0IiwiU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxTa2VsZXRvbiIsInVzZUdsb2JhbENvbnRleHQiLCJDT1JVc2VyUm9sZSIsInVzZVVzZXIiLCJ1c2VSZXNpemVMaXN0ZW5lciIsImdldENvbnRleHRNZW50aW9uSWNvbiIsInZhbGlkYXRlSXNNYWlhIiwiRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwidXNlUmVjZW50Q29udGV4dHMiLCJNQUlBSXNvbG9nbyIsIlRlbXBsYXRlR3JhZGllbnRJY29uIiwiQ2hhdEFJSG9tZU1haWFrZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJGcmVxdWVudFF1ZXN0aW9ucyIsIlJFQ0VOVF9DT05URVhUU19MSU1JVCIsIlJFQ0VOVF9DT05URVhUX0lDT05fQ09MT1IiLCJSRUNFTlRfQ09OVEVYVF9TS0VMRVRPTl9LRVlTIiwiUmVjZW50Q29udGV4dFBpbGwiLCJfcmVmIiwiY29udGV4dCIsImxhYmVsIiwib25DbGljayIsInRleHRSZWYiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsInR5cGUiLCJjaGlsZHJlbiIsImNvbG9yIiwid2lkdGgiLCJoZWlnaHQiLCJ1bmRlZmluZWQiLCJyZWYiLCJ0aXRsZSIsInBhcnNlTnVtZXJpY0lkIiwidmFsdWUiLCJwYXJzZWQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImdldEFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXMiLCJyb2xlSWQiLCJDTEVWRUwiLCJESVJFQ1RPUiIsIlBST0pFQ1RfTUFOQUdFUiIsIlNldCIsIkNPTExBQk9SQVRPUiIsIkNoYXRBSUhvbWUiLCJfcmVmMiIsImhhbmRsZXJzIiwib25TdGFydENoYXQiLCJleHBhbmRlZCIsImZsb2F0aW5nIiwiX3VzZVQiLCJ0IiwiaTE4biIsImV2ZW50IiwidXNlciIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJzZWN0aW9uIiwiY2xpZW50IiwicHJvamVjdCIsInRhc2siLCJjaGlwc1Byb2plY3QiLCJzZXRDbGllbnQiLCJzZXRQcm9qZWN0Iiwic2V0VGFzayIsInNldENoaXBzUHJvamVjdCIsImlzTUFJQSIsImZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwibGFuZyIsImxhbmd1YWdlIiwic3VtbWFyeVByb2plY3RBY2Nlc3MiLCJ3aW5kb3ciLCJTdHJpbmciLCJNQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUyIsInRvTG93ZXJDYXNlIiwibWFpYVByb2plY3RTdW1tYXJ5QWNjZXNzIiwiZmFxc0FjY2VzcyIsInNob3dQcm9qZWN0U3VtbWFyeSIsImlzTWFpYWtlciIsImVudGl0eSIsInRlc3QiLCJuYW1lIiwiaXNIZWFkZXJIb21lIiwiYWxsb3dlZFJlY2VudENvbnRleHRUeXBlcyIsInJvbGVfaWQiLCJfdXNlUmVjZW50Q29udGV4dHMiLCJlbmFibGVkIiwibGltaXQiLCJmZXRjaGVkUmVjZW50Q29udGV4dHMiLCJjb250ZXh0cyIsInJlY2VudENvbnRleHRzTG9hZGluZyIsImxvYWRpbmciLCJyZWNlbnRDb250ZXh0cyIsImZpbHRlciIsImhhcyIsImhhc1Bpbm5lZENvbnRleHQiLCJpZCIsInByb2plY3RJZCIsImlzUmVjZW50Q29udGV4dHNTdGVwIiwiaXNDb250ZXh0SG9tZVN0ZXAiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWxlY3RlZENvbnRleHQiLCJzZXRTZWxlY3RlZENvbnRleHQiLCJhY3RpdmVDb250ZXh0IiwicHJvamVjdE5hbWUiLCJwaW5uZWRFbnRpdHlUeXBlIiwicmVhbExpc3RzQWdlbnRJZCIsInJlYWxMaXN0c0VudGl0eVR5cGUiLCJfdXNlRnJlcXVlbnRseVVzZWRBY3QiLCJhZ2VudEZ1YXMiLCJhY3Rpb25zIiwiZnVhc0xvYWRpbmciLCJfdXNlRnJlcXVlbnRseUFza2VkUXUiLCJhZ2VudEZhcXMiLCJmYXFzIiwiZmFxc0xvYWRpbmciLCJoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJmYXFzRmV0Y2hSZWYiLCJfZmFxc0ZldGNoUmVmJGN1cnJlbnQiLCJjdXJyZW50S2V5IiwiY29uY2F0IiwibGFzdEtleSIsImN1cnJlbnQiLCJhZ2VudElkIiwiZW50aXR5VHlwZSIsImZ1YXMiLCJmYXFzQXJlTG9hZGluZyIsImZ1YXNBcmVMb2FkaW5nIiwic2hvd1JlY2VudENvbnRleHRzQmxvY2siLCJsZW5ndGgiLCJzaG91bGRTaG93RmFxcyIsInNob3VsZFNob3dGdWFzIiwic2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCIsInNob3dGQVFzIiwiaG9tZVNjcm9sbGFibGVMYXlvdXQiLCJzaG93RHluYW1pY1NlY3Rpb24iLCJjb250ZW50Q29udGFpbmVyUmVmIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzaG93VG9wR3JhZGllbnQiLCJzZXRTaG93VG9wR3JhZGllbnQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNob3dCb3R0b21HcmFkaWVudCIsInNldFNob3dCb3R0b21HcmFkaWVudCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNTY3JvbGxpbmciLCJzZXRJc1Njcm9sbGluZyIsInNjcm9sbFRpbWVvdXRSZWYiLCJncmVldGluZyIsImludHJvIiwiaW50cm9kdWN0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiaGFuZGxlU2VsZWN0UmVjZW50Q29udGV4dCIsIm9yZGVyIiwiX2NvbnRleHQkcGFyZW50cyIsIl9jb250ZXh0JHBhcmVudHMyIiwiX2NvbnRleHQkcGFyZW50czMiLCJfY29udGV4dCRwYXJlbnRzNCIsImFpQ2hhdENvbnRleHRTZWxlY3RlZCIsImNvbnRleHRJZCIsImNsaWVudElkIiwicGFyZW50cyIsImNsaWVudF9pZCIsInByb2plY3RfaWQiLCJjbGllbnROYW1lIiwiY2xpZW50X25hbWUiLCJwcm9qZWN0X25hbWUiLCJfb2JqZWN0U3ByZWFkIiwicmVuZGVyUmVjZW50Q29udGV4dHMiLCJtYXAiLCJrZXkiLCJpbmRleCIsInRyaW0iLCJjaGVja1Njcm9sbCIsImNvbnRhaW5lciIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzU2Nyb2xsYWJsZSIsImlzQXRUb3AiLCJpc0F0Qm90dG9tIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0aW1lb3V0SWQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVuZGVySGVhZGVyQ29udGVudCIsIl9hZ2VudCRjcmVhdGVkX2J5IiwiX2FnZW50JGNyZWF0ZWRfYnkyIiwiZW1vamkiLCJjcmVhdGVkX2J5IiwiaXNfZGVsZXRlZCIsIiRub0dhcCIsImZpcnN0TmFtZSIsIiRzaG93IiwiJGlzQWdlbnRWaWV3IiwiJGZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwiJGdhcCIsIiRtYXhXaWR0aCIsInByb2plY3RTdW1tYXJ5IiwiJGdyb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJSG9tZS9DaGF0QUlIb21lLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9mdW5jdGlvbi1jb21wb25lbnQtZGVmaW5pdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IExpc3RDaGVja2xpc3QgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9MaXN0Q2hlY2tsaXN0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5cbmltcG9ydCB7IG9wdGlvbnMgfSBmcm9tICcuLi9DaGF0QUlNb2RhbC9jb25zdGFudHMnXG5cbmltcG9ydCB7XG4gIFNDQ0FJSG9tZUNvbnRhaW5lcixcbiAgU0NDQUlIb21lQ29udGVudCxcbiAgU0NDQUlIb21lQ29udGVudElubmVyLFxuICBTQ0NBSUhvbWVHcmFkaWVudFRvcCxcbiAgU0NDQUlIb21lR3JhZGllbnRCb3R0b20sXG4gIFNDQ0FJSG9tZUhlYWRlcixcbiAgU0NDQUlIb21lR3JlZXRpbmcsXG4gIFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcixcbiAgU0NDQUlIb21lQWdlbnRJbmZvLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSxcbiAgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50LFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uLFxuICBTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCxcbiAgU0NDQUlIb21lSW50cm9kdWN0aW9uLFxuICBTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lLFxuICBTQ0NBSUhvbWVJY29uQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVMb2dvV3JhcHBlcixcbiAgU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrLFxuICBTQ0NBSUhvbWVUaXRsZSxcbiAgU0NDQUlIb21lU3VidGl0bGUsXG4gIFNDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uLFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyxcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dHNUaXRsZSxcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0LFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCxcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxJY29uLFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbFRleHQsXG4gIFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsU2tlbGV0b24sXG59IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBDT1JVc2VyUm9sZSwgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zJ1xuaW1wb3J0IHsgRnJlcXVlbnRseVVzZWRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvRnJlcXVlbnRseVVzZWRBY3Rpb25zJ1xuaW1wb3J0IHsgdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zJ1xuaW1wb3J0IHsgdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zJ1xuaW1wb3J0IHsgdXNlUmVjZW50Q29udGV4dHMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZWNlbnRDb250ZXh0cydcbmltcG9ydCB0eXBlIHsgUmVjZW50Q29udGV4dEl0ZW0sIFJlY2VudENvbnRleHRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9SZWNlbnRDb250ZXh0cydcbmltcG9ydCB7IE1BSUFJc29sb2dvIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvTUFJQUlzb2xvZ28nXG5pbXBvcnQgeyBUZW1wbGF0ZUdyYWRpZW50SWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL1RlbXBsYXRlR3JhZGllbnRJY29uJ1xuaW1wb3J0IHsgQ2hhdEFJSG9tZU1haWFrZXIgfSBmcm9tICcuL0NoYXRBSUhvbWVNYWlha2VyJ1xuXG50eXBlIENoYXRBSUhvbWVQcm9wcyA9IHtcbiAgb25TdGFydENoYXQ6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdIHwgbnVsbCxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBtZW50aW9ucz86IG51bGwsXG4gICAgZnVhSWQ/OiBzdHJpbmdcbiAgKSA9PiB2b2lkXG4gIGhhbmRsZXJzOiBSZWNvcmQ8b3B0aW9ucywgKCkgPT4gdm9pZD5cbiAgZXhwYW5kZWQ/OiBib29sZWFuXG4gIGZsb2F0aW5nPzogYm9vbGVhblxufVxuXG5leHBvcnQgZW51bSBGcmVxdWVudFF1ZXN0aW9ucyB7XG4gIHJlbnRhYmlsaWRhZF9wcm95ZWN0byA9ICdyZW50YWJpbGlkYWRfcHJveWVjdG8nLFxuICBhdmFuY2VfcHJveWVjdG8gPSAnYXZhbmNlX3Byb3llY3RvJyxcbn1cblxuY29uc3QgUkVDRU5UX0NPTlRFWFRTX0xJTUlUID0gOVxuY29uc3QgUkVDRU5UX0NPTlRFWFRfSUNPTl9DT0xPUiA9ICcjNEQ0RDREJ1xuY29uc3QgUkVDRU5UX0NPTlRFWFRfU0tFTEVUT05fS0VZUyA9IFtcbiAgJ3JlY2VudC1jb250ZXh0LXNrZWxldG9uLTEnLFxuICAncmVjZW50LWNvbnRleHQtc2tlbGV0b24tMicsXG4gICdyZWNlbnQtY29udGV4dC1za2VsZXRvbi0zJyxcbl1cblxuY29uc3QgUmVjZW50Q29udGV4dFBpbGwgPSAoe1xuICBjb250ZXh0LFxuICBsYWJlbCxcbiAgb25DbGljayxcbn06IHtcbiAgY29udGV4dDogUmVjZW50Q29udGV4dEl0ZW1cbiAgbGFiZWw6IHN0cmluZ1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG59KSA9PiB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCB7IHNob3dUb29sdGlwIH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmLCBbbGFiZWxdKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbEljb24+XG4gICAgICAgIHtjb250ZXh0LnR5cGUgPT09ICd0YXNrJyA/IChcbiAgICAgICAgICA8TGlzdENoZWNrbGlzdCBjb2xvcj17UkVDRU5UX0NPTlRFWFRfSUNPTl9DT0xPUn0gd2lkdGg9XCIxNHB4XCIgaGVpZ2h0PVwiMTRweFwiIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgZ2V0Q29udGV4dE1lbnRpb25JY29uKGNvbnRleHQudHlwZSwgUkVDRU5UX0NPTlRFWFRfSUNPTl9DT0xPUiwgdW5kZWZpbmVkLCAxNClcbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxJY29uPlxuICAgICAgPFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCByZWY9e3RleHRSZWZ9PlxuICAgICAgICB7c2hvd1Rvb2x0aXAgPyAoXG4gICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2xhYmVsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICApIDogKFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dD5cbiAgICA8L1NDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsPlxuICApXG59XG5cbmNvbnN0IHBhcnNlTnVtZXJpY0lkID0gKHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCk6IG51bWJlciB8IG51bGwgPT4ge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiBudWxsXG4gIGNvbnN0IHBhcnNlZCA9IE51bWJlcih2YWx1ZSlcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShwYXJzZWQpID8gcGFyc2VkIDogbnVsbFxufVxuXG5jb25zdCBnZXRBbGxvd2VkUmVjZW50Q29udGV4dFR5cGVzID0gKHJvbGVJZD86IENPUlVzZXJSb2xlKTogU2V0PFJlY2VudENvbnRleHRUeXBlPiA9PiB7XG4gIGlmIChyb2xlSWQgPT09IENPUlVzZXJSb2xlLkNMRVZFTCB8fCByb2xlSWQgPT09IENPUlVzZXJSb2xlLkRJUkVDVE9SIHx8IHJvbGVJZCA9PT0gQ09SVXNlclJvbGUuUFJPSkVDVF9NQU5BR0VSKSB7XG4gICAgcmV0dXJuIG5ldyBTZXQoWydjbGllbnQnLCAncHJvamVjdCcsICd0YXNrJ10pXG4gIH1cbiAgaWYgKHJvbGVJZCA9PT0gQ09SVXNlclJvbGUuQ09MTEFCT1JBVE9SKSB7XG4gICAgcmV0dXJuIG5ldyBTZXQoWyd0YXNrJ10pXG4gIH1cbiAgcmV0dXJuIG5ldyBTZXQoKVxufVxuXG5leHBvcnQgY29uc3QgQ2hhdEFJSG9tZSA9ICh7IGhhbmRsZXJzLCBvblN0YXJ0Q2hhdCwgZXhwYW5kZWQsIGZsb2F0aW5nIH06IENoYXRBSUhvbWVQcm9wcykgPT4ge1xuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IGFnZW50LCBzZWN0aW9uLCBjbGllbnQsIHByb2plY3QsIHRhc2ssIGNoaXBzUHJvamVjdCwgc2V0Q2xpZW50LCBzZXRQcm9qZWN0LCBzZXRUYXNrLCBzZXRDaGlwc1Byb2plY3QgfSA9XG4gICAgdXNlR2xvYmFsQ29udGV4dCgpXG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG4gIGNvbnN0IGZsb2F0aW5nQ3VzdG9tQ2VudGVyID0gISEoZmxvYXRpbmcgJiYgYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nKVxuICBjb25zdCBsYW5nID0gaTE4bi5sYW5ndWFnZSA9PT0gJ2JyJyA/ICdwdCcgOiBpMThuLmxhbmd1YWdlXG5cbiAgY29uc3Qgc3VtbWFyeVByb2plY3RBY2Nlc3MgPVxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgKFN0cmluZyh3aW5kb3cuTUFJQV9QUk9KRUNUX1NVTU1BUllfRkVBVFVSRV9BQ0NFU1MpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyB8fFxuICAgICAgU3RyaW5nKHdpbmRvdy5tYWlhUHJvamVjdFN1bW1hcnlBY2Nlc3MpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJylcbiAgY29uc3QgZmFxc0FjY2VzcyA9IHRydWVcbiAgY29uc3Qgc2hvd1Byb2plY3RTdW1tYXJ5ID0gISEoaXNNQUlBICYmIHN1bW1hcnlQcm9qZWN0QWNjZXNzKVxuICAvLyBFbCBvcmNoZXN0cmF0b3IgKHR5cGUgPT09ICdvcmNoZXN0cmF0b3InKSBtdWVzdHJhIEZBUXMvRlVBcyBhZ3JlZ2FkYXMgZGUgc3VzIHN1YmFnZW50ZXMsXG4gIC8vIGFzw60gcXVlIE5PIHNlIHRyYXRhIGNvbW8gbWFpYWtlciBhY8OhLiBNYWlha2VyID0gY2xvbmUgZ2xvYmFsIGxlZ2FjeSBjb24gbm9tYnJlIG1haWFrZXIvbWFya2V0cGxhY2UuXG4gIGNvbnN0IGlzTWFpYWtlciA9XG4gICAgYWdlbnQ/LnR5cGUgIT09ICdvcmNoZXN0cmF0b3InICYmIGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnICYmIC8obWFpYWtlcnxtYXJrZXRwbGFjZSkvaS50ZXN0KGFnZW50Py5uYW1lIHx8ICcnKVxuICBjb25zdCBpc0hlYWRlckhvbWUgPSBpc01BSUEgJiYgc2VjdGlvbiA9PT0gJ2hlYWRlcicgJiYgYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InXG4gIGNvbnN0IGFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXMgPSB1c2VNZW1vKCgpID0+IGdldEFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXModXNlci5yb2xlX2lkKSwgW3VzZXIucm9sZV9pZF0pXG4gIGNvbnN0IHsgY29udGV4dHM6IGZldGNoZWRSZWNlbnRDb250ZXh0cywgbG9hZGluZzogcmVjZW50Q29udGV4dHNMb2FkaW5nIH0gPSB1c2VSZWNlbnRDb250ZXh0cyh7XG4gICAgZW5hYmxlZDogaXNIZWFkZXJIb21lLFxuICAgIGxpbWl0OiBSRUNFTlRfQ09OVEVYVFNfTElNSVQsXG4gIH0pXG4gIGNvbnN0IHJlY2VudENvbnRleHRzID0gdXNlTWVtbyhcbiAgICAoKSA9PiBmZXRjaGVkUmVjZW50Q29udGV4dHMuZmlsdGVyKGNvbnRleHQgPT4gYWxsb3dlZFJlY2VudENvbnRleHRUeXBlcy5oYXMoY29udGV4dC50eXBlKSksXG4gICAgW2ZldGNoZWRSZWNlbnRDb250ZXh0cywgYWxsb3dlZFJlY2VudENvbnRleHRUeXBlc11cbiAgKVxuXG4gIC8vIEhvbWUgZGVsIG9yY2hlc3RyYXRvciBlbiAyIHBhc29zOlxuICAvLyAgLSBQYXNvIDEgKHNpbiBjb250ZXh0byBwaW5lYWRvKTogc2UgbXVlc3RyYW4gc29sbyBsb3MgY29udGV4dG9zIHJlY2llbnRlcy5cbiAgLy8gIC0gUGFzbyAyIChjb250ZXh0byBwaW5lYWRvKTogc2UgbXVlc3RyYW4gbGFzIEZBUXMvYWNjaW9uZXMgcXVlIHJlZmVyZW5jaWFuIGVzZSBjb250ZXh0by5cbiAgLy8gVm9sdmVyIGFsIHBhc28gMSA9IHF1aXRhciBlbCBjaGlwIChsaW1waWEgZWwgY29udGV4dG8gZ2xvYmFsKS5cbiAgY29uc3QgaGFzUGlubmVkQ29udGV4dCA9ICEhKHRhc2s/LmlkIHx8IGNoaXBzUHJvamVjdD8ucHJvamVjdElkIHx8IGNsaWVudD8uaWQgfHwgcHJvamVjdD8uaWQpXG4gIGNvbnN0IGlzUmVjZW50Q29udGV4dHNTdGVwID0gaXNIZWFkZXJIb21lICYmICFoYXNQaW5uZWRDb250ZXh0XG4gIGNvbnN0IGlzQ29udGV4dEhvbWVTdGVwID0gaXNIZWFkZXJIb21lICYmIGhhc1Bpbm5lZENvbnRleHRcblxuICAvLyBDb250ZXh0byBhY3Rpdm8gcGFyYSBkZXJpdmFyIEZBUXMvYWNjaW9uZXMgKHBhc28gMikuIFByZWZlcmltb3MgZWwgcGlsbCBjbGlja2VhZG87XG4gIC8vIHNpIG5vLCBsbyByZWNvbnN0cnVpbW9zIGRlc2RlIGVsIGNvbnRleHRvIGdsb2JhbC5cbiAgY29uc3QgW3NlbGVjdGVkQ29udGV4dCwgc2V0U2VsZWN0ZWRDb250ZXh0XSA9IHVzZVN0YXRlPFJlY2VudENvbnRleHRJdGVtIHwgbnVsbD4obnVsbClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWhhc1Bpbm5lZENvbnRleHQpIHNldFNlbGVjdGVkQ29udGV4dChudWxsKVxuICB9LCBbaGFzUGlubmVkQ29udGV4dF0pXG5cbiAgY29uc3QgYWN0aXZlQ29udGV4dCA9IHVzZU1lbW88UmVjZW50Q29udGV4dEl0ZW0gfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkQ29udGV4dCkgcmV0dXJuIHNlbGVjdGVkQ29udGV4dFxuICAgIGlmICghaXNDb250ZXh0SG9tZVN0ZXApIHJldHVybiBudWxsXG4gICAgaWYgKHRhc2s/LmlkKSByZXR1cm4geyB0eXBlOiAndGFzaycsIGlkOiB0YXNrLmlkLCBuYW1lOiB0YXNrLm5hbWUgfVxuICAgIGlmIChjaGlwc1Byb2plY3Q/LnByb2plY3RJZCkgcmV0dXJuIHsgdHlwZTogJ3Byb2plY3QnLCBpZDogY2hpcHNQcm9qZWN0LnByb2plY3RJZCwgbmFtZTogY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lIH1cbiAgICBpZiAoY2xpZW50Py5pZCkgcmV0dXJuIHsgdHlwZTogJ2NsaWVudCcsIGlkOiBjbGllbnQuaWQsIG5hbWU6IGNsaWVudC5uYW1lIH1cbiAgICByZXR1cm4gbnVsbFxuICB9LCBbXG4gICAgc2VsZWN0ZWRDb250ZXh0LFxuICAgIGlzQ29udGV4dEhvbWVTdGVwLFxuICAgIHRhc2s/LmlkLFxuICAgIHRhc2s/Lm5hbWUsXG4gICAgY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQsXG4gICAgY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSxcbiAgICBjbGllbnQ/LmlkLFxuICAgIGNsaWVudD8ubmFtZSxcbiAgXSlcblxuICAvLyBlbnRpdHlfdHlwZSBkZWwgY29udGV4dG8gcGluZWFkbyAocHJvamVjdC9jbGllbnQvdGFzayksIHRvbWFkbyBkZWwgY29udGV4dG8gZ2xvYmFsLlxuICAvLyBBcGxpY2EgdGFudG8gYWwgYWJyaXIgTUFJQSBkZXNkZSB1bmEgc2VjY2nDs24gZXNwZWPDrWZpY2EgY29tbyBhbCBjYW1iaWFyIGRlIGNvbnZlcnNhY2nDs24uXG4gIGNvbnN0IHBpbm5lZEVudGl0eVR5cGUgPSB1c2VNZW1vPFJlY2VudENvbnRleHRUeXBlIHwgdW5kZWZpbmVkPigoKSA9PiB7XG4gICAgaWYgKHRhc2s/LmlkKSByZXR1cm4gJ3Rhc2snXG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkIHx8IHByb2plY3Q/LmlkKSByZXR1cm4gJ3Byb2plY3QnXG4gICAgaWYgKGNsaWVudD8uaWQpIHJldHVybiAnY2xpZW50J1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSwgW3Rhc2s/LmlkLCBjaGlwc1Byb2plY3Q/LnByb2plY3RJZCwgcHJvamVjdD8uaWQsIGNsaWVudD8uaWRdKVxuXG4gIC8vIEZBUXMvYWNjaW9uZXM6XG4gIC8vICAtIGhlYWRlci1ob21lIChvcmNoZXN0cmF0b3IpLCBwYXNvIDI6IGZpbHRyYWRhcyBwb3IgYGVudGl0eV90eXBlYCBkZWwgY29udGV4dG8gc2VsZWNjaW9uYWRvLlxuICAvLyAgLSBob21lcyBkZSBwcm95ZWN0by9jbGllbnRlL3RhcmVhIChzZWNjacOzbik6IGZpbHRyYWRhcyBwb3IgZWwgYGVudGl0eV90eXBlYCBkZWwgY29udGV4dG8gc2V0ZWFkby5cbiAgY29uc3QgcmVhbExpc3RzQWdlbnRJZCA9ICgoKSA9PiB7XG4gICAgaWYgKCFpc01BSUEgfHwgaXNNYWlha2VyKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgaWYgKGlzSGVhZGVySG9tZSkgcmV0dXJuIGlzQ29udGV4dEhvbWVTdGVwID8gYWdlbnQ/LmlkIDogdW5kZWZpbmVkXG4gICAgcmV0dXJuIGFnZW50Py5pZFxuICB9KSgpXG4gIGNvbnN0IHJlYWxMaXN0c0VudGl0eVR5cGUgPSAoKCkgPT4ge1xuICAgIGlmICghaXNIZWFkZXJIb21lKSByZXR1cm4gcGlubmVkRW50aXR5VHlwZVxuICAgIHJldHVybiBpc0NvbnRleHRIb21lU3RlcCA/IGFjdGl2ZUNvbnRleHQ/LnR5cGUgOiB1bmRlZmluZWRcbiAgfSkoKVxuICBjb25zdCB7IGFjdGlvbnM6IGFnZW50RnVhcywgbG9hZGluZzogZnVhc0xvYWRpbmcgfSA9IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyhcbiAgICByZWFsTGlzdHNBZ2VudElkLFxuICAgIHNlY3Rpb24sXG4gICAgcmVhbExpc3RzRW50aXR5VHlwZVxuICApXG4gIGNvbnN0IHtcbiAgICBmYXFzOiBhZ2VudEZhcXMsXG4gICAgbG9hZGluZzogZmFxc0xvYWRpbmcsXG4gICAgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLFxuICB9ID0gdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKHJlYWxMaXN0c0FnZW50SWQsIGxhbmcsIHJlYWxMaXN0c0VudGl0eVR5cGUpXG4gIGNvbnN0IGZhcXNGZXRjaFJlZiA9IHVzZVJlZjx7IGFnZW50SWQ6IHN0cmluZzsgbGFuZzogc3RyaW5nOyBlbnRpdHlUeXBlPzogc3RyaW5nIH0gfCBudWxsPihudWxsKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcmVhbExpc3RzQWdlbnRJZCB8fCBzZWN0aW9uID09PSAndGFzaycpIHJldHVyblxuICAgIGNvbnN0IGN1cnJlbnRLZXkgPSBgJHtyZWFsTGlzdHNBZ2VudElkfS0ke2xhbmd9LSR7cmVhbExpc3RzRW50aXR5VHlwZSA/PyAnYWxsJ31gXG4gICAgY29uc3QgbGFzdEtleSA9IGZhcXNGZXRjaFJlZi5jdXJyZW50XG4gICAgICA/IGAke2ZhcXNGZXRjaFJlZi5jdXJyZW50LmFnZW50SWR9LSR7ZmFxc0ZldGNoUmVmLmN1cnJlbnQubGFuZ30tJHtmYXFzRmV0Y2hSZWYuY3VycmVudC5lbnRpdHlUeXBlID8/ICdhbGwnfWBcbiAgICAgIDogbnVsbFxuICAgIGlmIChjdXJyZW50S2V5ICE9PSBsYXN0S2V5KSB7XG4gICAgICBmYXFzRmV0Y2hSZWYuY3VycmVudCA9IHsgYWdlbnRJZDogcmVhbExpc3RzQWdlbnRJZCwgbGFuZywgZW50aXR5VHlwZTogcmVhbExpc3RzRW50aXR5VHlwZSB9XG4gICAgICBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoeyBhZ2VudElkOiByZWFsTGlzdHNBZ2VudElkLCBsYW5nLCBlbnRpdHlUeXBlOiByZWFsTGlzdHNFbnRpdHlUeXBlIH0pXG4gICAgfVxuICB9LCBbcmVhbExpc3RzQWdlbnRJZCwgcmVhbExpc3RzRW50aXR5VHlwZSwgc2VjdGlvbiwgbGFuZywgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zXSlcblxuICBjb25zdCBmYXFzID0gYWdlbnRGYXFzXG4gIGNvbnN0IGZ1YXMgPSBhZ2VudEZ1YXNcbiAgY29uc3QgZmFxc0FyZUxvYWRpbmcgPSBmYXFzTG9hZGluZ1xuICBjb25zdCBmdWFzQXJlTG9hZGluZyA9IGZ1YXNMb2FkaW5nXG5cbiAgY29uc3Qgc2hvd1JlY2VudENvbnRleHRzQmxvY2sgPSBpc1JlY2VudENvbnRleHRzU3RlcCAmJiAocmVjZW50Q29udGV4dHNMb2FkaW5nIHx8IHJlY2VudENvbnRleHRzLmxlbmd0aCA+IDApXG4gIGNvbnN0IHNob3VsZFNob3dGYXFzID1cbiAgICAoaXNDb250ZXh0SG9tZVN0ZXAgfHwgKCFpc0hlYWRlckhvbWUgJiYgc2VjdGlvbiAhPT0gJ3Rhc2snICYmIGZhcXNBY2Nlc3MpKSAmJlxuICAgICFpc01haWFrZXIgJiZcbiAgICAoZmFxcy5sZW5ndGggPiAwIHx8IGZhcXNBcmVMb2FkaW5nKVxuICBjb25zdCBzaG91bGRTaG93RnVhcyA9ICFpc01haWFrZXIgJiYgKGlzQ29udGV4dEhvbWVTdGVwIHx8ICFpc0hlYWRlckhvbWUpICYmIChmdWFzLmxlbmd0aCA+IDAgfHwgZnVhc0FyZUxvYWRpbmcpXG5cbiAgY29uc3Qgc2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCA9IHNob3dQcm9qZWN0U3VtbWFyeSAmJiBhZ2VudD8uZW50aXR5ID09PSAncHJvamVjdCdcbiAgY29uc3Qgc2hvd0ZBUXMgPSAhIShcbiAgICBzaG93UmVjZW50Q29udGV4dHNCbG9jayB8fFxuICAgIHNob3VsZFNob3dGYXFzIHx8XG4gICAgc2hvdWxkU2hvd0Z1YXMgfHxcbiAgICBzaG93UHJvamVjdFN1bW1hcnlDYXJkIHx8XG4gICAgaXNNYWlha2VyXG4gIClcbiAgY29uc3QgaG9tZVNjcm9sbGFibGVMYXlvdXQgPSBzaG93RkFRc1xuICBjb25zdCBzaG93RHluYW1pY1NlY3Rpb24gPSBzaG93UmVjZW50Q29udGV4dHNCbG9jayB8fCBzaG91bGRTaG93RmFxcyB8fCBzaG91bGRTaG93RnVhcyB8fCBpc01haWFrZXJcblxuICAvLyBMw7NnaWNhIGRlbCBzY3JvbGwgY29uIGdyYWRpZW50ZXNcbiAgY29uc3QgY29udGVudENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW3Nob3dUb3BHcmFkaWVudCwgc2V0U2hvd1RvcEdyYWRpZW50XSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2hvd0JvdHRvbUdyYWRpZW50LCBzZXRTaG93Qm90dG9tR3JhZGllbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1Njcm9sbGluZywgc2V0SXNTY3JvbGxpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHNjcm9sbFRpbWVvdXRSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsPihudWxsKVxuXG4gIC8vIFNhbHVkbyBhbGVhdG9yaW8gZGVzZGUgYWdlbnQuaW50cm9kdWN0aW9uIChhcnJheSBjb24gMyB2YXJpYW50ZXMgZGVsIGJhY2spLiBFbiB0YXNrLCBtZW5zYWplIGZpam8gaTE4bi4gTWFpYWtlciBzaW4gaW50cm8gZGVsIGFnZW50ZS5cbiAgY29uc3QgZ3JlZXRpbmcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNNYWlha2VyKSByZXR1cm4gJydcbiAgICBpZiAoc2VjdGlvbiA9PT0gJ3Rhc2snKSByZXR1cm4gdCgnaG9tZU1lbnUudGFza0dyZWV0aW5nJylcbiAgICBjb25zdCBpbnRybyA9IGFnZW50Py5pbnRyb2R1Y3Rpb25cbiAgICBpZiAoIWludHJvKSByZXR1cm4gJydcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbnRybykgJiYgaW50cm8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGludHJvW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGludHJvLmxlbmd0aCldXG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgaW50cm8gPT09ICdzdHJpbmcnID8gaW50cm8gOiAnJ1xuICB9LCBbYWdlbnQ/LmlkLCBhZ2VudD8uaW50cm9kdWN0aW9uLCBzZWN0aW9uLCBpc01haWFrZXIsIHRdKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdFJlY2VudENvbnRleHQgPSB1c2VDYWxsYmFjayhcbiAgICAoY29udGV4dDogUmVjZW50Q29udGV4dEl0ZW0sIG9yZGVyOiBudW1iZXIpID0+IHtcbiAgICAgIGV2ZW50KEVWRU5UUy5haUNoYXRDb250ZXh0U2VsZWN0ZWQsIHsgb3JkZXIsIHR5cGU6IGNvbnRleHQudHlwZSB9KVxuXG4gICAgICBjb25zdCBjb250ZXh0SWQgPSBwYXJzZU51bWVyaWNJZChjb250ZXh0LmlkKVxuICAgICAgY29uc3QgY2xpZW50SWQgPSBwYXJzZU51bWVyaWNJZChjb250ZXh0LnBhcmVudHM/LmNsaWVudF9pZClcbiAgICAgIGNvbnN0IHByb2plY3RJZCA9IHBhcnNlTnVtZXJpY0lkKGNvbnRleHQucGFyZW50cz8ucHJvamVjdF9pZClcbiAgICAgIGNvbnN0IGNsaWVudE5hbWUgPSBjb250ZXh0LnBhcmVudHM/LmNsaWVudF9uYW1lIHx8ICcnXG4gICAgICBjb25zdCBwcm9qZWN0TmFtZSA9IGNvbnRleHQucGFyZW50cz8ucHJvamVjdF9uYW1lIHx8ICcnXG5cbiAgICAgIHNldFNlbGVjdGVkQ29udGV4dChjb250ZXh0KVxuICAgICAgc2V0VGFzayhudWxsKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldENoaXBzUHJvamVjdChudWxsKVxuXG4gICAgICBpZiAoY29udGV4dC50eXBlID09PSAnY2xpZW50Jykge1xuICAgICAgICBpZiAoY29udGV4dElkID09IG51bGwpIHJldHVyblxuICAgICAgICBzZXRDbGllbnQ/Lih7IGlkOiBjb250ZXh0SWQsIG5hbWU6IGNvbnRleHQubmFtZSB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRleHQudHlwZSA9PT0gJ3Byb2plY3QnKSB7XG4gICAgICAgIGlmIChjb250ZXh0SWQgPT0gbnVsbCkgcmV0dXJuXG4gICAgICAgIHNldFByb2plY3Qoe1xuICAgICAgICAgIGlkOiBjb250ZXh0SWQsXG4gICAgICAgICAgbmFtZTogY29udGV4dC5uYW1lLFxuICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnRJZCB9IDoge30pLFxuICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnQ6IHsgaWQ6IGNsaWVudElkLCBuYW1lOiBjbGllbnROYW1lIH0gfSA6IHt9KSxcbiAgICAgICAgfSlcbiAgICAgICAgc2V0Q2hpcHNQcm9qZWN0KHtcbiAgICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhjb250ZXh0SWQpLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBjb250ZXh0Lm5hbWUsXG4gICAgICAgICAgY2xpZW50TmFtZSxcbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZXh0LnR5cGUgPT09ICd0YXNrJykge1xuICAgICAgICBzZXRUYXNrKHtcbiAgICAgICAgICBpZDogY29udGV4dC5pZCxcbiAgICAgICAgICBuYW1lOiBjb250ZXh0Lm5hbWUsXG4gICAgICAgICAgLi4uKHByb2plY3RJZCAhPSBudWxsID8geyBwcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGNsaWVudElkICE9IG51bGwpIHtcbiAgICAgICAgICBzZXRDbGllbnQ/Lih7IGlkOiBjbGllbnRJZCwgbmFtZTogY2xpZW50TmFtZSB9KVxuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9qZWN0SWQgIT0gbnVsbCkge1xuICAgICAgICAgIHNldFByb2plY3Qoe1xuICAgICAgICAgICAgaWQ6IHByb2plY3RJZCxcbiAgICAgICAgICAgIG5hbWU6IHByb2plY3ROYW1lIHx8IGAke3QoJ2hvbWVNZW51LnJlY2VudENvbnRleHRzLnR5cGVzLnByb2plY3QnKX0gJHtwcm9qZWN0SWR9YCxcbiAgICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnRJZCB9IDoge30pLFxuICAgICAgICAgICAgLi4uKGNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudDogeyBpZDogY2xpZW50SWQsIG5hbWU6IGNsaWVudE5hbWUgfSB9IDoge30pLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgc2V0Q2hpcHNQcm9qZWN0KHtcbiAgICAgICAgICAgIHByb2plY3RJZDogU3RyaW5nKHByb2plY3RJZCksXG4gICAgICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdE5hbWUgfHwgYCR7dCgnaG9tZU1lbnUucmVjZW50Q29udGV4dHMudHlwZXMucHJvamVjdCcpfSAke3Byb2plY3RJZH1gLFxuICAgICAgICAgICAgY2xpZW50TmFtZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbZXZlbnQsIHNldENoaXBzUHJvamVjdCwgc2V0Q2xpZW50LCBzZXRQcm9qZWN0LCBzZXRUYXNrLCB0XVxuICApXG5cbiAgY29uc3QgcmVuZGVyUmVjZW50Q29udGV4dHMgPSAoKSA9PiB7XG4gICAgaWYgKCFpc1JlY2VudENvbnRleHRzU3RlcCkgcmV0dXJuIG51bGxcblxuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dHM+XG4gICAgICAgIHsocmVjZW50Q29udGV4dHNMb2FkaW5nIHx8IHJlY2VudENvbnRleHRzLmxlbmd0aCA+IDApICYmIChcbiAgICAgICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dHNUaXRsZT57dCgnaG9tZU1lbnUucmVjZW50Q29udGV4dHMudGl0bGUnKX08L1NDQ0FJSG9tZVJlY2VudENvbnRleHRzVGl0bGU+XG4gICAgICAgICl9XG4gICAgICAgIDxTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c0xpc3Q+XG4gICAgICAgICAge3JlY2VudENvbnRleHRzTG9hZGluZyAmJlxuICAgICAgICAgICAgUkVDRU5UX0NPTlRFWFRfU0tFTEVUT05fS0VZUy5tYXAoa2V5ID0+IDxTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbFNrZWxldG9uIGtleT17a2V5fSAvPil9XG4gICAgICAgICAgeyFyZWNlbnRDb250ZXh0c0xvYWRpbmcgJiZcbiAgICAgICAgICAgIHJlY2VudENvbnRleHRzLm1hcCgoY29udGV4dCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPFJlY2VudENvbnRleHRQaWxsXG4gICAgICAgICAgICAgICAga2V5PXtgJHtjb250ZXh0LnR5cGV9LSR7Y29udGV4dC5pZH1gfVxuICAgICAgICAgICAgICAgIGNvbnRleHQ9e2NvbnRleHR9XG4gICAgICAgICAgICAgICAgbGFiZWw9e2NvbnRleHQubmFtZS50cmltKCl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlU2VsZWN0UmVjZW50Q29udGV4dChjb250ZXh0LCBpbmRleCArIDEpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0PlxuICAgICAgPC9TQ0NBSUhvbWVSZWNlbnRDb250ZXh0cz5cbiAgICApXG4gIH1cblxuICBjb25zdCBjaGVja1Njcm9sbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXIgPSBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lciB8fCAhaG9tZVNjcm9sbGFibGVMYXlvdXQpIHJldHVyblxuXG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJcbiAgICBjb25zdCBpc1Njcm9sbGFibGUgPSBzY3JvbGxIZWlnaHQgPiBjbGllbnRIZWlnaHRcbiAgICBjb25zdCBpc0F0VG9wID0gc2Nyb2xsVG9wID09PSAwXG4gICAgY29uc3QgaXNBdEJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSAxXG5cbiAgICBzZXRTaG93VG9wR3JhZGllbnQoaXNTY3JvbGxhYmxlICYmICFpc0F0VG9wKVxuICAgIHNldFNob3dCb3R0b21HcmFkaWVudChpc1Njcm9sbGFibGUgJiYgIWlzQXRCb3R0b20pXG4gICAgc2V0SXNTY3JvbGxpbmcodHJ1ZSlcblxuICAgIGlmIChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpIHtcbiAgICAgIGNsZWFyVGltZW91dChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpXG4gICAgfVxuXG4gICAgc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRJc1Njcm9sbGluZyhmYWxzZSlcbiAgICB9LCAxNTApXG4gIH0sIFtob21lU2Nyb2xsYWJsZUxheW91dF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWhvbWVTY3JvbGxhYmxlTGF5b3V0KSB7XG4gICAgICBzZXRTaG93VG9wR3JhZGllbnQoZmFsc2UpXG4gICAgICBzZXRTaG93Qm90dG9tR3JhZGllbnQoZmFsc2UpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjaGVja1Njcm9sbCgpXG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGNoZWNrU2Nyb2xsKVxuXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dChjaGVja1Njcm9sbCwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBjaGVja1Njcm9sbClcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBpZiAoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNsZWFyVGltZW91dChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaG9tZVNjcm9sbGFibGVMYXlvdXQsIGNoZWNrU2Nyb2xsXSlcblxuICBjb25zdCByZW5kZXJIZWFkZXJDb250ZW50ID0gKCkgPT4ge1xuICAgIGlmICghaXNNQUlBKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0NBSUhvbWVBZ2VudEluZm8+XG4gICAgICAgICAgICB7YWdlbnQ/LmVtb2ppfSB7YWdlbnQ/Lm5hbWV9XG4gICAgICAgICAgPC9TQ0NBSUhvbWVBZ2VudEluZm8+XG4gICAgICAgICAge2FnZW50Py5jcmVhdGVkX2J5ICYmICFpc01BSUEgJiYgKFxuICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICAgICAgICBhZ2VudD8uY3JlYXRlZF9ieT8uaXNfZGVsZXRlZCA/IHQoJ2hvbWVNZW51LmNyZWF0ZWRCeVRvb2x0aXBEZWxldGVkJykgOiB0KCdob21lTWVudS5jcmVhdGVkQnlUb29sdGlwJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U0NDQUlIb21lQ3JlYXRlZEJ5VGV4dD5cbiAgICAgICAgICAgICAgICAgIHt0KCdob21lTWVudS5jcmVhdGVkQnknKX17JyAnfVxuICAgICAgICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lPnthZ2VudD8uY3JlYXRlZF9ieT8ubmFtZX08L1NDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dD5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgPC9TQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXI+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXI+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2sgJG5vR2FwPXshaXNIZWFkZXJIb21lICYmICFncmVldGluZ30+XG4gICAgICAgIDxTQ0NBSUhvbWVJY29uQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0NBSUhvbWVMb2dvV3JhcHBlcj5cbiAgICAgICAgICAgIDxNQUlBSXNvbG9nbyAvPlxuICAgICAgICAgIDwvU0NDQUlIb21lTG9nb1dyYXBwZXI+XG4gICAgICAgIDwvU0NDQUlIb21lSWNvbkNvbnRhaW5lcj5cbiAgICAgICAge2lzSGVhZGVySG9tZSA/IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFNDQ0FJSG9tZVRpdGxlPnt0KCdob21lTWVudS5jb250ZXh0SG9tZS5ncmVldGluZycsIHsgbmFtZTogdXNlci5maXJzdE5hbWUgfSl9PC9TQ0NBSUhvbWVUaXRsZT5cbiAgICAgICAgICAgIDxTQ0NBSUhvbWVTdWJ0aXRsZT57dCgnaG9tZU1lbnUuY29udGV4dEhvbWUuc3VidGl0bGUnKX08L1NDQ0FJSG9tZVN1YnRpdGxlPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIGdyZWV0aW5nICYmIDxTQ0NBSUhvbWVHcmVldGluZz57Z3JlZXRpbmd9PC9TQ0NBSUhvbWVHcmVldGluZz5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJSG9tZUNvbnRhaW5lciBzaG93RkFRcz17c2hvd0ZBUXN9PlxuICAgICAge2hvbWVTY3JvbGxhYmxlTGF5b3V0ICYmIDxTQ0NBSUhvbWVHcmFkaWVudFRvcCAkc2hvdz17c2hvd1RvcEdyYWRpZW50fSAvPn1cbiAgICAgIDxTQ0NBSUhvbWVDb250ZW50XG4gICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgc2hvd0ZBUXM9e2hvbWVTY3JvbGxhYmxlTGF5b3V0fVxuICAgICAgICAkaXNBZ2VudFZpZXc9eyFpc01BSUF9XG4gICAgICAgICRmbG9hdGluZ0N1c3RvbUNlbnRlcj17ZmxvYXRpbmdDdXN0b21DZW50ZXJ9XG4gICAgICA+XG4gICAgICAgIDxTQ0NBSUhvbWVDb250ZW50SW5uZXJcbiAgICAgICAgICBzaG93RkFRcz17aG9tZVNjcm9sbGFibGVMYXlvdXR9XG4gICAgICAgICAgJGlzQWdlbnRWaWV3PXshaXNNQUlBfVxuICAgICAgICAgICRmbG9hdGluZ0N1c3RvbUNlbnRlcj17ZmxvYXRpbmdDdXN0b21DZW50ZXJ9XG4gICAgICAgID5cbiAgICAgICAgICA8U0NDQUlIb21lSGVhZGVyXG4gICAgICAgICAgICAkZ2FwPXtpc01BSUEgJiYgc2VjdGlvbiAhPT0gJ3Byb2plY3QnID8gJzhweCcgOiAnMjBweCd9XG4gICAgICAgICAgICAkbWF4V2lkdGg9e2lzTUFJQSA/ICcxMDAlJyA6ICczODBweCd9XG4gICAgICAgICAgICAkaXNBZ2VudFZpZXc9eyFpc01BSUF9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3JlbmRlckhlYWRlckNvbnRlbnQoKX1cblxuICAgICAgICAgICAge3NlY3Rpb24gIT09ICdwcm9qZWN0JyAmJiAoXG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24gZXhwYW5kZWQ9e2V4cGFuZGVkfT57IWlzTUFJQSAmJiBhZ2VudD8uaW50cm9kdWN0aW9ufTwvU0NDQUlIb21lSW50cm9kdWN0aW9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NDQ0FJSG9tZUhlYWRlcj5cbiAgICAgICAgICB7c2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCAmJiAoXG4gICAgICAgICAgICA8U0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3Qgb25DbGljaz17aGFuZGxlcnMucHJvamVjdFN1bW1hcnl9PlxuICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnk+XG4gICAgICAgICAgICAgICAgPFRlbXBsYXRlR3JhZGllbnRJY29uIGhlaWdodD17MjR9IHdpZHRoPXsyNH0gLz5cbiAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeT5cbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudD5cbiAgICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZT57dCgnaG9tZU1lbnUucHJvamVjdFN1bW1hcnkudGl0bGUnKX08L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICB7dCgnaG9tZU1lbnUucHJvamVjdFN1bW1hcnkuZGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgIDwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50PlxuICAgICAgICAgICAgPC9TQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG93RHluYW1pY1NlY3Rpb24gJiYgKFxuICAgICAgICAgICAgPFNDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uICRncm93PXtpc01haWFrZXJ9PlxuICAgICAgICAgICAgICB7cmVuZGVyUmVjZW50Q29udGV4dHMoKX1cbiAgICAgICAgICAgICAge3Nob3VsZFNob3dGYXFzICYmIChcbiAgICAgICAgICAgICAgICA8RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zXG4gICAgICAgICAgICAgICAgICBvblN0YXJ0Q2hhdD17b25TdGFydENoYXR9XG4gICAgICAgICAgICAgICAgICBzaG93RkFRcz17c2hvd0ZBUXN9XG4gICAgICAgICAgICAgICAgICBzaG93UHJvamVjdFN1bW1hcnk9e3Nob3dQcm9qZWN0U3VtbWFyeX1cbiAgICAgICAgICAgICAgICAgIGFnZW50SWQ9e2FnZW50Py5pZH1cbiAgICAgICAgICAgICAgICAgIGxhbmc9e2xhbmd9XG4gICAgICAgICAgICAgICAgICBpc1Njcm9sbGluZz17aXNTY3JvbGxpbmd9XG4gICAgICAgICAgICAgICAgICBmYXFzPXtmYXFzfVxuICAgICAgICAgICAgICAgICAgbG9hZGluZz17ZmFxc0FyZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge3Nob3VsZFNob3dGdWFzICYmIChcbiAgICAgICAgICAgICAgICA8RnJlcXVlbnRseVVzZWRBY3Rpb25zXG4gICAgICAgICAgICAgICAgICBvblN0YXJ0Q2hhdD17b25TdGFydENoYXR9XG4gICAgICAgICAgICAgICAgICBhZ2VudElkPXthZ2VudD8uaWR9XG4gICAgICAgICAgICAgICAgICBpc1Njcm9sbGluZz17aXNTY3JvbGxpbmd9XG4gICAgICAgICAgICAgICAgICBhY3Rpb25zPXtmdWFzfVxuICAgICAgICAgICAgICAgICAgbG9hZGluZz17ZnVhc0FyZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2lzTWFpYWtlciA/IDxDaGF0QUlIb21lTWFpYWtlciBvblN0YXJ0Q2hhdD17b25TdGFydENoYXR9IC8+IDogbnVsbH1cbiAgICAgICAgICAgIDwvU0NDQUlIb21lRHluYW1pY1NlY3Rpb24+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0NBSUhvbWVDb250ZW50SW5uZXI+XG4gICAgICA8L1NDQ0FJSG9tZUNvbnRlbnQ+XG4gICAgICB7aG9tZVNjcm9sbGFibGVMYXlvdXQgJiYgPFNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tICRzaG93PXtzaG93Qm90dG9tR3JhZGllbnR9IC8+fVxuICAgIDwvU0NDQUlIb21lQ29udGFpbmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBRXpFLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsYUFBYSxRQUFRLGdEQUFnRDtBQUM5RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLHlCQUF5QjtBQUkxRCxTQUNFQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMscUJBQXFCLEVBQ3JCQyxvQkFBb0IsRUFDcEJDLHVCQUF1QixFQUN2QkMsZUFBZSxFQUNmQyxpQkFBaUIsRUFDakJDLDJCQUEyQixFQUMzQkMsa0JBQWtCLEVBQ2xCQyx1QkFBdUIsRUFDdkJDLDhCQUE4QixFQUM5QkMsNEJBQTRCLEVBQzVCQyxrQ0FBa0MsRUFDbENDLDBCQUEwQixFQUMxQkMscUJBQXFCLEVBQ3JCQywyQkFBMkIsRUFDM0JDLHNCQUFzQixFQUN0QkMsMEJBQTBCLEVBQzFCQyxzQkFBc0IsRUFDdEJDLG9CQUFvQixFQUNwQkMsd0JBQXdCLEVBQ3hCQyxjQUFjLEVBQ2RDLGlCQUFpQixFQUNqQkMsdUJBQXVCLEVBQ3ZCQyx1QkFBdUIsRUFDdkJDLDRCQUE0QixFQUM1QkMsMkJBQTJCLEVBQzNCQywwQkFBMEIsRUFDMUJDLDhCQUE4QixFQUM5QkMsOEJBQThCLEVBQzlCQyxrQ0FBa0MsUUFDN0IsVUFBVTtBQUNqQixTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsV0FBVyxFQUFF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
484
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJMaXN0Q2hlY2tsaXN0IiwidXNlVCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU0NDQUlIb21lQ29udGFpbmVyIiwiU0NDQUlIb21lQ29udGVudCIsIlNDQ0FJSG9tZUNvbnRlbnRJbm5lciIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiU0NDQUlIb21lR3JhZGllbnRCb3R0b20iLCJTQ0NBSUhvbWVIZWFkZXIiLCJTQ0NBSUhvbWVHcmVldGluZyIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsIlNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsIlNDQ0FJSG9tZVRpdGxlIiwiU0NDQUlIb21lU3VidGl0bGUiLCJTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dHNUaXRsZSIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzTGlzdCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxJY29uIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0IiwiU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxTa2VsZXRvbiIsInVzZUdsb2JhbENvbnRleHQiLCJDT1JVc2VyUm9sZSIsInVzZVVzZXIiLCJ1c2VSZXNpemVMaXN0ZW5lciIsImdldENvbnRleHRNZW50aW9uSWNvbiIsInZhbGlkYXRlSXNNYWlhIiwiRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwidXNlUmVjZW50Q29udGV4dHMiLCJNQUlBSXNvbG9nbyIsIlRlbXBsYXRlR3JhZGllbnRJY29uIiwiQ2hhdEFJSG9tZU1haWFrZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJGcmVxdWVudFF1ZXN0aW9ucyIsIlJFQ0VOVF9DT05URVhUU19MSU1JVCIsIlJFQ0VOVF9DT05URVhUX0lDT05fQ09MT1IiLCJSRUNFTlRfQ09OVEVYVF9TS0VMRVRPTl9LRVlTIiwiUmVjZW50Q29udGV4dFBpbGwiLCJfcmVmIiwiY29udGV4dCIsImxhYmVsIiwib25DbGljayIsInRleHRSZWYiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsInR5cGUiLCJjaGlsZHJlbiIsImNvbG9yIiwid2lkdGgiLCJoZWlnaHQiLCJ1bmRlZmluZWQiLCJyZWYiLCJ0aXRsZSIsInBhcnNlTnVtZXJpY0lkIiwidmFsdWUiLCJwYXJzZWQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImdldEFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXMiLCJyb2xlSWQiLCJDTEVWRUwiLCJESVJFQ1RPUiIsIlBST0pFQ1RfTUFOQUdFUiIsIlNldCIsIkNPTExBQk9SQVRPUiIsIkNoYXRBSUhvbWUiLCJfcmVmMiIsImhhbmRsZXJzIiwib25TdGFydENoYXQiLCJleHBhbmRlZCIsImZsb2F0aW5nIiwiX3VzZVQiLCJ0IiwiaTE4biIsImV2ZW50IiwidXNlciIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJzZWN0aW9uIiwiY2xpZW50IiwicHJvamVjdCIsInRhc2siLCJjaGlwc1Byb2plY3QiLCJzZXRDbGllbnQiLCJzZXRQcm9qZWN0Iiwic2V0VGFzayIsInNldENoaXBzUHJvamVjdCIsImlzTUFJQSIsImZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwibGFuZyIsImxhbmd1YWdlIiwic3VtbWFyeVByb2plY3RBY2Nlc3MiLCJ3aW5kb3ciLCJTdHJpbmciLCJNQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUyIsInRvTG93ZXJDYXNlIiwibWFpYVByb2plY3RTdW1tYXJ5QWNjZXNzIiwiZmFxc0FjY2VzcyIsInNob3dQcm9qZWN0U3VtbWFyeSIsImlzTWFpYWtlciIsImVudGl0eSIsInRlc3QiLCJuYW1lIiwiaXNIZWFkZXJIb21lIiwiYWxsb3dlZFJlY2VudENvbnRleHRUeXBlcyIsInJvbGVfaWQiLCJfdXNlUmVjZW50Q29udGV4dHMiLCJlbmFibGVkIiwibGltaXQiLCJmZXRjaGVkUmVjZW50Q29udGV4dHMiLCJjb250ZXh0cyIsInJlY2VudENvbnRleHRzTG9hZGluZyIsImxvYWRpbmciLCJyZWNlbnRDb250ZXh0cyIsImZpbHRlciIsImhhcyIsImhhc1Bpbm5lZENvbnRleHQiLCJpZCIsInByb2plY3RJZCIsImlzUmVjZW50Q29udGV4dHNTdGVwIiwiaXNDb250ZXh0SG9tZVN0ZXAiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWxlY3RlZENvbnRleHQiLCJzZXRTZWxlY3RlZENvbnRleHQiLCJhY3RpdmVDb250ZXh0IiwicHJvamVjdE5hbWUiLCJwaW5uZWRFbnRpdHlUeXBlIiwicmVhbExpc3RzQWdlbnRJZCIsInJlYWxMaXN0c0VudGl0eVR5cGUiLCJfdXNlRnJlcXVlbnRseVVzZWRBY3QiLCJhZ2VudEZ1YXMiLCJhY3Rpb25zIiwiZnVhc0xvYWRpbmciLCJfdXNlRnJlcXVlbnRseUFza2VkUXUiLCJhZ2VudEZhcXMiLCJmYXFzIiwiZmFxc0xvYWRpbmciLCJoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJmYXFzRmV0Y2hSZWYiLCJfZmFxc0ZldGNoUmVmJGN1cnJlbnQiLCJjdXJyZW50S2V5IiwiY29uY2F0IiwibGFzdEtleSIsImN1cnJlbnQiLCJhZ2VudElkIiwiZW50aXR5VHlwZSIsImZ1YXMiLCJmYXFzQXJlTG9hZGluZyIsImZ1YXNBcmVMb2FkaW5nIiwic2hvd1JlY2VudENvbnRleHRzQmxvY2siLCJsZW5ndGgiLCJzaG91bGRTaG93RmFxcyIsInNob3VsZFNob3dGdWFzIiwic2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCIsInNob3dGQVFzIiwiaG9tZVNjcm9sbGFibGVMYXlvdXQiLCJzaG93RHluYW1pY1NlY3Rpb24iLCJjb250ZW50Q29udGFpbmVyUmVmIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzaG93VG9wR3JhZGllbnQiLCJzZXRTaG93VG9wR3JhZGllbnQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNob3dCb3R0b21HcmFkaWVudCIsInNldFNob3dCb3R0b21HcmFkaWVudCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNTY3JvbGxpbmciLCJzZXRJc1Njcm9sbGluZyIsInNjcm9sbFRpbWVvdXRSZWYiLCJncmVldGluZyIsImludHJvIiwiaW50cm9kdWN0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiaGFuZGxlU2VsZWN0UmVjZW50Q29udGV4dCIsIm9yZGVyIiwiX2NvbnRleHQkcGFyZW50cyIsIl9jb250ZXh0JHBhcmVudHMyIiwiX2NvbnRleHQkcGFyZW50czMiLCJfY29udGV4dCRwYXJlbnRzNCIsImFpQ2hhdENvbnRleHRTZWxlY3RlZCIsImNvbnRleHRJZCIsImNsaWVudElkIiwicGFyZW50cyIsImNsaWVudF9pZCIsInByb2plY3RfaWQiLCJjbGllbnROYW1lIiwiY2xpZW50X25hbWUiLCJwcm9qZWN0X25hbWUiLCJfb2JqZWN0U3ByZWFkIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJyZW5kZXJSZWNlbnRDb250ZXh0cyIsIm1hcCIsImtleSIsImluZGV4IiwidHJpbSIsImNoZWNrU2Nyb2xsIiwiY29udGFpbmVyIiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiaXNTY3JvbGxhYmxlIiwiaXNBdFRvcCIsImlzQXRCb3R0b20iLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwiYWRkRXZlbnRMaXN0ZW5lciIsInRpbWVvdXRJZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXJIZWFkZXJDb250ZW50IiwiX2FnZW50JGNyZWF0ZWRfYnkiLCJfYWdlbnQkY3JlYXRlZF9ieTIiLCJlbW9qaSIsImNyZWF0ZWRfYnkiLCJpc19kZWxldGVkIiwiJG5vR2FwIiwiZmlyc3ROYW1lIiwiJHNob3ciLCIkaXNBZ2VudFZpZXciLCIkZmxvYXRpbmdDdXN0b21DZW50ZXIiLCIkZ2FwIiwiJG1heFdpZHRoIiwicHJvamVjdFN1bW1hcnkiLCIkZ3JvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlIb21lL0NoYXRBSUhvbWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgTGlzdENoZWNrbGlzdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0xpc3RDaGVja2xpc3QnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcblxuaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJy4uL0NoYXRBSU1vZGFsL2NvbnN0YW50cydcblxuaW1wb3J0IHtcbiAgU0NDQUlIb21lQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVDb250ZW50LFxuICBTQ0NBSUhvbWVDb250ZW50SW5uZXIsXG4gIFNDQ0FJSG9tZUdyYWRpZW50VG9wLFxuICBTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSxcbiAgU0NDQUlIb21lSGVhZGVyLFxuICBTQ0NBSUhvbWVHcmVldGluZyxcbiAgU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVBZ2VudEluZm8sXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5LFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQsXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGUsXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24sXG4gIFNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0LFxuICBTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24sXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcixcbiAgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCxcbiAgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWUsXG4gIFNDQ0FJSG9tZUljb25Db250YWluZXIsXG4gIFNDQ0FJSG9tZUxvZ29XcmFwcGVyLFxuICBTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2ssXG4gIFNDQ0FJSG9tZVRpdGxlLFxuICBTQ0NBSUhvbWVTdWJ0aXRsZSxcbiAgU0NDQUlIb21lRHluYW1pY1NlY3Rpb24sXG4gIFNDQ0FJSG9tZVJlY2VudENvbnRleHRzLFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1RpdGxlLFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c0xpc3QsXG4gIFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsLFxuICBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbEljb24sXG4gIFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCxcbiAgU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxTa2VsZXRvbixcbn0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IENPUlVzZXJSb2xlLCB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgZ2V0Q29udGV4dE1lbnRpb25JY29uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29udGV4dE1lbnRpb25JY29ucydcbmltcG9ydCB7IHZhbGlkYXRlSXNNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvdmFsaWRhdGVJc01haWEnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi8uLi9hdG9tcy9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5pbXBvcnQgeyBGcmVxdWVudGx5VXNlZEFjdGlvbnMgfSBmcm9tICcuLi8uLi9hdG9tcy9GcmVxdWVudGx5VXNlZEFjdGlvbnMnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5pbXBvcnQgeyB1c2VSZWNlbnRDb250ZXh0cyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVJlY2VudENvbnRleHRzJ1xuaW1wb3J0IHR5cGUgeyBSZWNlbnRDb250ZXh0SXRlbSwgUmVjZW50Q29udGV4dFR5cGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL1JlY2VudENvbnRleHRzJ1xuaW1wb3J0IHsgTUFJQUlzb2xvZ28gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9NQUlBSXNvbG9nbydcbmltcG9ydCB7IFRlbXBsYXRlR3JhZGllbnRJY29uIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvVGVtcGxhdGVHcmFkaWVudEljb24nXG5pbXBvcnQgeyBDaGF0QUlIb21lTWFpYWtlciB9IGZyb20gJy4vQ2hhdEFJSG9tZU1haWFrZXInXG5cbnR5cGUgQ2hhdEFJSG9tZVByb3BzID0ge1xuICBvblN0YXJ0Q2hhdDogKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10gfCBudWxsLFxuICAgIGZhcUlkPzogc3RyaW5nLFxuICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nLFxuICAgIG1lbnRpb25zPzogbnVsbCxcbiAgICBmdWFJZD86IHN0cmluZ1xuICApID0+IHZvaWRcbiAgaGFuZGxlcnM6IFJlY29yZDxvcHRpb25zLCAoKSA9PiB2b2lkPlxuICBleHBhbmRlZD86IGJvb2xlYW5cbiAgZmxvYXRpbmc/OiBib29sZWFuXG59XG5cbmV4cG9ydCBlbnVtIEZyZXF1ZW50UXVlc3Rpb25zIHtcbiAgcmVudGFiaWxpZGFkX3Byb3llY3RvID0gJ3JlbnRhYmlsaWRhZF9wcm95ZWN0bycsXG4gIGF2YW5jZV9wcm95ZWN0byA9ICdhdmFuY2VfcHJveWVjdG8nLFxufVxuXG5jb25zdCBSRUNFTlRfQ09OVEVYVFNfTElNSVQgPSA5XG5jb25zdCBSRUNFTlRfQ09OVEVYVF9JQ09OX0NPTE9SID0gJyM0RDRENEQnXG5jb25zdCBSRUNFTlRfQ09OVEVYVF9TS0VMRVRPTl9LRVlTID0gW1xuICAncmVjZW50LWNvbnRleHQtc2tlbGV0b24tMScsXG4gICdyZWNlbnQtY29udGV4dC1za2VsZXRvbi0yJyxcbiAgJ3JlY2VudC1jb250ZXh0LXNrZWxldG9uLTMnLFxuXVxuXG5jb25zdCBSZWNlbnRDb250ZXh0UGlsbCA9ICh7XG4gIGNvbnRleHQsXG4gIGxhYmVsLFxuICBvbkNsaWNrLFxufToge1xuICBjb250ZXh0OiBSZWNlbnRDb250ZXh0SXRlbVxuICBsYWJlbDogc3RyaW5nXG4gIG9uQ2xpY2s6ICgpID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtsYWJlbF0pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGwgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgPFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsSWNvbj5cbiAgICAgICAge2NvbnRleHQudHlwZSA9PT0gJ3Rhc2snID8gKFxuICAgICAgICAgIDxMaXN0Q2hlY2tsaXN0IGNvbG9yPXtSRUNFTlRfQ09OVEVYVF9JQ09OX0NPTE9SfSB3aWR0aD1cIjE0cHhcIiBoZWlnaHQ9XCIxNHB4XCIgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBnZXRDb250ZXh0TWVudGlvbkljb24oY29udGV4dC50eXBlLCBSRUNFTlRfQ09OVEVYVF9JQ09OX0NPTE9SLCB1bmRlZmluZWQsIDE0KVxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbEljb24+XG4gICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0IHJlZj17dGV4dFJlZn0+XG4gICAgICAgIHtzaG93VG9vbHRpcCA/IChcbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17bGFiZWx9PlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0PlxuICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGw+XG4gIClcbn1cblxuY29uc3QgcGFyc2VOdW1lcmljSWQgPSAodmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsKTogbnVtYmVyIHwgbnVsbCA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIG51bGxcbiAgY29uc3QgcGFyc2VkID0gTnVtYmVyKHZhbHVlKVxuICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHBhcnNlZCkgPyBwYXJzZWQgOiBudWxsXG59XG5cbmNvbnN0IGdldEFsbG93ZWRSZWNlbnRDb250ZXh0VHlwZXMgPSAocm9sZUlkPzogQ09SVXNlclJvbGUpOiBTZXQ8UmVjZW50Q29udGV4dFR5cGU+ID0+IHtcbiAgaWYgKHJvbGVJZCA9PT0gQ09SVXNlclJvbGUuQ0xFVkVMIHx8IHJvbGVJZCA9PT0gQ09SVXNlclJvbGUuRElSRUNUT1IgfHwgcm9sZUlkID09PSBDT1JVc2VyUm9sZS5QUk9KRUNUX01BTkFHRVIpIHtcbiAgICByZXR1cm4gbmV3IFNldChbJ2NsaWVudCcsICdwcm9qZWN0JywgJ3Rhc2snXSlcbiAgfVxuICBpZiAocm9sZUlkID09PSBDT1JVc2VyUm9sZS5DT0xMQUJPUkFUT1IpIHtcbiAgICByZXR1cm4gbmV3IFNldChbJ3Rhc2snXSlcbiAgfVxuICByZXR1cm4gbmV3IFNldCgpXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlIb21lID0gKHsgaGFuZGxlcnMsIG9uU3RhcnRDaGF0LCBleHBhbmRlZCwgZmxvYXRpbmcgfTogQ2hhdEFJSG9tZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IHsgYWdlbnQsIHNlY3Rpb24sIGNsaWVudCwgcHJvamVjdCwgdGFzaywgY2hpcHNQcm9qZWN0LCBzZXRDbGllbnQsIHNldFByb2plY3QsIHNldFRhc2ssIHNldENoaXBzUHJvamVjdCB9ID1cbiAgICB1c2VHbG9iYWxDb250ZXh0KClcblxuICBjb25zdCBpc01BSUEgPSB2YWxpZGF0ZUlzTWFpYShhZ2VudCBhcyBBZ2VudClcbiAgY29uc3QgZmxvYXRpbmdDdXN0b21DZW50ZXIgPSAhIShmbG9hdGluZyAmJiBhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScpXG4gIGNvbnN0IGxhbmcgPSBpMThuLmxhbmd1YWdlID09PSAnYnInID8gJ3B0JyA6IGkxOG4ubGFuZ3VhZ2VcblxuICBjb25zdCBzdW1tYXJ5UHJvamVjdEFjY2VzcyA9XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoU3RyaW5nKHdpbmRvdy5NQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnIHx8XG4gICAgICBTdHJpbmcod2luZG93Lm1haWFQcm9qZWN0U3VtbWFyeUFjY2VzcykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnKVxuICBjb25zdCBmYXFzQWNjZXNzID0gdHJ1ZVxuICBjb25zdCBzaG93UHJvamVjdFN1bW1hcnkgPSAhIShpc01BSUEgJiYgc3VtbWFyeVByb2plY3RBY2Nlc3MpXG4gIC8vIEVsIG9yY2hlc3RyYXRvciAodHlwZSA9PT0gJ29yY2hlc3RyYXRvcicpIG11ZXN0cmEgRkFRcy9GVUFzIGFncmVnYWRhcyBkZSBzdXMgc3ViYWdlbnRlcyxcbiAgLy8gYXPDrSBxdWUgTk8gc2UgdHJhdGEgY29tbyBtYWlha2VyIGFjw6EuIE1haWFrZXIgPSBjbG9uZSBnbG9iYWwgbGVnYWN5IGNvbiBub21icmUgbWFpYWtlci9tYXJrZXRwbGFjZS5cbiAgY29uc3QgaXNNYWlha2VyID1cbiAgICBhZ2VudD8udHlwZSAhPT0gJ29yY2hlc3RyYXRvcicgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpXG4gIGNvbnN0IGlzSGVhZGVySG9tZSA9IGlzTUFJQSAmJiBzZWN0aW9uID09PSAnaGVhZGVyJyAmJiBhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcidcbiAgY29uc3QgYWxsb3dlZFJlY2VudENvbnRleHRUeXBlcyA9IHVzZU1lbW8oKCkgPT4gZ2V0QWxsb3dlZFJlY2VudENvbnRleHRUeXBlcyh1c2VyLnJvbGVfaWQpLCBbdXNlci5yb2xlX2lkXSlcbiAgY29uc3QgeyBjb250ZXh0czogZmV0Y2hlZFJlY2VudENvbnRleHRzLCBsb2FkaW5nOiByZWNlbnRDb250ZXh0c0xvYWRpbmcgfSA9IHVzZVJlY2VudENvbnRleHRzKHtcbiAgICBlbmFibGVkOiBpc0hlYWRlckhvbWUsXG4gICAgbGltaXQ6IFJFQ0VOVF9DT05URVhUU19MSU1JVCxcbiAgfSlcbiAgY29uc3QgcmVjZW50Q29udGV4dHMgPSB1c2VNZW1vKFxuICAgICgpID0+IGZldGNoZWRSZWNlbnRDb250ZXh0cy5maWx0ZXIoY29udGV4dCA9PiBhbGxvd2VkUmVjZW50Q29udGV4dFR5cGVzLmhhcyhjb250ZXh0LnR5cGUpKSxcbiAgICBbZmV0Y2hlZFJlY2VudENvbnRleHRzLCBhbGxvd2VkUmVjZW50Q29udGV4dFR5cGVzXVxuICApXG5cbiAgLy8gSG9tZSBkZWwgb3JjaGVzdHJhdG9yIGVuIDIgcGFzb3M6XG4gIC8vICAtIFBhc28gMSAoc2luIGNvbnRleHRvIHBpbmVhZG8pOiBzZSBtdWVzdHJhbiBzb2xvIGxvcyBjb250ZXh0b3MgcmVjaWVudGVzLlxuICAvLyAgLSBQYXNvIDIgKGNvbnRleHRvIHBpbmVhZG8pOiBzZSBtdWVzdHJhbiBsYXMgRkFRcy9hY2Npb25lcyBxdWUgcmVmZXJlbmNpYW4gZXNlIGNvbnRleHRvLlxuICAvLyBWb2x2ZXIgYWwgcGFzbyAxID0gcXVpdGFyIGVsIGNoaXAgKGxpbXBpYSBlbCBjb250ZXh0byBnbG9iYWwpLlxuICBjb25zdCBoYXNQaW5uZWRDb250ZXh0ID0gISEodGFzaz8uaWQgfHwgY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQgfHwgY2xpZW50Py5pZCB8fCBwcm9qZWN0Py5pZClcbiAgY29uc3QgaXNSZWNlbnRDb250ZXh0c1N0ZXAgPSBpc0hlYWRlckhvbWUgJiYgIWhhc1Bpbm5lZENvbnRleHRcbiAgY29uc3QgaXNDb250ZXh0SG9tZVN0ZXAgPSBpc0hlYWRlckhvbWUgJiYgaGFzUGlubmVkQ29udGV4dFxuXG4gIC8vIENvbnRleHRvIGFjdGl2byBwYXJhIGRlcml2YXIgRkFRcy9hY2Npb25lcyAocGFzbyAyKS4gUHJlZmVyaW1vcyBlbCBwaWxsIGNsaWNrZWFkbztcbiAgLy8gc2kgbm8sIGxvIHJlY29uc3RydWltb3MgZGVzZGUgZWwgY29udGV4dG8gZ2xvYmFsLlxuICBjb25zdCBbc2VsZWN0ZWRDb250ZXh0LCBzZXRTZWxlY3RlZENvbnRleHRdID0gdXNlU3RhdGU8UmVjZW50Q29udGV4dEl0ZW0gfCBudWxsPihudWxsKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaGFzUGlubmVkQ29udGV4dCkgc2V0U2VsZWN0ZWRDb250ZXh0KG51bGwpXG4gIH0sIFtoYXNQaW5uZWRDb250ZXh0XSlcblxuICBjb25zdCBhY3RpdmVDb250ZXh0ID0gdXNlTWVtbzxSZWNlbnRDb250ZXh0SXRlbSB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRDb250ZXh0KSByZXR1cm4gc2VsZWN0ZWRDb250ZXh0XG4gICAgaWYgKCFpc0NvbnRleHRIb21lU3RlcCkgcmV0dXJuIG51bGxcbiAgICBpZiAodGFzaz8uaWQpIHJldHVybiB7IHR5cGU6ICd0YXNrJywgaWQ6IHRhc2suaWQsIG5hbWU6IHRhc2submFtZSB9XG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkKSByZXR1cm4geyB0eXBlOiAncHJvamVjdCcsIGlkOiBjaGlwc1Byb2plY3QucHJvamVjdElkLCBuYW1lOiBjaGlwc1Byb2plY3QucHJvamVjdE5hbWUgfVxuICAgIGlmIChjbGllbnQ/LmlkKSByZXR1cm4geyB0eXBlOiAnY2xpZW50JywgaWQ6IGNsaWVudC5pZCwgbmFtZTogY2xpZW50Lm5hbWUgfVxuICAgIHJldHVybiBudWxsXG4gIH0sIFtcbiAgICBzZWxlY3RlZENvbnRleHQsXG4gICAgaXNDb250ZXh0SG9tZVN0ZXAsXG4gICAgdGFzaz8uaWQsXG4gICAgdGFzaz8ubmFtZSxcbiAgICBjaGlwc1Byb2plY3Q/LnByb2plY3RJZCxcbiAgICBjaGlwc1Byb2plY3Q/LnByb2plY3ROYW1lLFxuICAgIGNsaWVudD8uaWQsXG4gICAgY2xpZW50Py5uYW1lLFxuICBdKVxuXG4gIC8vIGVudGl0eV90eXBlIGRlbCBjb250ZXh0byBwaW5lYWRvIChwcm9qZWN0L2NsaWVudC90YXNrKSwgdG9tYWRvIGRlbCBjb250ZXh0byBnbG9iYWwuXG4gIC8vIEFwbGljYSB0YW50byBhbCBhYnJpciBNQUlBIGRlc2RlIHVuYSBzZWNjacOzbiBlc3BlY8OtZmljYSBjb21vIGFsIGNhbWJpYXIgZGUgY29udmVyc2FjacOzbi5cbiAgY29uc3QgcGlubmVkRW50aXR5VHlwZSA9IHVzZU1lbW88UmVjZW50Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICBpZiAodGFzaz8uaWQpIHJldHVybiAndGFzaydcbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQgfHwgcHJvamVjdD8uaWQpIHJldHVybiAncHJvamVjdCdcbiAgICBpZiAoY2xpZW50Py5pZCkgcmV0dXJuICdjbGllbnQnXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbdGFzaz8uaWQsIGNoaXBzUHJvamVjdD8ucHJvamVjdElkLCBwcm9qZWN0Py5pZCwgY2xpZW50Py5pZF0pXG5cbiAgLy8gRkFRcy9hY2Npb25lczpcbiAgLy8gIC0gaGVhZGVyLWhvbWUgKG9yY2hlc3RyYXRvciksIHBhc28gMjogZmlsdHJhZGFzIHBvciBgZW50aXR5X3R5cGVgIGRlbCBjb250ZXh0byBzZWxlY2Npb25hZG8uXG4gIC8vICAtIGhvbWVzIGRlIHByb3llY3RvL2NsaWVudGUvdGFyZWEgKHNlY2Npw7NuKTogZmlsdHJhZGFzIHBvciBlbCBgZW50aXR5X3R5cGVgIGRlbCBjb250ZXh0byBzZXRlYWRvLlxuICBjb25zdCByZWFsTGlzdHNBZ2VudElkID0gKCgpID0+IHtcbiAgICBpZiAoIWlzTUFJQSB8fCBpc01haWFrZXIpIHJldHVybiB1bmRlZmluZWRcbiAgICBpZiAoaXNIZWFkZXJIb21lKSByZXR1cm4gaXNDb250ZXh0SG9tZVN0ZXAgPyBhZ2VudD8uaWQgOiB1bmRlZmluZWRcbiAgICByZXR1cm4gYWdlbnQ/LmlkXG4gIH0pKClcbiAgY29uc3QgcmVhbExpc3RzRW50aXR5VHlwZSA9ICgoKSA9PiB7XG4gICAgaWYgKCFpc0hlYWRlckhvbWUpIHJldHVybiBwaW5uZWRFbnRpdHlUeXBlXG4gICAgcmV0dXJuIGlzQ29udGV4dEhvbWVTdGVwID8gYWN0aXZlQ29udGV4dD8udHlwZSA6IHVuZGVmaW5lZFxuICB9KSgpXG4gIGNvbnN0IHsgYWN0aW9uczogYWdlbnRGdWFzLCBsb2FkaW5nOiBmdWFzTG9hZGluZyB9ID0gdXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zKFxuICAgIHJlYWxMaXN0c0FnZW50SWQsXG4gICAgc2VjdGlvbixcbiAgICByZWFsTGlzdHNFbnRpdHlUeXBlXG4gIClcbiAgY29uc3Qge1xuICAgIGZhcXM6IGFnZW50RmFxcyxcbiAgICBsb2FkaW5nOiBmYXFzTG9hZGluZyxcbiAgICBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMsXG4gIH0gPSB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMocmVhbExpc3RzQWdlbnRJZCwgbGFuZywgcmVhbExpc3RzRW50aXR5VHlwZSlcbiAgY29uc3QgZmFxc0ZldGNoUmVmID0gdXNlUmVmPHsgYWdlbnRJZDogc3RyaW5nOyBsYW5nOiBzdHJpbmc7IGVudGl0eVR5cGU/OiBzdHJpbmcgfSB8IG51bGw+KG51bGwpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFyZWFsTGlzdHNBZ2VudElkIHx8IHNlY3Rpb24gPT09ICd0YXNrJykgcmV0dXJuXG4gICAgY29uc3QgY3VycmVudEtleSA9IGAke3JlYWxMaXN0c0FnZW50SWR9LSR7bGFuZ30tJHtyZWFsTGlzdHNFbnRpdHlUeXBlID8/ICdhbGwnfWBcbiAgICBjb25zdCBsYXN0S2V5ID0gZmFxc0ZldGNoUmVmLmN1cnJlbnRcbiAgICAgID8gYCR7ZmFxc0ZldGNoUmVmLmN1cnJlbnQuYWdlbnRJZH0tJHtmYXFzRmV0Y2hSZWYuY3VycmVudC5sYW5nfS0ke2ZhcXNGZXRjaFJlZi5jdXJyZW50LmVudGl0eVR5cGUgPz8gJ2FsbCd9YFxuICAgICAgOiBudWxsXG4gICAgaWYgKGN1cnJlbnRLZXkgIT09IGxhc3RLZXkpIHtcbiAgICAgIGZhcXNGZXRjaFJlZi5jdXJyZW50ID0geyBhZ2VudElkOiByZWFsTGlzdHNBZ2VudElkLCBsYW5nLCBlbnRpdHlUeXBlOiByZWFsTGlzdHNFbnRpdHlUeXBlIH1cbiAgICAgIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyh7IGFnZW50SWQ6IHJlYWxMaXN0c0FnZW50SWQsIGxhbmcsIGVudGl0eVR5cGU6IHJlYWxMaXN0c0VudGl0eVR5cGUgfSlcbiAgICB9XG4gIH0sIFtyZWFsTGlzdHNBZ2VudElkLCByZWFsTGlzdHNFbnRpdHlUeXBlLCBzZWN0aW9uLCBsYW5nLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNdKVxuXG4gIGNvbnN0IGZhcXMgPSBhZ2VudEZhcXNcbiAgY29uc3QgZnVhcyA9IGFnZW50RnVhc1xuICBjb25zdCBmYXFzQXJlTG9hZGluZyA9IGZhcXNMb2FkaW5nXG4gIGNvbnN0IGZ1YXNBcmVMb2FkaW5nID0gZnVhc0xvYWRpbmdcblxuICBjb25zdCBzaG93UmVjZW50Q29udGV4dHNCbG9jayA9IGlzUmVjZW50Q29udGV4dHNTdGVwICYmIChyZWNlbnRDb250ZXh0c0xvYWRpbmcgfHwgcmVjZW50Q29udGV4dHMubGVuZ3RoID4gMClcbiAgY29uc3Qgc2hvdWxkU2hvd0ZhcXMgPVxuICAgIChpc0NvbnRleHRIb21lU3RlcCB8fCAoIWlzSGVhZGVySG9tZSAmJiBzZWN0aW9uICE9PSAndGFzaycgJiYgZmFxc0FjY2VzcykpICYmXG4gICAgIWlzTWFpYWtlciAmJlxuICAgIChmYXFzLmxlbmd0aCA+IDAgfHwgZmFxc0FyZUxvYWRpbmcpXG4gIGNvbnN0IHNob3VsZFNob3dGdWFzID0gIWlzTWFpYWtlciAmJiAoaXNDb250ZXh0SG9tZVN0ZXAgfHwgIWlzSGVhZGVySG9tZSkgJiYgKGZ1YXMubGVuZ3RoID4gMCB8fCBmdWFzQXJlTG9hZGluZylcblxuICBjb25zdCBzaG93UHJvamVjdFN1bW1hcnlDYXJkID0gc2hvd1Byb2plY3RTdW1tYXJ5ICYmIGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0J1xuICBjb25zdCBzaG93RkFRcyA9ICEhKFxuICAgIHNob3dSZWNlbnRDb250ZXh0c0Jsb2NrIHx8XG4gICAgc2hvdWxkU2hvd0ZhcXMgfHxcbiAgICBzaG91bGRTaG93RnVhcyB8fFxuICAgIHNob3dQcm9qZWN0U3VtbWFyeUNhcmQgfHxcbiAgICBpc01haWFrZXJcbiAgKVxuICBjb25zdCBob21lU2Nyb2xsYWJsZUxheW91dCA9IHNob3dGQVFzXG4gIGNvbnN0IHNob3dEeW5hbWljU2VjdGlvbiA9IHNob3dSZWNlbnRDb250ZXh0c0Jsb2NrIHx8IHNob3VsZFNob3dGYXFzIHx8IHNob3VsZFNob3dGdWFzIHx8IGlzTWFpYWtlclxuXG4gIC8vIEzDs2dpY2EgZGVsIHNjcm9sbCBjb24gZ3JhZGllbnRlc1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbc2hvd1RvcEdyYWRpZW50LCBzZXRTaG93VG9wR3JhZGllbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93Qm90dG9tR3JhZGllbnQsIHNldFNob3dCb3R0b21HcmFkaWVudF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzU2Nyb2xsaW5nLCBzZXRJc1Njcm9sbGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3Qgc2Nyb2xsVGltZW91dFJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw+KG51bGwpXG5cbiAgLy8gU2FsdWRvIGFsZWF0b3JpbyBkZXNkZSBhZ2VudC5pbnRyb2R1Y3Rpb24gKGFycmF5IGNvbiAzIHZhcmlhbnRlcyBkZWwgYmFjaykuIEVuIHRhc2ssIG1lbnNhamUgZmlqbyBpMThuLiBNYWlha2VyIHNpbiBpbnRybyBkZWwgYWdlbnRlLlxuICBjb25zdCBncmVldGluZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc01haWFrZXIpIHJldHVybiAnJ1xuICAgIGlmIChzZWN0aW9uID09PSAndGFzaycpIHJldHVybiB0KCdob21lTWVudS50YXNrR3JlZXRpbmcnKVxuICAgIGNvbnN0IGludHJvID0gYWdlbnQ/LmludHJvZHVjdGlvblxuICAgIGlmICghaW50cm8pIHJldHVybiAnJ1xuICAgIGlmIChBcnJheS5pc0FycmF5KGludHJvKSAmJiBpbnRyby5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gaW50cm9bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogaW50cm8ubGVuZ3RoKV1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGVvZiBpbnRybyA9PT0gJ3N0cmluZycgPyBpbnRybyA6ICcnXG4gIH0sIFthZ2VudD8uaWQsIGFnZW50Py5pbnRyb2R1Y3Rpb24sIHNlY3Rpb24sIGlzTWFpYWtlciwgdF0pXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0UmVjZW50Q29udGV4dCA9IHVzZUNhbGxiYWNrKFxuICAgIChjb250ZXh0OiBSZWNlbnRDb250ZXh0SXRlbSwgb3JkZXI6IG51bWJlcikgPT4ge1xuICAgICAgZXZlbnQoRVZFTlRTLmFpQ2hhdENvbnRleHRTZWxlY3RlZCwgeyBvcmRlciwgdHlwZTogY29udGV4dC50eXBlIH0pXG5cbiAgICAgIGNvbnN0IGNvbnRleHRJZCA9IHBhcnNlTnVtZXJpY0lkKGNvbnRleHQuaWQpXG4gICAgICBjb25zdCBjbGllbnRJZCA9IHBhcnNlTnVtZXJpY0lkKGNvbnRleHQucGFyZW50cz8uY2xpZW50X2lkKVxuICAgICAgY29uc3QgcHJvamVjdElkID0gcGFyc2VOdW1lcmljSWQoY29udGV4dC5wYXJlbnRzPy5wcm9qZWN0X2lkKVxuICAgICAgY29uc3QgY2xpZW50TmFtZSA9IGNvbnRleHQucGFyZW50cz8uY2xpZW50X25hbWUgfHwgJydcbiAgICAgIGNvbnN0IHByb2plY3ROYW1lID0gY29udGV4dC5wYXJlbnRzPy5wcm9qZWN0X25hbWUgfHwgJydcblxuICAgICAgc2V0U2VsZWN0ZWRDb250ZXh0KGNvbnRleHQpXG4gICAgICBzZXRUYXNrKG51bGwpXG4gICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgc2V0Q2hpcHNQcm9qZWN0KG51bGwpXG5cbiAgICAgIGlmIChjb250ZXh0LnR5cGUgPT09ICdjbGllbnQnKSB7XG4gICAgICAgIGlmIChjb250ZXh0SWQgPT0gbnVsbCkgcmV0dXJuXG4gICAgICAgIHNldENsaWVudD8uKHsgaWQ6IGNvbnRleHRJZCwgbmFtZTogY29udGV4dC5uYW1lIH0pXG4gICAgICB9IGVsc2UgaWYgKGNvbnRleHQudHlwZSA9PT0gJ3Byb2plY3QnKSB7XG4gICAgICAgIGlmIChjb250ZXh0SWQgPT0gbnVsbCkgcmV0dXJuXG4gICAgICAgIHNldFByb2plY3Qoe1xuICAgICAgICAgIGlkOiBjb250ZXh0SWQsXG4gICAgICAgICAgbmFtZTogY29udGV4dC5uYW1lLFxuICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnRJZCB9IDoge30pLFxuICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnQ6IHsgaWQ6IGNsaWVudElkLCBuYW1lOiBjbGllbnROYW1lIH0gfSA6IHt9KSxcbiAgICAgICAgfSlcbiAgICAgICAgc2V0Q2hpcHNQcm9qZWN0KHtcbiAgICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhjb250ZXh0SWQpLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBjb250ZXh0Lm5hbWUsXG4gICAgICAgICAgY2xpZW50TmFtZSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAoY29udGV4dC50eXBlID09PSAndGFzaycpIHtcbiAgICAgICAgc2V0VGFzayh7XG4gICAgICAgICAgaWQ6IGNvbnRleHQuaWQsXG4gICAgICAgICAgbmFtZTogY29udGV4dC5uYW1lLFxuICAgICAgICAgIC4uLihwcm9qZWN0SWQgIT0gbnVsbCA/IHsgcHJvamVjdElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkIH0gOiB7fSksXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChjbGllbnRJZCAhPSBudWxsKSB7XG4gICAgICAgICAgc2V0Q2xpZW50Py4oeyBpZDogY2xpZW50SWQsIG5hbWU6IGNsaWVudE5hbWUgfSlcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvamVjdElkICE9IG51bGwpIHtcbiAgICAgICAgICBzZXRQcm9qZWN0KHtcbiAgICAgICAgICAgIGlkOiBwcm9qZWN0SWQsXG4gICAgICAgICAgICBuYW1lOiBwcm9qZWN0TmFtZSB8fCBgJHt0KCdob21lTWVudS5yZWNlbnRDb250ZXh0cy50eXBlcy5wcm9qZWN0Jyl9ICR7cHJvamVjdElkfWAsXG4gICAgICAgICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihjbGllbnRJZCAhPSBudWxsID8geyBjbGllbnQ6IHsgaWQ6IGNsaWVudElkLCBuYW1lOiBjbGllbnROYW1lIH0gfSA6IHt9KSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHNldENoaXBzUHJvamVjdCh7XG4gICAgICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0SWQpLFxuICAgICAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3ROYW1lIHx8IGAke3QoJ2hvbWVNZW51LnJlY2VudENvbnRleHRzLnR5cGVzLnByb2plY3QnKX0gJHtwcm9qZWN0SWR9YCxcbiAgICAgICAgICAgIGNsaWVudE5hbWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnbWFpYS1pbnB1dC1yZWZvY3VzJykpXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2V2ZW50LCBzZXRDaGlwc1Byb2plY3QsIHNldENsaWVudCwgc2V0UHJvamVjdCwgc2V0VGFzaywgdF1cbiAgKVxuXG4gIGNvbnN0IHJlbmRlclJlY2VudENvbnRleHRzID0gKCkgPT4ge1xuICAgIGlmICghaXNSZWNlbnRDb250ZXh0c1N0ZXApIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJSG9tZVJlY2VudENvbnRleHRzPlxuICAgICAgICB7KHJlY2VudENvbnRleHRzTG9hZGluZyB8fCByZWNlbnRDb250ZXh0cy5sZW5ndGggPiAwKSAmJiAoXG4gICAgICAgICAgPFNDQ0FJSG9tZVJlY2VudENvbnRleHRzVGl0bGU+e3QoJ2hvbWVNZW51LnJlY2VudENvbnRleHRzLnRpdGxlJyl9PC9TQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1RpdGxlPlxuICAgICAgICApfVxuICAgICAgICA8U0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0PlxuICAgICAgICAgIHtyZWNlbnRDb250ZXh0c0xvYWRpbmcgJiZcbiAgICAgICAgICAgIFJFQ0VOVF9DT05URVhUX1NLRUxFVE9OX0tFWVMubWFwKGtleSA9PiA8U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxTa2VsZXRvbiBrZXk9e2tleX0gLz4pfVxuICAgICAgICAgIHshcmVjZW50Q29udGV4dHNMb2FkaW5nICYmXG4gICAgICAgICAgICByZWNlbnRDb250ZXh0cy5tYXAoKGNvbnRleHQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxSZWNlbnRDb250ZXh0UGlsbFxuICAgICAgICAgICAgICAgIGtleT17YCR7Y29udGV4dC50eXBlfS0ke2NvbnRleHQuaWR9YH1cbiAgICAgICAgICAgICAgICBjb250ZXh0PXtjb250ZXh0fVxuICAgICAgICAgICAgICAgIGxhYmVsPXtjb250ZXh0Lm5hbWUudHJpbSgpfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdFJlY2VudENvbnRleHQoY29udGV4dCwgaW5kZXggKyAxKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L1NDQ0FJSG9tZVJlY2VudENvbnRleHRzTGlzdD5cbiAgICAgIDwvU0NDQUlIb21lUmVjZW50Q29udGV4dHM+XG4gICAgKVxuICB9XG5cbiAgY29uc3QgY2hlY2tTY3JvbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIgfHwgIWhvbWVTY3JvbGxhYmxlTGF5b3V0KSByZXR1cm5cblxuICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gY29udGFpbmVyXG4gICAgY29uc3QgaXNTY3JvbGxhYmxlID0gc2Nyb2xsSGVpZ2h0ID4gY2xpZW50SGVpZ2h0XG4gICAgY29uc3QgaXNBdFRvcCA9IHNjcm9sbFRvcCA9PT0gMFxuICAgIGNvbnN0IGlzQXRCb3R0b20gPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gMVxuXG4gICAgc2V0U2hvd1RvcEdyYWRpZW50KGlzU2Nyb2xsYWJsZSAmJiAhaXNBdFRvcClcbiAgICBzZXRTaG93Qm90dG9tR3JhZGllbnQoaXNTY3JvbGxhYmxlICYmICFpc0F0Qm90dG9tKVxuICAgIHNldElzU2Nyb2xsaW5nKHRydWUpXG5cbiAgICBpZiAoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KSB7XG4gICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgIH1cblxuICAgIHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0SXNTY3JvbGxpbmcoZmFsc2UpXG4gICAgfSwgMTUwKVxuICB9LCBbaG9tZVNjcm9sbGFibGVMYXlvdXRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFob21lU2Nyb2xsYWJsZUxheW91dCkge1xuICAgICAgc2V0U2hvd1RvcEdyYWRpZW50KGZhbHNlKVxuICAgICAgc2V0U2hvd0JvdHRvbUdyYWRpZW50KGZhbHNlKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY2hlY2tTY3JvbGwoKVxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBjaGVja1Njcm9sbClcblxuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoY2hlY2tTY3JvbGwsIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgY2hlY2tTY3JvbGwpXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgaWYgKHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCkge1xuICAgICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2hvbWVTY3JvbGxhYmxlTGF5b3V0LCBjaGVja1Njcm9sbF0pXG5cbiAgY29uc3QgcmVuZGVySGVhZGVyQ29udGVudCA9ICgpID0+IHtcbiAgICBpZiAoIWlzTUFJQSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcj5cbiAgICAgICAgICA8U0NDQUlIb21lQWdlbnRJbmZvPlxuICAgICAgICAgICAge2FnZW50Py5lbW9qaX0ge2FnZW50Py5uYW1lfVxuICAgICAgICAgIDwvU0NDQUlIb21lQWdlbnRJbmZvPlxuICAgICAgICAgIHthZ2VudD8uY3JlYXRlZF9ieSAmJiAhaXNNQUlBICYmIChcbiAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXI+XG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICAgICAgYWdlbnQ/LmNyZWF0ZWRfYnk/LmlzX2RlbGV0ZWQgPyB0KCdob21lTWVudS5jcmVhdGVkQnlUb29sdGlwRGVsZXRlZCcpIDogdCgnaG9tZU1lbnUuY3JlYXRlZEJ5VG9vbHRpcCcpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQ+XG4gICAgICAgICAgICAgICAgICB7dCgnaG9tZU1lbnUuY3JlYXRlZEJ5Jyl9eycgJ31cbiAgICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZT57YWdlbnQ/LmNyZWF0ZWRfYnk/Lm5hbWV9PC9TQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZT5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJSG9tZUNyZWF0ZWRCeVRleHQ+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgIDwvU0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlIb21lTWFpYUhlYWRlclN0YWNrICRub0dhcD17IWlzSGVhZGVySG9tZSAmJiAhZ3JlZXRpbmd9PlxuICAgICAgICA8U0NDQUlIb21lSWNvbkNvbnRhaW5lcj5cbiAgICAgICAgICA8U0NDQUlIb21lTG9nb1dyYXBwZXI+XG4gICAgICAgICAgICA8TUFJQUlzb2xvZ28gLz5cbiAgICAgICAgICA8L1NDQ0FJSG9tZUxvZ29XcmFwcGVyPlxuICAgICAgICA8L1NDQ0FJSG9tZUljb25Db250YWluZXI+XG4gICAgICAgIHtpc0hlYWRlckhvbWUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxTQ0NBSUhvbWVUaXRsZT57dCgnaG9tZU1lbnUuY29udGV4dEhvbWUuZ3JlZXRpbmcnLCB7IG5hbWU6IHVzZXIuZmlyc3ROYW1lIH0pfTwvU0NDQUlIb21lVGl0bGU+XG4gICAgICAgICAgICA8U0NDQUlIb21lU3VidGl0bGU+e3QoJ2hvbWVNZW51LmNvbnRleHRIb21lLnN1YnRpdGxlJyl9PC9TQ0NBSUhvbWVTdWJ0aXRsZT5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBncmVldGluZyAmJiA8U0NDQUlIb21lR3JlZXRpbmc+e2dyZWV0aW5nfTwvU0NDQUlIb21lR3JlZXRpbmc+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJSG9tZU1haWFIZWFkZXJTdGFjaz5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSUhvbWVDb250YWluZXIgc2hvd0ZBUXM9e3Nob3dGQVFzfT5cbiAgICAgIHtob21lU2Nyb2xsYWJsZUxheW91dCAmJiA8U0NDQUlIb21lR3JhZGllbnRUb3AgJHNob3c9e3Nob3dUb3BHcmFkaWVudH0gLz59XG4gICAgICA8U0NDQUlIb21lQ29udGVudFxuICAgICAgICByZWY9e2NvbnRlbnRDb250YWluZXJSZWZ9XG4gICAgICAgIHNob3dGQVFzPXtob21lU2Nyb2xsYWJsZUxheW91dH1cbiAgICAgICAgJGlzQWdlbnRWaWV3PXshaXNNQUlBfVxuICAgICAgICAkZmxvYXRpbmdDdXN0b21DZW50ZXI9e2Zsb2F0aW5nQ3VzdG9tQ2VudGVyfVxuICAgICAgPlxuICAgICAgICA8U0NDQUlIb21lQ29udGVudElubmVyXG4gICAgICAgICAgc2hvd0ZBUXM9e2hvbWVTY3JvbGxhYmxlTGF5b3V0fVxuICAgICAgICAgICRpc0FnZW50Vmlldz17IWlzTUFJQX1cbiAgICAgICAgICAkZmxvYXRpbmdDdXN0b21DZW50ZXI9e2Zsb2F0aW5nQ3VzdG9tQ2VudGVyfVxuICAgICAgICA+XG4gICAgICAgICAgPFNDQ0FJSG9tZUhlYWRlclxuICAgICAgICAgICAgJGdhcD17aXNNQUlBICYmIHNlY3Rpb24gIT09ICdwcm9qZWN0JyA/ICc4cHgnIDogJzIwcHgnfVxuICAgICAgICAgICAgJG1heFdpZHRoPXtpc01BSUEgPyAnMTAwJScgOiAnMzgwcHgnfVxuICAgICAgICAgICAgJGlzQWdlbnRWaWV3PXshaXNNQUlBfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyZW5kZXJIZWFkZXJDb250ZW50KCl9XG5cbiAgICAgICAgICAgIHtzZWN0aW9uICE9PSAncHJvamVjdCcgJiYgKFxuICAgICAgICAgICAgICA8U0NDQUlIb21lSW50cm9kdWN0aW9uIGV4cGFuZGVkPXtleHBhbmRlZH0+eyFpc01BSUEgJiYgYWdlbnQ/LmludHJvZHVjdGlvbn08L1NDQ0FJSG9tZUludHJvZHVjdGlvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ0NBSUhvbWVIZWFkZXI+XG4gICAgICAgICAge3Nob3dQcm9qZWN0U3VtbWFyeUNhcmQgJiYgKFxuICAgICAgICAgICAgPFNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0IG9uQ2xpY2s9e2hhbmRsZXJzLnByb2plY3RTdW1tYXJ5fT5cbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5PlxuICAgICAgICAgICAgICAgIDxUZW1wbGF0ZUdyYWRpZW50SWNvbiBoZWlnaHQ9ezI0fSB3aWR0aD17MjR9IC8+XG4gICAgICAgICAgICAgIDwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnk+XG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGU+e3QoJ2hvbWVNZW51LnByb2plY3RTdW1tYXJ5LnRpdGxlJyl9PC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlPlxuICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAge3QoJ2hvbWVNZW51LnByb2plY3RTdW1tYXJ5LmRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudD5cbiAgICAgICAgICAgIDwvU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3Q+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd0R5bmFtaWNTZWN0aW9uICYmIChcbiAgICAgICAgICAgIDxTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiAkZ3Jvdz17aXNNYWlha2VyfT5cbiAgICAgICAgICAgICAge3JlbmRlclJlY2VudENvbnRleHRzKCl9XG4gICAgICAgICAgICAgIHtzaG91bGRTaG93RmFxcyAmJiAoXG4gICAgICAgICAgICAgICAgPEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1xuICAgICAgICAgICAgICAgICAgb25TdGFydENoYXQ9e29uU3RhcnRDaGF0fVxuICAgICAgICAgICAgICAgICAgc2hvd0ZBUXM9e3Nob3dGQVFzfVxuICAgICAgICAgICAgICAgICAgc2hvd1Byb2plY3RTdW1tYXJ5PXtzaG93UHJvamVjdFN1bW1hcnl9XG4gICAgICAgICAgICAgICAgICBhZ2VudElkPXthZ2VudD8uaWR9XG4gICAgICAgICAgICAgICAgICBsYW5nPXtsYW5nfVxuICAgICAgICAgICAgICAgICAgaXNTY3JvbGxpbmc9e2lzU2Nyb2xsaW5nfVxuICAgICAgICAgICAgICAgICAgZmFxcz17ZmFxc31cbiAgICAgICAgICAgICAgICAgIGxvYWRpbmc9e2ZhcXNBcmVMb2FkaW5nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtzaG91bGRTaG93RnVhcyAmJiAoXG4gICAgICAgICAgICAgICAgPEZyZXF1ZW50bHlVc2VkQWN0aW9uc1xuICAgICAgICAgICAgICAgICAgb25TdGFydENoYXQ9e29uU3RhcnRDaGF0fVxuICAgICAgICAgICAgICAgICAgYWdlbnRJZD17YWdlbnQ/LmlkfVxuICAgICAgICAgICAgICAgICAgaXNTY3JvbGxpbmc9e2lzU2Nyb2xsaW5nfVxuICAgICAgICAgICAgICAgICAgYWN0aW9ucz17ZnVhc31cbiAgICAgICAgICAgICAgICAgIGxvYWRpbmc9e2Z1YXNBcmVMb2FkaW5nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtpc01haWFrZXIgPyA8Q2hhdEFJSG9tZU1haWFrZXIgb25TdGFydENoYXQ9e29uU3RhcnRDaGF0fSAvPiA6IG51bGx9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NDQUlIb21lQ29udGVudElubmVyPlxuICAgICAgPC9TQ0NBSUhvbWVDb250ZW50PlxuICAgICAge2hvbWVTY3JvbGxhYmxlTGF5b3V0ICYmIDxTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSAkc2hvdz17c2hvd0JvdHRvbUdyYWRpZW50fSAvPn1cbiAgICA8L1NDQ0FJSG9tZUNvbnRhaW5lcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUV6RSxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLGFBQWEsUUFBUSxnREFBZ0Q7QUFDOUUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSx5QkFBeUI7QUFJMUQsU0FDRUMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLHFCQUFxQixFQUNyQkMsb0JBQW9CLEVBQ3BCQyx1QkFBdUIsRUFDdkJDLGVBQWUsRUFDZkMsaUJBQWlCLEVBQ2pCQywyQkFBMkIsRUFDM0JDLGtCQUFrQixFQUNsQkMsdUJBQXVCLEVBQ3ZCQyw4QkFBOEIsRUFDOUJDLDRCQUE0QixFQUM1QkMsa0NBQWtDLEVBQ2xDQywwQkFBMEIsRUFDMUJDLHFCQUFxQixFQUNyQkMsMkJBQTJCLEVBQzNCQyxzQkFBc0IsRUFDdEJDLDBCQUEwQixFQUMxQkMsc0JBQXNCLEVBQ3RCQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsY0FBYyxFQUNkQyxpQkFBaUIsRUFDakJDLHVCQUF1QixFQUN2QkMsdUJBQXVCLEVB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
@@ -130,7 +130,7 @@ export var SCCAIHomeProjectSummaryDescription = styled.span.withConfig({
130
130
  export var SCCAIHomeRecentContexts = styled.div.withConfig({
131
131
  displayName: "styles__SCCAIHomeRecentContexts",
132
132
  componentId: "sc-33wjx7-20"
133
- })(["width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:432px;"]);
133
+ })(["width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:432px;"]);
134
134
  export var SCCAIHomeRecentContextsTitle = styled.span.withConfig({
135
135
  displayName: "styles__SCCAIHomeRecentContextsTitle",
136
136
  componentId: "sc-33wjx7-21"
@@ -217,4 +217,4 @@ export var SCCAIHomeLogoWrapper = styled.div.withConfig({
217
217
  displayName: "styles__SCCAIHomeLogoWrapper",
218
218
  componentId: "sc-33wjx7-41"
219
219
  })(["position:relative;z-index:1;"]);
220
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJHTE9CQUxfQ09MT1JTIiwiVklPTEVUX0lBX0NPTE9SUyIsImp1c3RpZnlTQ0NBSUhvbWVDb250ZW50TWFpbiIsInByb3BzIiwiJGZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwic2hvd0ZBUXMiLCIkaXNBZ2VudFZpZXciLCJqdXN0aWZ5U0NDQUlIb21lQ29udGVudFRhbGxWaWV3cG9ydCIsImZhZGVJbiIsInJlY2VudENvbnRleHRMb2FkaW5nIiwiU0NDQUlIb21lQ29udGFpbmVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0NBSUhvbWVDb250ZW50IiwiU0NDQUlIb21lQ29udGVudElubmVyIiwiU0NDQUlIb21lRHluYW1pY1NlY3Rpb24iLCJfcmVmIiwiJGdyb3ciLCJTQ0NBSUhvbWVMb2FkaW5nT3ZlcmxheSIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiJHNob3ciLCJTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSIsIlNDQ0FJSG9tZUhlYWRlciIsIiRnYXAiLCIkbWF4V2lkdGgiLCJTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXIiLCJTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2siLCJwIiwiJG5vR2FwIiwiU0NDQUlIb21lR3JlZXRpbmciLCJzcGFuIiwiJHRydW5jYXRlIiwiU0NDQUlIb21lVGl0bGUiLCJTQ0NBSUhvbWVTdWJ0aXRsZSIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsImV4cGFuZGVkIiwiU0NDQUlIb21lSG93SXRXb3JrcyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzVGl0bGUiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c0xpc3QiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCIsImJ1dHRvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsSWNvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsU2tlbGV0b24iLCJTQ0NBSUhvbWVRQUNvbnRhaW5lciIsIlNDQ0FJSG9tZVFBVGl0bGUiLCJTQ0NBSUhvbWVRQVRpdGxlVGV4dCIsIlNDQ0FJSG9tZVFBSXRlbSIsIlNDQ0FJSG9tZVFBSXRlbVRleHQiLCJTdHlsZWRRQUNvbnRhaW5lciIsInByaW1hcnkiLCJ0ZXh0Iiwic2Vjb25kYXJ5IiwiU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3QiLCJTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIiLCJTQ0NBSUhvbWVDcmVhdGVkQnlMaW5lIiwiU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lIiwiZ3JhZGllbnRQdWxzZTEiLCJncmFkaWVudFB1bHNlMiIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVHcmFkaWVudDEiLCJTQ0NBSUhvbWVHcmFkaWVudDIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlIb21lL3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGtleWZyYW1lcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5cbmltcG9ydCB7IEdMT0JBTF9DT0xPUlMsIFZJT0xFVF9JQV9DT0xPUlMgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuXG5mdW5jdGlvbiBqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW4ocHJvcHM6IHtcbiAgJGZsb2F0aW5nQ3VzdG9tQ2VudGVyPzogYm9vbGVhblxuICBzaG93RkFRcz86IGJvb2xlYW5cbiAgJGlzQWdlbnRWaWV3PzogYm9vbGVhblxufSk6IHN0cmluZyB7XG4gIGlmIChwcm9wcy4kZmxvYXRpbmdDdXN0b21DZW50ZXIpIHJldHVybiAnY2VudGVyJ1xuICBpZiAocHJvcHMuc2hvd0ZBUXMgfHwgcHJvcHMuJGlzQWdlbnRWaWV3KSByZXR1cm4gJ2ZsZXgtc3RhcnQnXG4gIHJldHVybiAnY2VudGVyJ1xufVxuXG5mdW5jdGlvbiBqdXN0aWZ5U0NDQUlIb21lQ29udGVudFRhbGxWaWV3cG9ydChwcm9wczoge1xuICAkZmxvYXRpbmdDdXN0b21DZW50ZXI/OiBib29sZWFuXG4gICRpc0FnZW50Vmlldz86IGJvb2xlYW5cbn0pOiBzdHJpbmcge1xuICBpZiAocHJvcHMuJGZsb2F0aW5nQ3VzdG9tQ2VudGVyKSByZXR1cm4gJ2NlbnRlcidcbiAgaWYgKHByb3BzLiRpc0FnZW50VmlldykgcmV0dXJuICdmbGV4LXN0YXJ0J1xuICByZXR1cm4gJ2NlbnRlcidcbn1cblxuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gXG5cbmNvbnN0IHJlY2VudENvbnRleHRMb2FkaW5nID0ga2V5ZnJhbWVzYFxuICAwJSB7XG4gICAgb3BhY2l0eTogMC40NTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuODU7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMC40NTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHNob3dGQVFzPzogYm9vbGVhbiB9PmBcbiAgZmxleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbmltYXRpb246ICR7ZmFkZUlufSAwLjVzIGVhc2Utb3V0O1xuXG4gIEBtZWRpYSAobWluLWhlaWdodDogMTAwMHB4KSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHtcbiAgc2hvd0ZBUXM/OiBib29sZWFuXG4gICRpc0FnZW50Vmlldz86IGJvb2xlYW5cbiAgJGZsb2F0aW5nQ3VzdG9tQ2VudGVyPzogYm9vbGVhblxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG4gIGp1c3RpZnktY29udGVudDogJHtqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW59O1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICR7cHJvcHMgPT4gcHJvcHMuc2hvd0ZBUXMgJiYgJ292ZXJmbG93LXk6IGF1dG87IG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjsnfVxuICAke3Byb3BzID0+ICFwcm9wcy5zaG93RkFRcyAmJiAncGFkZGluZzogMCAxNnB4Oyd9XG5cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAxMDAwcHgpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR7anVzdGlmeVNDQ0FJSG9tZUNvbnRlbnRUYWxsVmlld3BvcnR9O1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ29udGVudElubmVyID0gc3R5bGVkLmRpdjx7XG4gIHNob3dGQVFzPzogYm9vbGVhblxuICAkaXNBZ2VudFZpZXc/OiBib29sZWFuXG4gICRmbG9hdGluZ0N1c3RvbUNlbnRlcj86IGJvb2xlYW5cbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IChwcm9wcy5zaG93RkFRcyA/ICcxNnB4JyA6ICcwJyl9O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE4cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICAke3Byb3BzID0+IHByb3BzLnNob3dGQVFzICYmICdtaW4taGVpZ2h0OiAxMDAlOyd9XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGp1c3RpZnktY29udGVudDogJHtwcm9wcyA9PiAocHJvcHMuc2hvd0ZBUXMgPyAnZmxleC1zdGFydCcgOiAnY2VudGVyJyl9O1xuICAvKiBDZW50cmFkbyBlbiB2aWV3cG9ydCBjb21wbGV0bzsgZW4gcGFuZWwgZmxvdGFudGUgKyBjdXN0b20gZWwgcGFkcmUgY2VudHJhIGNvbiBmbGV4ICg1MHZoIG5vIGFwbGljYSBhbCBwYW5lbCkuXG4gICAgIEN1YW5kbyBoYXkgRlVBcy9GQVFzIChzaG93RkFRcykgZWwgbGF5b3V0IGVzIHNjcm9sbGFibGUgeSBzZSBhbmNsYSBhcnJpYmEsIHNpbiBuZWNlc2lkYWQgZGUgbWFyZ2luLXRvcC4gKi9cbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiB7XG4gICAgaWYgKHByb3BzLiRmbG9hdGluZ0N1c3RvbUNlbnRlciB8fCBwcm9wcy5zaG93RkFRcykgcmV0dXJuICcwJ1xuICAgIHJldHVybiBwcm9wcy4kaXNBZ2VudFZpZXcgPyAnY2FsYyg1MHZoIC0gODBweCAtIDE2cHggLSA1NnB4KScgOiAnMCdcbiAgfX07XG5cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAxMDAwcHgpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiA9IHN0eWxlZC5kaXY8eyAkZ3Jvdz86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMThweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gICR7KHsgJGdyb3cgfSkgPT4gJGdyb3cgJiYgJ2ZsZXg6IDEgMSBhdXRvOyBtaW4taGVpZ2h0OiAwOyd9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVMb2FkaW5nT3ZlcmxheSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmFkaWVudFRvcCA9IHN0eWxlZC5kaXY8eyAkc2hvdzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICB0byBib3R0b20sXG4gICAgI2ZmZmZmZiAwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMzAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSA3MCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlXG4gICk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuJHNob3cgPyAxIDogMCl9O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDg2NHB4O1xuICBtYXJnaW46IDAgYXV0bztcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tID0gc3R5bGVkLmRpdjx7ICRzaG93OiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIHRvcCxcbiAgICAjZmZmZmZmIDAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDcwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCVcbiAgKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy4kc2hvdyA/IDEgOiAwKX07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lSGVhZGVyID0gc3R5bGVkLmRpdjx7ICRnYXA/OiBzdHJpbmc7ICRtYXhXaWR0aD86IHN0cmluZzsgJGlzQWdlbnRWaWV3PzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAke3Byb3BzID0+IHByb3BzLiRnYXAgfHwgJzIwcHgnfTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IHByb3BzLiRtYXhXaWR0aCB8fCAnMTAwJSd9O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGp1c3RpZnktY29udGVudDogJHtwcm9wcyA9PiAocHJvcHMuJGlzQWdlbnRWaWV3ID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbmBcblxuLyoqIEhlYWRlciBNQUlBIChpc29sb2dvICsgc2FsdWRvKTogZ2FwIDAgc2kgbm8gaGF5IHRleHRvIGRlIHNhbHVkbyAqL1xuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayA9IHN0eWxlZC5kaXY8eyAkbm9HYXA/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6ICR7cCA9PiAocC4kbm9HYXAgPyAwIDogJzhweCcpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyZWV0aW5nID0gc3R5bGVkLnNwYW48eyAkdHJ1bmNhdGU/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuICBsaW5lLWhlaWdodDogMTIyJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICR7cHJvcHMgPT5cbiAgICBwcm9wcy4kdHJ1bmNhdGUgJiZcbiAgICBgXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVUaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBjb2xvcjogIzIwMjAxZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVTdWJ0aXRsZSA9IHN0eWxlZC5zcGFuYFxuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVBZ2VudEluZm8gPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICMyMDIwMWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUludHJvZHVjdGlvbiA9IHN0eWxlZC5zcGFuPHsgZXhwYW5kZWQ/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAxKTtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IChwcm9wcy5leHBhbmRlZCA/ICc0ODJweCcgOiAnMzYwcHgnKX07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgb3ZlcmZsb3ctd3JhcDogbm9ybWFsO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lSG93SXRXb3JrcyA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzZmMzNhMDtcbiAgZm9udC1mYW1pbHk6IFdvcmsgU2FucztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2FhNmVkZTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUHJvamVjdFN1bW1hcnkgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbiA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDEpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dHMgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTBweDtcbiAgbWF4LXdpZHRoOiA0MzJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVJlY2VudENvbnRleHRzVGl0bGUgPSBzdHlsZWQuc3BhbmBcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCA9IHN0eWxlZC5idXR0b25gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MzhweDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIG1pbi13aWR0aDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4xNHMgZWFzZSxcbiAgICBib3JkZXItY29sb3IgMC4xNHMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNiM2IzYjM7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxJY29uID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLXdpZHRoOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAke1NDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsfTpob3ZlciAmIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbFNrZWxldG9uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDM4cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDI0MiwgMjQyLCAxKTtcbiAgYW5pbWF0aW9uOiAke3JlY2VudENvbnRleHRMb2FkaW5nfSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQVRpdGxlVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAke1ZJT0xFVF9JQV9DT0xPUlNbNTAwXX07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQUl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQUl0ZW1UZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRRQUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTZweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDM2cHg7XG4gIGZsZXg6IDE7XG5cbiAgLkNoYXRBSUhvbWUtcWEtdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBjb2xvcjogJHtHTE9CQUxfQ09MT1JTLnByaW1hcnl9O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBwYWRkaW5nOiAwIDZweDtcbiAgfVxuXG4gIC5DaGF0QUlIb21lLXFhLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG5cbiAgICAuQ2hhdEFJSG9tZS1xYS1pdGVtIHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy50ZXh0LnNlY29uZGFyeX07XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBwYWRkaW5nOiA2cHg7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQyLCAyNDIsIDI0MiwgMSk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LFxuICAgIHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiAxMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ3JlYXRlZEJ5TGluZSA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbmBcblxuY29uc3QgZ3JhZGllbnRQdWxzZTEgPSBrZXlmcmFtZXNgXG4gIDAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuODUpO1xuICB9XG5gXG5cbmNvbnN0IGdyYWRpZW50UHVsc2UyID0ga2V5ZnJhbWVzYFxuICAwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuODUpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgfVxuYFxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUljb25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyYWRpZW50MSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDUwJSA1MCUgYXQgNTAlIDEwMCUsICNmZmZmZiAwJSwgI2ZmZmZmZiAxMDAlKTtcbiAgZmlsdGVyOiBibHVyKDI1cHgpO1xuICBhbmltYXRpb246ICR7Z3JhZGllbnRQdWxzZTF9IDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB6LWluZGV4OiAwO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lR3JhZGllbnQyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoNTAlIDUwJSBhdCA1MCUgMTAwJSwgI2ZmZmZmZiAwJSwgI2ZmZmZmZiAxMDAlKTtcbiAgZmlsdGVyOiBibHVyKDI1cHgpO1xuICBhbmltYXRpb246ICR7Z3JhZGllbnRQdWxzZTJ9IDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB6LWluZGV4OiAwO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lTG9nb1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sSUFBSUMsU0FBUyxRQUFRLG1CQUFtQjtBQUNyRCxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBRXRELFNBQVNDLGFBQWEsRUFBRUMsZ0JBQWdCLFFBQVEsd0JBQXdCO0FBRXhFLFNBQVNDLDJCQUEyQkEsQ0FBQ0MsS0FJcEMsRUFBVTtFQUNULElBQUlBLEtBQUssQ0FBQ0MscUJBQXFCLEVBQUUsT0FBTyxRQUFRO0VBQ2hELElBQUlELEtBQUssQ0FBQ0UsUUFBUSxJQUFJRixLQUFLLENBQUNHLFlBQVksRUFBRSxPQUFPLFlBQVk7RUFDN0QsT0FBTyxRQUFRO0FBQ2pCO0FBRUEsU0FBU0MsbUNBQW1DQSxDQUFDSixLQUc1QyxFQUFVO0VBQ1QsSUFBSUEsS0FBSyxDQUFDQyxxQkFBcUIsRUFBRSxPQUFPLFFBQVE7RUFDaEQsSUFBSUQsS0FBSyxDQUFDRyxZQUFZLEVBQUUsT0FBTyxZQUFZO0VBQzNDLE9BQU8sUUFBUTtBQUNqQjtBQUVBLElBQU1FLE1BQU0sR0FBR1YsU0FBUyxvQ0FPdkI7QUFFRCxJQUFNVyxvQkFBb0IsR0FBR1gsU0FBUyw0REFVckM7QUFFRCxPQUFPLElBQU1ZLGtCQUFrQixHQUFHYixNQUFNLENBQUNjLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0T0FXN0JOLE1BQU0sQ0FLcEI7QUFFRCxPQUFPLElBQU1PLGdCQUFnQixHQUFHbEIsTUFBTSxDQUFDYyxHQUFHLENB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
220
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJHTE9CQUxfQ09MT1JTIiwiVklPTEVUX0lBX0NPTE9SUyIsImp1c3RpZnlTQ0NBSUhvbWVDb250ZW50TWFpbiIsInByb3BzIiwiJGZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwic2hvd0ZBUXMiLCIkaXNBZ2VudFZpZXciLCJqdXN0aWZ5U0NDQUlIb21lQ29udGVudFRhbGxWaWV3cG9ydCIsImZhZGVJbiIsInJlY2VudENvbnRleHRMb2FkaW5nIiwiU0NDQUlIb21lQ29udGFpbmVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0NBSUhvbWVDb250ZW50IiwiU0NDQUlIb21lQ29udGVudElubmVyIiwiU0NDQUlIb21lRHluYW1pY1NlY3Rpb24iLCJfcmVmIiwiJGdyb3ciLCJTQ0NBSUhvbWVMb2FkaW5nT3ZlcmxheSIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiJHNob3ciLCJTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSIsIlNDQ0FJSG9tZUhlYWRlciIsIiRnYXAiLCIkbWF4V2lkdGgiLCJTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXIiLCJTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2siLCJwIiwiJG5vR2FwIiwiU0NDQUlIb21lR3JlZXRpbmciLCJzcGFuIiwiJHRydW5jYXRlIiwiU0NDQUlIb21lVGl0bGUiLCJTQ0NBSUhvbWVTdWJ0aXRsZSIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsImV4cGFuZGVkIiwiU0NDQUlIb21lSG93SXRXb3JrcyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzVGl0bGUiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c0xpc3QiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCIsImJ1dHRvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsSWNvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsU2tlbGV0b24iLCJTQ0NBSUhvbWVRQUNvbnRhaW5lciIsIlNDQ0FJSG9tZVFBVGl0bGUiLCJTQ0NBSUhvbWVRQVRpdGxlVGV4dCIsIlNDQ0FJSG9tZVFBSXRlbSIsIlNDQ0FJSG9tZVFBSXRlbVRleHQiLCJTdHlsZWRRQUNvbnRhaW5lciIsInByaW1hcnkiLCJ0ZXh0Iiwic2Vjb25kYXJ5IiwiU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3QiLCJTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIiLCJTQ0NBSUhvbWVDcmVhdGVkQnlMaW5lIiwiU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lIiwiZ3JhZGllbnRQdWxzZTEiLCJncmFkaWVudFB1bHNlMiIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVHcmFkaWVudDEiLCJTQ0NBSUhvbWVHcmFkaWVudDIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlIb21lL3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGtleWZyYW1lcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5cbmltcG9ydCB7IEdMT0JBTF9DT0xPUlMsIFZJT0xFVF9JQV9DT0xPUlMgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuXG5mdW5jdGlvbiBqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW4ocHJvcHM6IHtcbiAgJGZsb2F0aW5nQ3VzdG9tQ2VudGVyPzogYm9vbGVhblxuICBzaG93RkFRcz86IGJvb2xlYW5cbiAgJGlzQWdlbnRWaWV3PzogYm9vbGVhblxufSk6IHN0cmluZyB7XG4gIGlmIChwcm9wcy4kZmxvYXRpbmdDdXN0b21DZW50ZXIpIHJldHVybiAnY2VudGVyJ1xuICBpZiAocHJvcHMuc2hvd0ZBUXMgfHwgcHJvcHMuJGlzQWdlbnRWaWV3KSByZXR1cm4gJ2ZsZXgtc3RhcnQnXG4gIHJldHVybiAnY2VudGVyJ1xufVxuXG5mdW5jdGlvbiBqdXN0aWZ5U0NDQUlIb21lQ29udGVudFRhbGxWaWV3cG9ydChwcm9wczoge1xuICAkZmxvYXRpbmdDdXN0b21DZW50ZXI/OiBib29sZWFuXG4gICRpc0FnZW50Vmlldz86IGJvb2xlYW5cbn0pOiBzdHJpbmcge1xuICBpZiAocHJvcHMuJGZsb2F0aW5nQ3VzdG9tQ2VudGVyKSByZXR1cm4gJ2NlbnRlcidcbiAgaWYgKHByb3BzLiRpc0FnZW50VmlldykgcmV0dXJuICdmbGV4LXN0YXJ0J1xuICByZXR1cm4gJ2NlbnRlcidcbn1cblxuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gXG5cbmNvbnN0IHJlY2VudENvbnRleHRMb2FkaW5nID0ga2V5ZnJhbWVzYFxuICAwJSB7XG4gICAgb3BhY2l0eTogMC40NTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuODU7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMC40NTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHNob3dGQVFzPzogYm9vbGVhbiB9PmBcbiAgZmxleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbmltYXRpb246ICR7ZmFkZUlufSAwLjVzIGVhc2Utb3V0O1xuXG4gIEBtZWRpYSAobWluLWhlaWdodDogMTAwMHB4KSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNvbnRlbnQgPSBzdHlsZWQuZGl2PHtcbiAgc2hvd0ZBUXM/OiBib29sZWFuXG4gICRpc0FnZW50Vmlldz86IGJvb2xlYW5cbiAgJGZsb2F0aW5nQ3VzdG9tQ2VudGVyPzogYm9vbGVhblxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG4gIGp1c3RpZnktY29udGVudDogJHtqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW59O1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICR7cHJvcHMgPT4gcHJvcHMuc2hvd0ZBUXMgJiYgJ292ZXJmbG93LXk6IGF1dG87IG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjsnfVxuICAke3Byb3BzID0+ICFwcm9wcy5zaG93RkFRcyAmJiAncGFkZGluZzogMCAxNnB4Oyd9XG5cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAxMDAwcHgpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR7anVzdGlmeVNDQ0FJSG9tZUNvbnRlbnRUYWxsVmlld3BvcnR9O1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ29udGVudElubmVyID0gc3R5bGVkLmRpdjx7XG4gIHNob3dGQVFzPzogYm9vbGVhblxuICAkaXNBZ2VudFZpZXc/OiBib29sZWFuXG4gICRmbG9hdGluZ0N1c3RvbUNlbnRlcj86IGJvb2xlYW5cbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IChwcm9wcy5zaG93RkFRcyA/ICcxNnB4JyA6ICcwJyl9O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE4cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICAke3Byb3BzID0+IHByb3BzLnNob3dGQVFzICYmICdtaW4taGVpZ2h0OiAxMDAlOyd9XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGp1c3RpZnktY29udGVudDogJHtwcm9wcyA9PiAocHJvcHMuc2hvd0ZBUXMgPyAnZmxleC1zdGFydCcgOiAnY2VudGVyJyl9O1xuICAvKiBDZW50cmFkbyBlbiB2aWV3cG9ydCBjb21wbGV0bzsgZW4gcGFuZWwgZmxvdGFudGUgKyBjdXN0b20gZWwgcGFkcmUgY2VudHJhIGNvbiBmbGV4ICg1MHZoIG5vIGFwbGljYSBhbCBwYW5lbCkuXG4gICAgIEN1YW5kbyBoYXkgRlVBcy9GQVFzIChzaG93RkFRcykgZWwgbGF5b3V0IGVzIHNjcm9sbGFibGUgeSBzZSBhbmNsYSBhcnJpYmEsIHNpbiBuZWNlc2lkYWQgZGUgbWFyZ2luLXRvcC4gKi9cbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiB7XG4gICAgaWYgKHByb3BzLiRmbG9hdGluZ0N1c3RvbUNlbnRlciB8fCBwcm9wcy5zaG93RkFRcykgcmV0dXJuICcwJ1xuICAgIHJldHVybiBwcm9wcy4kaXNBZ2VudFZpZXcgPyAnY2FsYyg1MHZoIC0gODBweCAtIDE2cHggLSA1NnB4KScgOiAnMCdcbiAgfX07XG5cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAxMDAwcHgpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiA9IHN0eWxlZC5kaXY8eyAkZ3Jvdz86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMThweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gICR7KHsgJGdyb3cgfSkgPT4gJGdyb3cgJiYgJ2ZsZXg6IDEgMSBhdXRvOyBtaW4taGVpZ2h0OiAwOyd9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVMb2FkaW5nT3ZlcmxheSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmFkaWVudFRvcCA9IHN0eWxlZC5kaXY8eyAkc2hvdzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICB0byBib3R0b20sXG4gICAgI2ZmZmZmZiAwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMzAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSA3MCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlXG4gICk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuJHNob3cgPyAxIDogMCl9O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDg2NHB4O1xuICBtYXJnaW46IDAgYXV0bztcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tID0gc3R5bGVkLmRpdjx7ICRzaG93OiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIHRvcCxcbiAgICAjZmZmZmZmIDAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDcwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCVcbiAgKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy4kc2hvdyA/IDEgOiAwKX07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lSGVhZGVyID0gc3R5bGVkLmRpdjx7ICRnYXA/OiBzdHJpbmc7ICRtYXhXaWR0aD86IHN0cmluZzsgJGlzQWdlbnRWaWV3PzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAke3Byb3BzID0+IHByb3BzLiRnYXAgfHwgJzIwcHgnfTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IHByb3BzLiRtYXhXaWR0aCB8fCAnMTAwJSd9O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGp1c3RpZnktY29udGVudDogJHtwcm9wcyA9PiAocHJvcHMuJGlzQWdlbnRWaWV3ID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbmBcblxuLyoqIEhlYWRlciBNQUlBIChpc29sb2dvICsgc2FsdWRvKTogZ2FwIDAgc2kgbm8gaGF5IHRleHRvIGRlIHNhbHVkbyAqL1xuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayA9IHN0eWxlZC5kaXY8eyAkbm9HYXA/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6ICR7cCA9PiAocC4kbm9HYXAgPyAwIDogJzhweCcpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyZWV0aW5nID0gc3R5bGVkLnNwYW48eyAkdHJ1bmNhdGU/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuICBsaW5lLWhlaWdodDogMTIyJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICR7cHJvcHMgPT5cbiAgICBwcm9wcy4kdHJ1bmNhdGUgJiZcbiAgICBgXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVUaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBjb2xvcjogIzIwMjAxZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVTdWJ0aXRsZSA9IHN0eWxlZC5zcGFuYFxuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVBZ2VudEluZm8gPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICMyMDIwMWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUludHJvZHVjdGlvbiA9IHN0eWxlZC5zcGFuPHsgZXhwYW5kZWQ/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAxKTtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IChwcm9wcy5leHBhbmRlZCA/ICc0ODJweCcgOiAnMzYwcHgnKX07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgb3ZlcmZsb3ctd3JhcDogbm9ybWFsO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lSG93SXRXb3JrcyA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzZmMzNhMDtcbiAgZm9udC1mYW1pbHk6IFdvcmsgU2FucztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2FhNmVkZTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUHJvamVjdFN1bW1hcnkgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiByZ2JhKDMyLCAzMiwgMzEsIDEpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbiA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDEpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dHMgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogNHB4O1xuICBtYXgtd2lkdGg6IDQzMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dHNUaXRsZSA9IHN0eWxlZC5zcGFuYFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c0xpc3QgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAwIDZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzOHB4O1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbWluLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjE0cyBlYXNlLFxuICAgIGJvcmRlci1jb2xvciAwLjE0cyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2IzYjNiMztcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbEljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjNGQ0ZDRkO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICR7U0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGx9OmhvdmVyICYge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsU2tlbGV0b24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MzhweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDEpO1xuICBhbmltYXRpb246ICR7cmVjZW50Q29udGV4dExvYWRpbmd9IDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQVRpdGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDZweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBVGl0bGVUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICR7VklPTEVUX0lBX0NPTE9SU1s1MDBdfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBSXRlbVRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFFBQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMzZweDtcbiAgZmxleDogMTtcblxuICAuQ2hhdEFJSG9tZS1xYS10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGNvbG9yOiAke0dMT0JBTF9DT0xPUlMucHJpbWFyeX07XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICB9XG5cbiAgLkNoYXRBSUhvbWUtcWEtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcblxuICAgIC5DaGF0QUlIb21lLXFhLWl0ZW0ge1xuICAgICAgY29sb3I6ICR7Y29sb3JzLnRleHQuc2Vjb25kYXJ5fTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIHBhZGRpbmc6IDZweDtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0ID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDIsIDI0MiwgMjQyLCAxKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDMycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsXG4gICAgdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBnYXA6IDEycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDcmVhdGVkQnlMaW5lID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC41KTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzk5OTk5OTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuYFxuXG5jb25zdCBncmFkaWVudFB1bHNlMSA9IGtleWZyYW1lc2BcbiAgMCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC44NSk7XG4gIH1cbmBcblxuY29uc3QgZ3JhZGllbnRQdWxzZTIgPSBrZXlmcmFtZXNgXG4gIDAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC44NSk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICB9XG5gXG5leHBvcnQgY29uc3QgU0NDQUlIb21lSWNvbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lR3JhZGllbnQxID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoNTAlIDUwJSBhdCA1MCUgMTAwJSwgI2ZmZmZmIDAlLCAjZmZmZmZmIDEwMCUpO1xuICBmaWx0ZXI6IGJsdXIoMjVweCk7XG4gIGFuaW1hdGlvbjogJHtncmFkaWVudFB1bHNlMX0gM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHotaW5kZXg6IDA7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmFkaWVudDIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSAxMDAlLCAjZmZmZmZmIDAlLCAjZmZmZmZmIDEwMCUpO1xuICBmaWx0ZXI6IGJsdXIoMjVweCk7XG4gIGFuaW1hdGlvbjogJHtncmFkaWVudFB1bHNlMn0gM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHotaW5kZXg6IDA7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVMb2dvV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxTQUFTLFFBQVEsbUJBQW1CO0FBQ3JELE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFFdEQsU0FBU0MsYUFBYSxFQUFFQyxnQkFBZ0IsUUFBUSx3QkFBd0I7QUFFeEUsU0FBU0MsMkJBQTJCQSxDQUFDQyxLQUlwQyxFQUFVO0VBQ1QsSUFBSUEsS0FBSyxDQUFDQyxxQkFBcUIsRUFBRSxPQUFPLFFBQVE7RUFDaEQsSUFBSUQsS0FBSyxDQUFDRSxRQUFRLElBQUlGLEtBQUssQ0FBQ0csWUFBWSxFQUFFLE9BQU8sWUFBWTtFQUM3RCxPQUFPLFFBQVE7QUFDakI7QUFFQSxTQUFTQyxtQ0FBbUNBLENBQUNKLEtBRzVDLEVBQVU7RUFDVCxJQUFJQSxLQUFLLENBQUNDLHFCQUFxQixFQUFFLE9BQU8sUUFBUTtFQUNoRCxJQUFJRCxLQUFLLENBQUNHLFlBQVksRUFBRSxPQUFPLFlBQVk7RUFDM0MsT0FBTyxRQUFRO0FBQ2pCO0FBRUEsSUFBTUUsTUFBTSxHQUFHVixTQUFTLG9DQU92QjtBQUVELElBQU1XLG9CQUFvQixHQUFHWCxTQUFTLDREQVVyQztBQUVELE9BQU8sSUFBTVksa0JBQWtCLEdBQUdiLE1BQU0sQ0FBQ2MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDRPQVc3Qk4sTUFBTSxDQUtwQjtBQUVELE9BQU8sSUFBTU8sZ0JBQWdCLEdBQUdsQixNQUFNLENBQUNjLEdBQUcsQ0FB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