@projectcor/maia-components 2.35.4-0 → 2.35.4-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/lib/App.js +44 -19
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +4 -63
  3. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +3 -31
  4. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +4 -16
  5. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +1 -12
  6. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +5 -127
  7. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +29 -2
  8. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +33 -24
  9. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +19 -2
  10. package/lib/components/atoms/MAIAInput/MAIAInput.js +17 -234
  11. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +2 -84
  12. package/lib/components/atoms/MAIAInput/styles.js +11 -15
  13. package/lib/components/atoms/icons/SkillsNavIcon.js +7 -4
  14. package/lib/components/atoms/icons/index.js +1 -5
  15. package/lib/components/index.js +2 -1
  16. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +11 -34
  17. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +9 -7
  18. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +8 -4
  19. package/lib/components/molecules/ChatAIMessages/newStyles.js +29 -26
  20. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +23 -60
  21. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +69 -70
  22. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +242 -333
  23. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +104 -131
  24. package/lib/components/molecules/ChatFooter/ChatFooter.js +5 -15
  25. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +8 -1
  26. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +3 -1
  27. package/lib/components/molecules/Sidebar/Sidebar.js +32 -34
  28. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
  29. package/lib/components/molecules/Sidebar/Sidebar.spec.js +22 -2
  30. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +12 -21
  31. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +1 -8
  32. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +184 -430
  33. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +22 -78
  34. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +72 -132
  35. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +484 -0
  36. package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +231 -0
  37. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
  38. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
  39. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
  40. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
  41. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +217 -0
  42. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +102 -0
  43. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +147 -0
  44. package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
  45. package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
  46. package/lib/components/organisms/ChatAIPage/index.js +3 -0
  47. package/lib/components/organisms/ChatAIPage/pageHomeMockCards.js +17 -0
  48. package/lib/constants/config.js +4 -1
  49. package/lib/constants/permissions/index.js +2 -2
  50. package/lib/constants/permissions/utils.js +6 -3
  51. package/lib/dev/DevMaiaPage.js +30 -0
  52. package/lib/hooks/useAgentModel/useCreateAgent.js +6 -6
  53. package/lib/hooks/useAgentModel/useUpdateAgent.js +6 -6
  54. package/lib/hooks/useChatManager/useChatManager.js +4 -5
  55. package/lib/hooks/useContextMentions.js +56 -96
  56. package/lib/hooks/useEntitySearch.js +278 -92
  57. package/lib/hooks/useEvent.js +2 -15
  58. package/lib/hooks/useEvent.spec.js +2 -7
  59. package/lib/hooks/useIsMaiaPageRoute.js +26 -0
  60. package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
  61. package/lib/hooks/useMentionAllowedTypes.js +25 -9
  62. package/lib/hooks/useMentionAllowedTypes.spec.js +15 -4
  63. package/lib/hooks/useMentionPopover.js +33 -9
  64. package/lib/index.js +5 -2
  65. package/lib/lang/br/index.js +32 -39
  66. package/lib/lang/en/index.js +32 -39
  67. package/lib/lang/es/index.js +33 -40
  68. package/lib/lang/fr/index.js +32 -39
  69. package/lib/services/maia/Agents/setAgentToolGroups.js +2 -2
  70. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +3 -3
  71. package/lib/services/maia/Orchestrator/orchestrator.js +3 -6
  72. package/lib/services/maia/Skills/createSkill.js +1 -1
  73. package/lib/services/maia/Skills/createSkill.spec.js +5 -14
  74. package/lib/services/maia/Skills/getSkills.js +40 -70
  75. package/lib/services/maia/Skills/updateSkill.js +1 -1
  76. package/lib/services/maia/Skills/updateSkill.spec.js +4 -11
  77. package/lib/styles/cascade.js +29 -3
  78. package/lib/styles/transitions.js +3 -1
  79. package/lib/types/agentModal.js +1 -1
  80. package/lib/types/global.d.js +1 -1
  81. package/lib/types/skill.js +1 -1
  82. package/lib/utils/contextMentionTriggers.js +5 -2
  83. package/lib/utils/contextMentionTriggers.spec.js +6 -8
  84. package/lib/utils/maiaPageRoute.js +24 -0
  85. package/lib/utils/maiaPageRoute.spec.js +23 -0
  86. package/lib/utils/normalizeAgentConnectors.js +16 -44
  87. package/lib/utils/normalizeAgentConnectors.spec.js +13 -43
  88. package/lib/utils/renderContextMentions.js +18 -39
  89. package/package.json +1 -1
  90. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +0 -208
  91. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +0 -107
  92. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +0 -77
  93. package/lib/components/atoms/SkillsDropdown/index.js +0 -2
  94. package/lib/components/atoms/icons/PlusIcon.js +0 -29
  95. package/lib/components/atoms/icons/SkillCreatedByIcon.js +0 -20
  96. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +0 -23
  97. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +0 -23
  98. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +0 -77
  99. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +0 -128
  100. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +0 -95
  101. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +0 -96
  102. package/lib/hooks/useSkillsCatalog.js +0 -66
  103. package/lib/hooks/useSkillsCatalog.spec.js +0 -88
  104. package/lib/services/maia/Orchestrator/orchestrator.spec.js +0 -72
  105. package/lib/services/maia/Skills/getSkills.spec.js +0 -152
@@ -57,7 +57,13 @@ jest.mock('../../../context/cor-user', function () {
57
57
  return {
58
58
  id: 99,
59
59
  company_id: 10,
60
- role_id: 3
60
+ role_id: 3,
61
+ permissions: {
62
+ ai_agents: {
63
+ view: true,
64
+ create: true
65
+ }
66
+ }
61
67
  };
62
68
  }
63
69
  };
@@ -179,5 +185,19 @@ describe('Sidebar', function () {
179
185
  sessionExternalId: 's1'
180
186
  }));
181
187
  });
188
+ it('hides the agents nav in conversations-only mode', function () {
189
+ Object.assign(window, {
190
+ MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS: true
191
+ });
192
+ var _renderSidebar = renderSidebar(/*#__PURE__*/_jsx(Sidebar, _objectSpread({}, sidebarProps))),
193
+ unmount = _renderSidebar.unmount;
194
+ expect(screen.getAllByText('conversations.myAgentsNav').length).toBeGreaterThan(0);
195
+ unmount();
196
+ renderSidebar(/*#__PURE__*/_jsx(Sidebar, _objectSpread(_objectSpread({}, sidebarProps), {}, {
197
+ conversationsOnly: true
198
+ })));
199
+ expect(screen.queryByText('conversations.myAgentsNav')).not.toBeInTheDocument();
200
+ delete window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
201
+ });
182
202
  });
183
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlciIsIlNpZGViYXIiLCJqc3giLCJfanN4IiwiY2hhdHNTdGF0ZSIsImxvYWRpbmdDaGF0cyIsImNoYXRzIiwiZGVsZXRlQ2hhdCIsImplc3QiLCJmbiIsInVwZGF0ZUNoYXQiLCJmZXRjaENoYXRzIiwibGltaXQiLCJvZmZzZXQiLCJoYXNNb3JlQ2hhdHMiLCJsb2FkTW9yZUNoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwidW5yZWFkQ291bnQiLCJzZXRVbnJlYWRDb3VudCIsInNldENoYXRSZWFkU3RhdGUiLCJtb2NrIiwidXNlQ2hhdHMiLCJFVkVOVFMiLCJwbUFpT3BlbkNvbnZlcnNhdGlvbiIsInBtQWlOZXdDb252ZXJzYXRpb24iLCJwbUFpTWVudUVkaXQiLCJwbUFpTWVudURlbGV0ZSIsImFpU2lkZWJhck5ld0NoYXQiLCJhaVNpZGViYXJNeUFnZW50cyIsImFpQ2hhdFNpZGViYXIiLCJ1c2VFdmVudCIsIkNPUlVzZXJSb2xlIiwiQ0xFVkVMIiwiRElSRUNUT1IiLCJQUk9KRUNUX01BTkFHRVIiLCJDT0xMQUJPUkFUT1IiLCJGUkVFTEFOQ0VSIiwiQ0xJRU5UIiwidXNlVXNlciIsImlkIiwiY29tcGFueV9pZCIsInJvbGVfaWQiLCJtYXBDT1JMYW5nIiwibGFuZyIsInVzZUlzU2Vzc2lvbkdlbmVyYXRpbmciLCJ1c2VTZXNzaW9uTWV0YSIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJGZWVkYmFja0J1dHRvbiIsImNoaWxkcmVuIiwiRWRpdFF1ZXN0aW9uTW9kYWwiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiZmV0Y2hNYWlhIiwiQVBQQ1VFU19FVkVOVFMiLCJBUFBDVUVTX1NFTEVDVE9SUyIsInRyYWNrQXBwY3Vlc0V2ZW50Iiwic2lkZWJhclByb3BzIiwib25Hb1RvQ2hhdCIsIm9uRXJyb3IiLCJoYW5kbGVHb1RvSG9tZSIsImhhbmRsZU9wZW5NYXJrZXRwbGFjZSIsImhhbmRsZU9wZW5Ta2lsbHMiLCJzaG93TmV3Q2hhdCIsInJlZmV0Y2hDaGF0cyIsImhhbmRsZVNldFJlZmV0Y2hDaGF0cyIsImhhc0Vycm9yIiwiaW5pdGlhbE9wZW4iLCJyZW5kZXJTaWRlYmFyIiwidWkiLCJjaGF0IiwidGl0bGUiLCJzZXNzaW9uRXh0ZXJuYWxJZCIsImRhdGUiLCJEYXRlIiwiYWdlbnQiLCJhZ2VudElkIiwiZW1vamkiLCJpc1JlYWQiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJtb2NrQ2xlYXIiLCJpdCIsIl9vYmplY3RTcHJlYWQiLCJleHBlY3QiLCJnZXRCeVRleHQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInF1ZXJ5QnlUZXh0Iiwibm90IiwiZ2V0QnlMYWJlbFRleHQiLCJ0b0hhdmVUZXh0Q29udGVudCIsImNsaWNrIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJvYmplY3RDb250YWluaW5nIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NpZGViYXIvU2lkZWJhci5zcGVjLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGZpcmVFdmVudCwgcmVuZGVyV2l0aFByb3ZpZGVycywgc2NyZWVuIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC90ZXN0LXV0aWxzJ1xuaW1wb3J0IHsgR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAnLi9TaWRlYmFyJ1xuaW1wb3J0IHR5cGUgeyBDaGF0TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9jaGF0c1N0b3JlLnR5cGVzJ1xuXG5jb25zdCBjaGF0c1N0YXRlID0ge1xuICBsb2FkaW5nQ2hhdHM6IGZhbHNlLFxuICBjaGF0czogW10gYXMgQ2hhdExpc3RJdGVtW10sXG4gIGRlbGV0ZUNoYXQ6IGplc3QuZm4oKSxcbiAgdXBkYXRlQ2hhdDogamVzdC5mbigpLFxuICBmZXRjaENoYXRzOiBqZXN0LmZuKCksXG4gIGxpbWl0OiAyMCxcbiAgb2Zmc2V0OiAwLFxuICBoYXNNb3JlQ2hhdHM6IGZhbHNlLFxuICBsb2FkTW9yZUNoYXRzOiBqZXN0LmZuKCksXG4gIGlzTG9hZGluZ01vcmVDaGF0czogZmFsc2UsXG4gIHVucmVhZENvdW50OiAwLFxuICBzZXRVbnJlYWRDb3VudDogamVzdC5mbigpLFxuICBzZXRDaGF0UmVhZFN0YXRlOiBqZXN0LmZuKCksXG59XG5cbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlQ2hhdHMnLCAoKSA9PiAoe1xuICB1c2VDaGF0czogKCkgPT4gY2hhdHNTdGF0ZSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50JywgKCkgPT4gKHtcbiAgRVZFTlRTOiB7XG4gICAgcG1BaU9wZW5Db252ZXJzYXRpb246ICdQTV9BSV9PUEVOX0NPTlZFUlNBVElPTicsXG4gICAgcG1BaU5ld0NvbnZlcnNhdGlvbjogJ1BNX0FJX05FV19DT05WRVJTQVRJT04nLFxuICAgIHBtQWlNZW51RWRpdDogJ1BNX0FJX01FTlVfRURJVCcsXG4gICAgcG1BaU1lbnVEZWxldGU6ICdQTV9BSV9NRU5VX0RFTEVURScsXG4gICAgYWlTaWRlYmFyTmV3Q2hhdDogJ0FJX1NJREVCQVJfTkVXX0NIQVQnLFxuICAgIGFpU2lkZWJhck15QWdlbnRzOiAnQUlfU0lERUJBUl9NWV9BR0VOVFMnLFxuICAgIGFpQ2hhdFNpZGViYXI6ICdBSV9DSEFUX1NJREVCQVInLFxuICB9LFxuICB1c2VFdmVudDogKCkgPT4gamVzdC5mbigpLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcicsICgpID0+ICh7XG4gIENPUlVzZXJSb2xlOiB7XG4gICAgQ0xFVkVMOiAxLFxuICAgIERJUkVDVE9SOiAyLFxuICAgIFBST0pFQ1RfTUFOQUdFUjogMyxcbiAgICBDT0xMQUJPUkFUT1I6IDQsXG4gICAgRlJFRUxBTkNFUjogNSxcbiAgICBDTElFTlQ6IDYsXG4gIH0sXG4gIHVzZVVzZXI6ICgpID0+ICh7IGlkOiA5OSwgY29tcGFueV9pZDogMTAsIHJvbGVfaWQ6IDMgfSksXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi9sYW5nL3V0aWxzJywgKCkgPT4gKHtcbiAgbWFwQ09STGFuZzogKGxhbmc6IHN0cmluZykgPT4gbGFuZyxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25NZXRhJywgKCkgPT4gKHtcbiAgdXNlSXNTZXNzaW9uR2VuZXJhdGluZzogKCkgPT4gZmFsc2UsXG4gIHVzZVNlc3Npb25NZXRhOiAoKSA9PiBudWxsLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCcsICgpID0+ICh7XG4gIHVzZU1haWFUYXNrUGFuZWxaSW5kZXg6ICgpID0+IDE1MDAsXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi9hdG9tcy9GZWVkYmFja0J1dHRvbicsICgpID0+ICh7XG4gIEZlZWRiYWNrQnV0dG9uOiAoKSA9PiA8ZGl2PmZlZWRiYWNrPC9kaXY+LFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vb3JnYW5pc21zL0VkaXRRdWVzdGlvbk1vZGFsJywgKCkgPT4gKHtcbiAgRWRpdFF1ZXN0aW9uTW9kYWw6ICgpID0+IG51bGwsXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi9vcmdhbmlzbXMvRGVsZXRlUXVlc3Rpb25Nb2RhbCcsICgpID0+ICh7XG4gIERlbGV0ZVF1ZXN0aW9uTW9kYWw6ICgpID0+IG51bGwsXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL2NsaWVudCcsICgpID0+ICh7XG4gIGZldGNoTWFpYTogamVzdC5mbigpLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vc2VydmljZXMvYXBwY3VlcycsICgpID0+ICh7XG4gIEFQUENVRVNfRVZFTlRTOiB7fSxcbiAgQVBQQ1VFU19TRUxFQ1RPUlM6IHt9LFxuICB0cmFja0FwcGN1ZXNFdmVudDogamVzdC5mbigpLFxufSkpXG5cbmNvbnN0IHNpZGViYXJQcm9wcyA9IHtcbiAgb25Hb1RvQ2hhdDogamVzdC5mbigpLFxuICBvbkVycm9yOiBqZXN0LmZuKCksXG4gIGhhbmRsZUdvVG9Ib21lOiBqZXN0LmZuKCksXG4gIGhhbmRsZU9wZW5NYXJrZXRwbGFjZTogamVzdC5mbigpLFxuICBoYW5kbGVPcGVuU2tpbGxzOiBqZXN0LmZuKCksXG4gIHNob3dOZXdDaGF0OiB0cnVlLFxuICByZWZldGNoQ2hhdHM6IGZhbHNlLFxuICBoYW5kbGVTZXRSZWZldGNoQ2hhdHM6IGplc3QuZm4oKSxcbiAgaGFzRXJyb3I6IGZhbHNlLFxuICBpbml0aWFsT3BlbjogdHJ1ZSxcbn1cblxuY29uc3QgcmVuZGVyU2lkZWJhciA9ICh1aTogUmVhY3RFbGVtZW50KSA9PlxuICByZW5kZXJXaXRoUHJvdmlkZXJzKDxHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPnt1aX08L0dsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+KVxuXG5jb25zdCBjaGF0ID0gKGlkOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpOiBDaGF0TGlzdEl0ZW0gPT4gKHtcbiAgaWQsXG4gIHNlc3Npb25FeHRlcm5hbElkOiBpZCxcbiAgdGl0bGUsXG4gIGRhdGU6IG5ldyBEYXRlKCcyMDI2LTAxLTAxJyksXG4gIGFnZW50OiAnTUFJQScsXG4gIGFnZW50SWQ6IDEsXG4gIGVtb2ppOiAn8J+klicsXG4gIGlzUmVhZDogdHJ1ZSxcbn0pXG5cbmRlc2NyaWJlKCdTaWRlYmFyJywgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjaGF0c1N0YXRlLmxvYWRpbmdDaGF0cyA9IGZhbHNlXG4gICAgY2hhdHNTdGF0ZS5jaGF0cyA9IFtdXG4gICAgY2hhdHNTdGF0ZS51bnJlYWRDb3VudCA9IDBcbiAgICBzaWRlYmFyUHJvcHMub25Hb1RvQ2hhdC5tb2NrQ2xlYXIoKVxuICAgIHNpZGViYXJQcm9wcy5oYXNFcnJvciA9IGZhbHNlXG4gIH0pXG5cbiAgaXQoJ3Nob3dzIHRoZSBlbXB0eSBjb252ZXJzYXRpb25zIHN0YXRlJywgKCkgPT4ge1xuICAgIHJlbmRlclNpZGViYXIoPFNpZGViYXIgey4uLnNpZGViYXJQcm9wc30gLz4pXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnY29udmVyc2F0aW9ucy5lbXB0eScpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gIH0pXG5cbiAgaXQoJ3Nob3dzIHRoZSBlcnJvciBzdGF0ZSB3aXRob3V0IGNoYXRzJywgKCkgPT4ge1xuICAgIHJlbmRlclNpZGViYXIoPFNpZGViYXIgey4uLnNpZGViYXJQcm9wc30gaGFzRXJyb3IgLz4pXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnY29udmVyc2F0aW9ucy5lcnJvcicpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5VGV4dCgnY29udmVyc2F0aW9ucy5lbXB0eScpKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKVxuICB9KVxuXG4gIGl0KCdvcGVucyBhIGNvbnZlcnNhdGlvbiBmcm9tIHRoZSBsaXN0JywgKCkgPT4ge1xuICAgIGNoYXRzU3RhdGUuY2hhdHMgPSBbY2hhdCgnczEnLCAnUmVzdW1lbiBkZWwgYnJpZWYnKV1cbiAgICBjaGF0c1N0YXRlLnVucmVhZENvdW50ID0gNFxuXG4gICAgcmVuZGVyU2lkZWJhcig8U2lkZWJhciB7Li4uc2lkZWJhclByb3BzfSAvPilcblxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ2NvbnZlcnNhdGlvbnMudW5yZWFkTGFiZWwnKSkudG9IYXZlVGV4dENvbnRlbnQoJzQnKVxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlUZXh0KCdSZXN1bWVuIGRlbCBicmllZicpKVxuXG4gICAgZXhwZWN0KHNpZGViYXJQcm9wcy5vbkdvVG9DaGF0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7IHNlc3Npb25FeHRlcm5hbElkOiAnczEnIH0pKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxtQkFBbUIsRUFBRUMsTUFBTSxRQUFRLDBCQUEwQjtBQUNqRixTQUFTQyx5QkFBeUIsUUFBUSw4QkFBOEI7QUFDeEUsU0FBU0MsT0FBTyxRQUFRLFdBQVc7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFHbkMsSUFBTUMsVUFBVSxHQUFHO0VBQ2pCQyxZQUFZLEVBQUUsS0FBSztFQUNuQkMsS0FBSyxFQUFFLEVBQW9CO0VBQzNCQyxVQUFVLEVBQUVDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7RUFDckJDLFVBQVUsRUFBRUYsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztFQUNyQkUsVUFBVSxFQUFFSCxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0VBQ3JCRyxLQUFLLEVBQUUsRUFBRTtFQUNUQyxNQUFNLEVBQUUsQ0FBQztFQUNUQyxZQUFZLEVBQUUsS0FBSztFQUNuQkMsYUFBYSxFQUFFUCxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0VBQ3hCTyxrQkFBa0IsRUFBRSxLQUFLO0VBQ3pCQyxXQUFXLEVBQUUsQ0FBQztFQUNkQyxjQUFjLEVBQUVWLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7RUFDekJVLGdCQUFnQixFQUFFWCxJQUFJLENBQUNDLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRURELElBQUksQ0FBQ1ksSUFBSSxDQUFDLHlCQUF5QixFQUFFO0VBQUEsT0FBTztJQUMxQ0MsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUE7TUFBQSxPQUFRakIsVUFBVTtJQUFBO0VBQzVCLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSEksSUFBSSxDQUFDWSxJQUFJLENBQUMseUJBQXlCLEVBQUU7RUFBQSxPQUFPO0lBQzFD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
203
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlciIsIlNpZGViYXIiLCJqc3giLCJfanN4IiwiY2hhdHNTdGF0ZSIsImxvYWRpbmdDaGF0cyIsImNoYXRzIiwiZGVsZXRlQ2hhdCIsImplc3QiLCJmbiIsInVwZGF0ZUNoYXQiLCJmZXRjaENoYXRzIiwibGltaXQiLCJvZmZzZXQiLCJoYXNNb3JlQ2hhdHMiLCJsb2FkTW9yZUNoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwidW5yZWFkQ291bnQiLCJzZXRVbnJlYWRDb3VudCIsInNldENoYXRSZWFkU3RhdGUiLCJtb2NrIiwidXNlQ2hhdHMiLCJFVkVOVFMiLCJwbUFpT3BlbkNvbnZlcnNhdGlvbiIsInBtQWlOZXdDb252ZXJzYXRpb24iLCJwbUFpTWVudUVkaXQiLCJwbUFpTWVudURlbGV0ZSIsImFpU2lkZWJhck5ld0NoYXQiLCJhaVNpZGViYXJNeUFnZW50cyIsImFpQ2hhdFNpZGViYXIiLCJ1c2VFdmVudCIsIkNPUlVzZXJSb2xlIiwiQ0xFVkVMIiwiRElSRUNUT1IiLCJQUk9KRUNUX01BTkFHRVIiLCJDT0xMQUJPUkFUT1IiLCJGUkVFTEFOQ0VSIiwiQ0xJRU5UIiwidXNlVXNlciIsImlkIiwiY29tcGFueV9pZCIsInJvbGVfaWQiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsInZpZXciLCJjcmVhdGUiLCJtYXBDT1JMYW5nIiwibGFuZyIsInVzZUlzU2Vzc2lvbkdlbmVyYXRpbmciLCJ1c2VTZXNzaW9uTWV0YSIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJGZWVkYmFja0J1dHRvbiIsImNoaWxkcmVuIiwiRWRpdFF1ZXN0aW9uTW9kYWwiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiZmV0Y2hNYWlhIiwiQVBQQ1VFU19FVkVOVFMiLCJBUFBDVUVTX1NFTEVDVE9SUyIsInRyYWNrQXBwY3Vlc0V2ZW50Iiwic2lkZWJhclByb3BzIiwib25Hb1RvQ2hhdCIsIm9uRXJyb3IiLCJoYW5kbGVHb1RvSG9tZSIsImhhbmRsZU9wZW5NYXJrZXRwbGFjZSIsImhhbmRsZU9wZW5Ta2lsbHMiLCJzaG93TmV3Q2hhdCIsInJlZmV0Y2hDaGF0cyIsImhhbmRsZVNldFJlZmV0Y2hDaGF0cyIsImhhc0Vycm9yIiwiaW5pdGlhbE9wZW4iLCJyZW5kZXJTaWRlYmFyIiwidWkiLCJjaGF0IiwidGl0bGUiLCJzZXNzaW9uRXh0ZXJuYWxJZCIsImRhdGUiLCJEYXRlIiwiYWdlbnQiLCJhZ2VudElkIiwiZW1vamkiLCJpc1JlYWQiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJtb2NrQ2xlYXIiLCJpdCIsIl9vYmplY3RTcHJlYWQiLCJleHBlY3QiLCJnZXRCeVRleHQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInF1ZXJ5QnlUZXh0Iiwibm90IiwiZ2V0QnlMYWJlbFRleHQiLCJ0b0hhdmVUZXh0Q29udGVudCIsImNsaWNrIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJvYmplY3RDb250YWluaW5nIiwiT2JqZWN0IiwiYXNzaWduIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsIl9yZW5kZXJTaWRlYmFyIiwidW5tb3VudCIsImdldEFsbEJ5VGV4dCIsImxlbmd0aCIsInRvQmVHcmVhdGVyVGhhbiIsImNvbnZlcnNhdGlvbnNPbmx5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NpZGViYXIvU2lkZWJhci5zcGVjLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGZpcmVFdmVudCwgcmVuZGVyV2l0aFByb3ZpZGVycywgc2NyZWVuIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC90ZXN0LXV0aWxzJ1xuaW1wb3J0IHsgR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAnLi9TaWRlYmFyJ1xuaW1wb3J0IHR5cGUgeyBDaGF0TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9jaGF0c1N0b3JlLnR5cGVzJ1xuXG5jb25zdCBjaGF0c1N0YXRlID0ge1xuICBsb2FkaW5nQ2hhdHM6IGZhbHNlLFxuICBjaGF0czogW10gYXMgQ2hhdExpc3RJdGVtW10sXG4gIGRlbGV0ZUNoYXQ6IGplc3QuZm4oKSxcbiAgdXBkYXRlQ2hhdDogamVzdC5mbigpLFxuICBmZXRjaENoYXRzOiBqZXN0LmZuKCksXG4gIGxpbWl0OiAyMCxcbiAgb2Zmc2V0OiAwLFxuICBoYXNNb3JlQ2hhdHM6IGZhbHNlLFxuICBsb2FkTW9yZUNoYXRzOiBqZXN0LmZuKCksXG4gIGlzTG9hZGluZ01vcmVDaGF0czogZmFsc2UsXG4gIHVucmVhZENvdW50OiAwLFxuICBzZXRVbnJlYWRDb3VudDogamVzdC5mbigpLFxuICBzZXRDaGF0UmVhZFN0YXRlOiBqZXN0LmZuKCksXG59XG5cbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlQ2hhdHMnLCAoKSA9PiAoe1xuICB1c2VDaGF0czogKCkgPT4gY2hhdHNTdGF0ZSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50JywgKCkgPT4gKHtcbiAgRVZFTlRTOiB7XG4gICAgcG1BaU9wZW5Db252ZXJzYXRpb246ICdQTV9BSV9PUEVOX0NPTlZFUlNBVElPTicsXG4gICAgcG1BaU5ld0NvbnZlcnNhdGlvbjogJ1BNX0FJX05FV19DT05WRVJTQVRJT04nLFxuICAgIHBtQWlNZW51RWRpdDogJ1BNX0FJX01FTlVfRURJVCcsXG4gICAgcG1BaU1lbnVEZWxldGU6ICdQTV9BSV9NRU5VX0RFTEVURScsXG4gICAgYWlTaWRlYmFyTmV3Q2hhdDogJ0FJX1NJREVCQVJfTkVXX0NIQVQnLFxuICAgIGFpU2lkZWJhck15QWdlbnRzOiAnQUlfU0lERUJBUl9NWV9BR0VOVFMnLFxuICAgIGFpQ2hhdFNpZGViYXI6ICdBSV9DSEFUX1NJREVCQVInLFxuICB9LFxuICB1c2VFdmVudDogKCkgPT4gamVzdC5mbigpLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcicsICgpID0+ICh7XG4gIENPUlVzZXJSb2xlOiB7XG4gICAgQ0xFVkVMOiAxLFxuICAgIERJUkVDVE9SOiAyLFxuICAgIFBST0pFQ1RfTUFOQUdFUjogMyxcbiAgICBDT0xMQUJPUkFUT1I6IDQsXG4gICAgRlJFRUxBTkNFUjogNSxcbiAgICBDTElFTlQ6IDYsXG4gIH0sXG4gIHVzZVVzZXI6ICgpID0+ICh7XG4gICAgaWQ6IDk5LFxuICAgIGNvbXBhbnlfaWQ6IDEwLFxuICAgIHJvbGVfaWQ6IDMsXG4gICAgcGVybWlzc2lvbnM6IHsgYWlfYWdlbnRzOiB7IHZpZXc6IHRydWUsIGNyZWF0ZTogdHJ1ZSB9IH0sXG4gIH0pLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vbGFuZy91dGlscycsICgpID0+ICh7XG4gIG1hcENPUkxhbmc6IChsYW5nOiBzdHJpbmcpID0+IGxhbmcsXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi9zdG9yZS9zZXNzaW9ucy91c2VTZXNzaW9uTWV0YScsICgpID0+ICh7XG4gIHVzZUlzU2Vzc2lvbkdlbmVyYXRpbmc6ICgpID0+IGZhbHNlLFxuICB1c2VTZXNzaW9uTWV0YTogKCkgPT4gbnVsbCxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnLCAoKSA9PiAoe1xuICB1c2VNYWlhVGFza1BhbmVsWkluZGV4OiAoKSA9PiAxNTAwLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vYXRvbXMvRmVlZGJhY2tCdXR0b24nLCAoKSA9PiAoe1xuICBGZWVkYmFja0J1dHRvbjogKCkgPT4gPGRpdj5mZWVkYmFjazwvZGl2Pixcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uL29yZ2FuaXNtcy9FZGl0UXVlc3Rpb25Nb2RhbCcsICgpID0+ICh7XG4gIEVkaXRRdWVzdGlvbk1vZGFsOiAoKSA9PiBudWxsLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vb3JnYW5pc21zL0RlbGV0ZVF1ZXN0aW9uTW9kYWwnLCAoKSA9PiAoe1xuICBEZWxldGVRdWVzdGlvbk1vZGFsOiAoKSA9PiBudWxsLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9jbGllbnQnLCAoKSA9PiAoe1xuICBmZXRjaE1haWE6IGplc3QuZm4oKSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL3NlcnZpY2VzL2FwcGN1ZXMnLCAoKSA9PiAoe1xuICBBUFBDVUVTX0VWRU5UUzoge30sXG4gIEFQUENVRVNfU0VMRUNUT1JTOiB7fSxcbiAgdHJhY2tBcHBjdWVzRXZlbnQ6IGplc3QuZm4oKSxcbn0pKVxuXG5jb25zdCBzaWRlYmFyUHJvcHMgPSB7XG4gIG9uR29Ub0NoYXQ6IGplc3QuZm4oKSxcbiAgb25FcnJvcjogamVzdC5mbigpLFxuICBoYW5kbGVHb1RvSG9tZTogamVzdC5mbigpLFxuICBoYW5kbGVPcGVuTWFya2V0cGxhY2U6IGplc3QuZm4oKSxcbiAgaGFuZGxlT3BlblNraWxsczogamVzdC5mbigpLFxuICBzaG93TmV3Q2hhdDogdHJ1ZSxcbiAgcmVmZXRjaENoYXRzOiBmYWxzZSxcbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzOiBqZXN0LmZuKCksXG4gIGhhc0Vycm9yOiBmYWxzZSxcbiAgaW5pdGlhbE9wZW46IHRydWUsXG59XG5cbmNvbnN0IHJlbmRlclNpZGViYXIgPSAodWk6IFJlYWN0RWxlbWVudCkgPT5cbiAgcmVuZGVyV2l0aFByb3ZpZGVycyg8R2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj57dWl9PC9HbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPilcblxuY29uc3QgY2hhdCA9IChpZDogc3RyaW5nLCB0aXRsZTogc3RyaW5nKTogQ2hhdExpc3RJdGVtID0+ICh7XG4gIGlkLFxuICBzZXNzaW9uRXh0ZXJuYWxJZDogaWQsXG4gIHRpdGxlLFxuICBkYXRlOiBuZXcgRGF0ZSgnMjAyNi0wMS0wMScpLFxuICBhZ2VudDogJ01BSUEnLFxuICBhZ2VudElkOiAxLFxuICBlbW9qaTogJ/CfpJYnLFxuICBpc1JlYWQ6IHRydWUsXG59KVxuXG5kZXNjcmliZSgnU2lkZWJhcicsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgY2hhdHNTdGF0ZS5sb2FkaW5nQ2hhdHMgPSBmYWxzZVxuICAgIGNoYXRzU3RhdGUuY2hhdHMgPSBbXVxuICAgIGNoYXRzU3RhdGUudW5yZWFkQ291bnQgPSAwXG4gICAgc2lkZWJhclByb3BzLm9uR29Ub0NoYXQubW9ja0NsZWFyKClcbiAgICBzaWRlYmFyUHJvcHMuaGFzRXJyb3IgPSBmYWxzZVxuICB9KVxuXG4gIGl0KCdzaG93cyB0aGUgZW1wdHkgY29udmVyc2F0aW9ucyBzdGF0ZScsICgpID0+IHtcbiAgICByZW5kZXJTaWRlYmFyKDxTaWRlYmFyIHsuLi5zaWRlYmFyUHJvcHN9IC8+KVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ2NvbnZlcnNhdGlvbnMuZW1wdHknKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICB9KVxuXG4gIGl0KCdzaG93cyB0aGUgZXJyb3Igc3RhdGUgd2l0aG91dCBjaGF0cycsICgpID0+IHtcbiAgICByZW5kZXJTaWRlYmFyKDxTaWRlYmFyIHsuLi5zaWRlYmFyUHJvcHN9IGhhc0Vycm9yIC8+KVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ2NvbnZlcnNhdGlvbnMuZXJyb3InKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVRleHQoJ2NvbnZlcnNhdGlvbnMuZW1wdHknKSkubm90LnRvQmVJblRoZURvY3VtZW50KClcbiAgfSlcblxuICBpdCgnb3BlbnMgYSBjb252ZXJzYXRpb24gZnJvbSB0aGUgbGlzdCcsICgpID0+IHtcbiAgICBjaGF0c1N0YXRlLmNoYXRzID0gW2NoYXQoJ3MxJywgJ1Jlc3VtZW4gZGVsIGJyaWVmJyldXG4gICAgY2hhdHNTdGF0ZS51bnJlYWRDb3VudCA9IDRcblxuICAgIHJlbmRlclNpZGViYXIoPFNpZGViYXIgey4uLnNpZGViYXJQcm9wc30gLz4pXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5TGFiZWxUZXh0KCdjb252ZXJzYXRpb25zLnVucmVhZExhYmVsJykpLnRvSGF2ZVRleHRDb250ZW50KCc0JylcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnUmVzdW1lbiBkZWwgYnJpZWYnKSlcblxuICAgIGV4cGVjdChzaWRlYmFyUHJvcHMub25Hb1RvQ2hhdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoeyBzZXNzaW9uRXh0ZXJuYWxJZDogJ3MxJyB9KSlcbiAgfSlcblxuICBpdCgnaGlkZXMgdGhlIGFnZW50cyBuYXYgaW4gY29udmVyc2F0aW9ucy1vbmx5IG1vZGUnLCAoKSA9PiB7XG4gICAgT2JqZWN0LmFzc2lnbih3aW5kb3csIHsgTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUzogdHJ1ZSB9KVxuXG4gICAgY29uc3QgeyB1bm1vdW50IH0gPSByZW5kZXJTaWRlYmFyKDxTaWRlYmFyIHsuLi5zaWRlYmFyUHJvcHN9IC8+KVxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QWxsQnlUZXh0KCdjb252ZXJzYXRpb25zLm15QWdlbnRzTmF2JykubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMClcbiAgICB1bm1vdW50KClcblxuICAgIHJlbmRlclNpZGViYXIoPFNpZGViYXIgey4uLnNpZGViYXJQcm9wc30gY29udmVyc2F0aW9uc09ubHkgLz4pXG4gICAgZXhwZWN0KHNjcmVlbi5xdWVyeUJ5VGV4dCgnY29udmVyc2F0aW9ucy5teUFnZW50c05hdicpKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKVxuXG4gICAgZGVsZXRlICh3aW5kb3cgYXMgV2luZG93ICYgeyBNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTPzogYm9vbGVhbiB9KVxuICAgICAgLk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLFNBQVNBLFNBQVMsRUFBRUMsbUJBQW1CLEVBQUVDLE1BQU0sUUFBUSwwQkFBMEI7QUFDakYsU0FBU0MseUJBQXlCLFFBQVEsOEJBQThCO0FBQ3hFLFNBQVNDLE9BQU8sUUFBUSxXQUFXO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBR25DLElBQU1DLFVBQVUsR0FBRztFQUNqQkMsWUFBWSxFQUFFLEtBQUs7RUFDbkJDLEtBQUssRUFBRSxFQUFvQjtFQUMzQkMsVUFBVSxFQUFFQyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0VBQ3JCQyxVQUFVLEVBQUVGLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7RUFDckJFLFVBQVUsRUFBRUgsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztFQUNyQkcsS0FBSyxFQUFFLEVBQUU7RUFDVEMsTUFBTSxFQUFFLENBQUM7RUFDVEMsWUFBWSxFQUFFLEtBQUs7RUFDbkJDLGFBQWEsRUFBRVAsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztFQUN4Qk8sa0JBQWtCLEVBQUUsS0FBSztFQUN6QkMsV0FBVyxFQUFFLENBQUM7RUFDZEMsY0FBYyxFQUFFVixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0VBQ3pCVSxnQkFBZ0IsRUFBRVgsSUFBSSxDQUFDQyxFQUFFLENBQUM7QUFDNUIsQ0FBQztBQUVERCxJQUFJLENBQUNZLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtFQUFBLE9BQU87SUFDMUNDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBO01BQUEsT0FBUWpCLFVBQVU7SUFBQTtFQUM1QixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUhJLElBQUksQ0FBQ1ksSUFBSSxDQUFDLHlCQUF5QixFQUFFO0VBQUEsT0FBTztJ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