@projectcor/maia-components 2.11.108 → 2.11.109-0

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 (30) hide show
  1. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +8 -2
  2. package/lib/components/atoms/MAIAInput/MAIAInput.js +73 -14
  3. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +121 -0
  4. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +55 -0
  5. package/lib/components/atoms/ReasoningBlock/index.js +2 -0
  6. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +147 -24
  7. package/lib/components/molecules/ChatAIMessages/newStyles.js +21 -13
  8. package/lib/context/global-context.js +1 -1
  9. package/lib/hooks/useChatManager/useChatManager.js +58 -49
  10. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  11. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +4 -3
  12. package/lib/hooks/useProjectSummaryConfig.js +36 -17
  13. package/lib/hooks/useReasoningTrace/index.js +3 -0
  14. package/lib/hooks/useReasoningTrace/reasoningStore.js +142 -0
  15. package/lib/hooks/useReasoningTrace/useReasoningTrace.js +14 -0
  16. package/lib/lang/br/index.js +235 -31
  17. package/lib/lang/en/index.js +235 -31
  18. package/lib/lang/es/index.js +235 -31
  19. package/lib/lang/fr/index.js +235 -31
  20. package/lib/services/maia/Orchestrator/orchestrator.js +9 -7
  21. package/lib/services/utils/mapChatMessages.js +21 -18
  22. package/lib/store/sessions/sessionStreamManager.js +92 -51
  23. package/lib/store/sessions/sessions.types.js +1 -1
  24. package/lib/types/Chat.js +1 -1
  25. package/lib/types/reasoning.js +2 -0
  26. package/lib/utils/autoApproveStorage.js +26 -0
  27. package/lib/utils/hitlAnalytics.js +1 -35
  28. package/lib/utils/reasoningMappers.js +62 -0
  29. package/lib/utils/streamActivityMessages.js +106 -41
  30. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZU9yY2hlc3RyYXRvclN0cmVhbS91c2VPcmNoZXN0cmF0b3JTdHJlYW0uaW50ZXJmYWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB0eXBlIHsgTXV0YWJsZVJlZk9iamVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXBwcm92YWxSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB0eXBlIHsgSGl0bEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi91dGlscy9zdHJlYW1BY3Rpdml0eU1lc3NhZ2VzJ1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlZENvbnRleHQgPSB7XG4gIHByb2plY3RfaWQ6IG51bWJlciB8IG51bGxcbiAgcHJvamVjdF9uYW1lOiBzdHJpbmcgfCBudWxsXG4gIGNsaWVudF9pZDogbnVtYmVyIHwgbnVsbFxuICBjbGllbnRfbmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG4vKipcbiAqIENvbnRleHRvIGRlbCBzdHJlYW0gYWwgcXVlIHBlcnRlbmVjZSB1biBldmVudG8uIFBlcm1pdGUgcnV0ZWFyIGVsIHJlc3VsdGFkb1xuICogYSBsYSBzZXNpw7NuIGNvcnJlY3RhIGF1bnF1ZSBlbCB1c3VhcmlvIGVzdMOpIG1pcmFuZG8gb3RyYSAoY29uY3VycmVuY2lhKS5cbiAqL1xuZXhwb3J0IHR5cGUgU3RyZWFtQ29udGV4dCA9IHtcbiAgc2Vzc2lvbklkOiBzdHJpbmdcbiAgbWVzc2FnZUlkOiBzdHJpbmdcbiAgcGxhY2Vob2xkZXJJZDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFVzZU9yY2hlc3RyYXRvclN0cmVhbVByb3BzID0ge1xuICAvKiogU2VzacOzbiBxdWUgc2UgZXN0w6EgdmllbmRvOyBkZXRlcm1pbmEgZGUgcXXDqSBzZXNpw7NuIHNlIGxlZW4gbG9zIGZsYWdzIHJlYWN0aXZvcy4gKi9cbiAgYWN0aXZlU2Vzc2lvbklkOiBzdHJpbmdcbiAgb25TdHJlYW1VcGRhdGU/OiAoY3R4OiBTdHJlYW1Db250ZXh0LCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWRcbiAgb25GaW5pc2hTdHJlYW0/OiAoXG4gICAgY3R4OiBTdHJlYW1Db250ZXh0LFxuICAgIGNvbnRlbnQ6IHN0cmluZyxcbiAgICBzb3VyY2VzOiBhbnksXG4gICAgbWVtb3J5U2Vzc2lvbklkOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBhbnlbXSB8IG51bGwsXG4gICAgc3VnZ2VzdGlvbnM/OiBzdHJpbmdbXSB8IG51bGwsXG4gICAgLyoqIFRyYXMgYXByb2JhciBjcmVhdGVfYWdlbnQgZWwgYmFja2VuZCBwdWVkZSBlbnZpYXIgZWwgaWQgZW4gZWwgZXZlbnRvIGBjb21wbGV0ZWAgKi9cbiAgICBhZ2VudElkPzogc3RyaW5nIHwgbnVsbCxcbiAgICAvKiogQ29udGV4dG8gcmVzdWVsdG8gcG9yIGVsIHN1YmFnZW50ZSAocHJvamVjdF9pZCwgY2xpZW50X2lkLCBldGMuKSAqL1xuICAgIHJlc29sdmVkQ29udGV4dD86IFJlc29sdmVkQ29udGV4dCB8IG51bGxcbiAgKSA9PiB2b2lkXG4gIG9uU3RhcnRXcml0aW5nPzogKCkgPT4gdm9pZFxuICBvblN0b3A/OiAoKSA9PiB2b2lkXG4gIG9uRXJyb3I/OiAoY3R4OiBTdHJlYW1Db250ZXh0LCBlcnJvclR5cGU/OiBzdHJpbmcsIGVycm9yTWVzc2FnZT86IHN0cmluZykgPT4gdm9pZFxuICBvbkFwcHJvdmFsUmVxdWlyZWQ/OiAoY3R4OiBTdHJlYW1Db250ZXh0LCBhcHByb3ZhbDogQXBwcm92YWxSZXF1ZXN0LCBhY2N1bXVsYXRlZENvbnRlbnQ6IHN0cmluZykgPT4gdm9pZFxuICBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZj86IE11dGFibGVSZWZPYmplY3Q8SGl0bEV4ZWN1dGlvbkNvbnRleHQgfCBudWxsPlxufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZU9yY2hlc3RyYXRvclN0cmVhbS91c2VPcmNoZXN0cmF0b3JTdHJlYW0uaW50ZXJmYWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB0eXBlIHsgTXV0YWJsZVJlZk9iamVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXBwcm92YWxSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB0eXBlIHsgSGl0bEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi91dGlscy9zdHJlYW1BY3Rpdml0eU1lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBSZWFzb25pbmdUcmFjZVBheWxvYWQgfSBmcm9tICcuLi8uLi90eXBlcy9yZWFzb25pbmcnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVkQ29udGV4dCA9IHtcbiAgcHJvamVjdF9pZDogbnVtYmVyIHwgbnVsbFxuICBwcm9qZWN0X25hbWU6IHN0cmluZyB8IG51bGxcbiAgY2xpZW50X2lkOiBudW1iZXIgfCBudWxsXG4gIGNsaWVudF9uYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbi8qKlxuICogQ29udGV4dG8gZGVsIHN0cmVhbSBhbCBxdWUgcGVydGVuZWNlIHVuIGV2ZW50by4gUGVybWl0ZSBydXRlYXIgZWwgcmVzdWx0YWRvXG4gKiBhIGxhIHNlc2nDs24gY29ycmVjdGEgYXVucXVlIGVsIHVzdWFyaW8gZXN0w6kgbWlyYW5kbyBvdHJhIChjb25jdXJyZW5jaWEpLlxuICovXG5leHBvcnQgdHlwZSBTdHJlYW1Db250ZXh0ID0ge1xuICBzZXNzaW9uSWQ6IHN0cmluZ1xuICBtZXNzYWdlSWQ6IHN0cmluZ1xuICBwbGFjZWhvbGRlcklkOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMgPSB7XG4gIC8qKiBTZXNpw7NuIHF1ZSBzZSBlc3TDoSB2aWVuZG87IGRldGVybWluYSBkZSBxdcOpIHNlc2nDs24gc2UgbGVlbiBsb3MgZmxhZ3MgcmVhY3Rpdm9zLiAqL1xuICBhY3RpdmVTZXNzaW9uSWQ6IHN0cmluZ1xuICBvblN0cmVhbVVwZGF0ZT86IChjdHg6IFN0cmVhbUNvbnRleHQsIG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZFxuICBvbkZpbmlzaFN0cmVhbT86IChcbiAgICBjdHg6IFN0cmVhbUNvbnRleHQsXG4gICAgY29udGVudDogc3RyaW5nLFxuICAgIHNvdXJjZXM6IGFueSxcbiAgICBtZW1vcnlTZXNzaW9uSWQ6IHN0cmluZyxcbiAgICBhdHRhY2htZW50cz86IGFueVtdIHwgbnVsbCxcbiAgICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdIHwgbnVsbCxcbiAgICAvKiogVHJhcyBhcHJvYmFyIGNyZWF0ZV9hZ2VudCBlbCBiYWNrZW5kIHB1ZWRlIGVudmlhciBlbCBpZCBlbiBlbCBldmVudG8gYGNvbXBsZXRlYCAqL1xuICAgIGFnZW50SWQ/OiBzdHJpbmcgfCBudWxsLFxuICAgIC8qKiBDb250ZXh0byByZXN1ZWx0byBwb3IgZWwgc3ViYWdlbnRlIChwcm9qZWN0X2lkLCBjbGllbnRfaWQsIGV0Yy4pICovXG4gICAgcmVzb2x2ZWRDb250ZXh0PzogUmVzb2x2ZWRDb250ZXh0IHwgbnVsbCxcbiAgICByZWFzb25pbmc/OiBSZWFzb25pbmdUcmFjZVBheWxvYWQgfCBudWxsXG4gICkgPT4gdm9pZFxuICBvblN0YXJ0V3JpdGluZz86ICgpID0+IHZvaWRcbiAgb25TdG9wPzogKCkgPT4gdm9pZFxuICBvbkVycm9yPzogKGN0eDogU3RyZWFtQ29udGV4dCwgZXJyb3JUeXBlPzogc3RyaW5nLCBlcnJvck1lc3NhZ2U/OiBzdHJpbmcpID0+IHZvaWRcbiAgb25BcHByb3ZhbFJlcXVpcmVkPzogKGN0eDogU3RyZWFtQ29udGV4dCwgYXBwcm92YWw6IEFwcHJvdmFsUmVxdWVzdCwgYWNjdW11bGF0ZWRDb250ZW50OiBzdHJpbmcpID0+IHZvaWRcbiAgaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWY/OiBNdXRhYmxlUmVmT2JqZWN0PEhpdGxFeGVjdXRpb25Db250ZXh0IHwgbnVsbD5cbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -81,7 +81,8 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
81
81
  agentName: payload.agentName,
82
82
  agentId: payload.agentId,
83
83
  isWebSearchActive: payload.isWebSearchActive,
84
- isDeepSearchActive: payload.isDeepSearchActive
84
+ isDeepSearchActive: payload.isDeepSearchActive,
85
+ isAutoApproveActive: payload.isAutoApproveActive
85
86
  }, payload.projectId ? {
86
87
  projectId: payload.projectId
87
88
  } : {}), payload.attachments ? {
@@ -136,7 +137,7 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
136
137
  },
137
138
  onFinishStream: function onFinishStream(finishPayload) {
138
139
  var _onFinishStreamRef$cu;
139
- return (_onFinishStreamRef$cu = onFinishStreamRef.current) === null || _onFinishStreamRef$cu === void 0 ? void 0 : _onFinishStreamRef$cu.call(onFinishStreamRef, ctx, finishPayload.content, finishPayload.sources, finishPayload.memorySessionId, finishPayload.attachments, finishPayload.suggestions, finishPayload.completedAgentId, finishPayload.resolvedContext);
140
+ return (_onFinishStreamRef$cu = onFinishStreamRef.current) === null || _onFinishStreamRef$cu === void 0 ? void 0 : _onFinishStreamRef$cu.call(onFinishStreamRef, ctx, finishPayload.content, finishPayload.sources, finishPayload.memorySessionId, finishPayload.attachments, finishPayload.suggestions, finishPayload.completedAgentId, finishPayload.resolvedContext, finishPayload.reasoning);
140
141
  },
141
142
  onError: function onError(errorType, errorMessage) {
142
143
  var _onErrorRef$current;
@@ -191,4 +192,4 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
191
192
  abortStreamSilently: abortStreamSilently
192
193
  };
193
194
  };
194
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJzZXNzaW9uU3RyZWFtTWFuYWdlciIsInVzZVNlc3Npb25zU3RvcmUiLCJ1c2VTZXNzaW9uU3RyZWFtU3RhdGUiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwiYWN0aXZlU2Vzc2lvbklkIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsImhpdGxFeGVjdXRpb25Db250ZXh0UmVmIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTZXNzaW9uU3RyZWFtU3RhdCIsImlzTG9hZGluZyIsImlzV3JpdGluZyIsImxvYWRpbmdNZXNzYWdlIiwic3RyZWFtQWN0aXZpdHkiLCJvblN0cmVhbVVwZGF0ZVJlZiIsIm9uRmluaXNoU3RyZWFtUmVmIiwib25TdGFydFdyaXRpbmdSZWYiLCJvblN0b3BSZWYiLCJvbkVycm9yUmVmIiwib25BcHByb3ZhbFJlcXVpcmVkUmVmIiwiY3VycmVudCIsImFza01haWEiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicGF5bG9hZCIsIl9wYXlsb2FkJGF0dGFjaG1lbnRzIiwiX3BheWxvYWQkYXR0YWNobWVudHMkIiwiX3BheWxvYWQkYXR0YWNobWVudHMyIiwiX2hpdGxFeGVjdXRpb25Db250ZXh0Iiwic2Vzc2lvbklkIiwibWVzc2FnZUlkIiwicGxhY2Vob2xkZXJJZCIsImN0eCIsInJlcXVlc3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNoYXRJZCIsImNvbmNhdCIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dCIsIm1lc3NhZ2UiLCJoaXN0b3J5IiwibGFuZyIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY29tcGFueUlkIiwiY2xpZW50SWQiLCJmZWVJZCIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInByb2plY3RJZCIsImF0dGFjaG1lbnRzIiwicHJvamVjdE5hbWUiLCJjbGllbnROYW1lIiwidGFza0lkIiwidGFza05hbWUiLCJmYXFJZCIsImFnZW50U3VnZ2VzdGlvbklkIiwiZnVhSWQiLCJzY0lkIiwiYWdlbnRFbnRpdHkiLCJhZ2VudFR5cGUiLCJjb250ZXh0TWVzc2FnZSIsImNvbnRleHREYXRhIiwiYWJydXB0Iiwic3RhcnRTdHJlYW0iLCJhY3Rpdml0eU9wdGlvbnMiLCJoYXNBdHRhY2htZW50cyIsIkJvb2xlYW4iLCJsZW5ndGgiLCJhdHRhY2htZW50c0NvdW50IiwiaGl0bEV4ZWN1dGlvbkNvbnRleHQiLCJjYWxsYmFja3MiLCJjb250ZW50IiwiX29uU3RyZWFtVXBkYXRlUmVmJGN1IiwiY2FsbCIsIl9vblN0YXJ0V3JpdGluZ1JlZiRjdSIsImZpbmlzaFBheWxvYWQiLCJfb25GaW5pc2hTdHJlYW1SZWYkY3UiLCJzb3VyY2VzIiwibWVtb3J5U2Vzc2lvbklkIiwic3VnZ2VzdGlvbnMiLCJjb21wbGV0ZWRBZ2VudElkIiwicmVzb2x2ZWRDb250ZXh0IiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlIiwiX29uRXJyb3JSZWYkY3VycmVudCIsImFwcHJvdmFsIiwiYWNjdW11bGF0ZWRDb250ZW50IiwiX29uQXBwcm92YWxSZXF1aXJlZFJlIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJzdG9wU3RyZWFtaW5nIiwic3RvcFN0cmVhbSIsIl9vblN0b3BSZWYkY3VycmVudCIsImFib3J0U3RyZWFtU2lsZW50bHkiLCJhYm9ydFNpbGVudGx5IiwidXBkYXRlU3RyZWFtQWN0aXZpdHkiLCJhY3Rpdml0eSIsImdldFN0YXRlIiwic2V0QWN0aXZpdHkiLCJyZXNldCIsInBhdGNoTWV0YSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VPcmNoZXN0cmF0b3JTdHJlYW0vdXNlT3JjaGVzdHJhdG9yU3RyZWFtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgQ2hhdEhpc3RvcnkgfSBmcm9tICcuLi8uLi90eXBlcy9DaGF0J1xuaW1wb3J0IHsgQWdlbnRFbnRpdHksIEFnZW50VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ29udGV4dE1lc3NhZ2UgfSBmcm9tICcuLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IFVzZU9yY2hlc3RyYXRvclN0cmVhbVByb3BzLCBTdHJlYW1Db250ZXh0IH0gZnJvbSAnLi91c2VPcmNoZXN0cmF0b3JTdHJlYW0uaW50ZXJmYWNlJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBTdHJlYW1BY3Rpdml0eSB9IGZyb20gJy4uLy4uL3R5cGVzL3N0cmVhbUFjdGl2aXR5J1xuaW1wb3J0IHsgc2Vzc2lvblN0cmVhbU1hbmFnZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9zZXNzaW9ucy9zZXNzaW9uU3RyZWFtTWFuYWdlcidcbmltcG9ydCB7IHVzZVNlc3Npb25zU3RvcmUgfSBmcm9tICcuLi8uLi9zdG9yZS9zZXNzaW9ucy91c2VTZXNzaW9uc1N0b3JlJ1xuaW1wb3J0IHsgdXNlU2Vzc2lvblN0cmVhbVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvdXNlU2Vzc2lvbk1ldGEnXG5pbXBvcnQgdHlwZSB7IFN0YXJ0U3RyZWFtUmVzdWx0IH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvc2Vzc2lvbnMudHlwZXMnXG5cbnR5cGUgQXNrTWFpYVBheWxvYWQgPSB7XG4gIG1lc3NhZ2U6IHN0cmluZ1xuICBoaXN0b3J5OiBDaGF0SGlzdG9yeVtdXG4gIHByb2plY3RJZDogbnVtYmVyIHwgbnVsbFxuICBsYW5nOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgZmlyc3ROYW1lPzogc3RyaW5nXG4gIGxhc3ROYW1lPzogc3RyaW5nXG4gIGNvbXBhbnlJZDogc3RyaW5nXG4gIGNoYXRJZDogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/OiBzdHJpbmdcbiAgZmVlSWQ/OiBudW1iZXJcbiAgYWdlbnROYW1lOiBzdHJpbmdcbiAgYWdlbnRJZDogc3RyaW5nXG4gIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0TmFtZT86IHN0cmluZ1xuICB0YXNrSWQ/OiBudW1iZXJcbiAgdGFza05hbWU/OiBzdHJpbmdcbiAgZmFxSWQ/OiBzdHJpbmdcbiAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmdcbiAgZnVhSWQ/OiBzdHJpbmdcbiAgc2NJZD86IHN0cmluZ1xuICBhZ2VudEVudGl0eT86IEFnZW50RW50aXR5XG4gIGFnZW50VHlwZT86IEFnZW50VHlwZVxuICBhZ2VudEVtb2ppPzogc3RyaW5nIHwgbnVsbFxuICBjb250ZXh0TWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG4gIGNvbnRleHREYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuLyoqXG4gKiBBZGFwdGVyIHNvYnJlIGBzZXNzaW9uU3RyZWFtTWFuYWdlcmAuIE1hbnRpZW5lIGxhIEFQSSBww7pibGljYSBoaXN0w7NyaWNhXG4gKiAoYGFza01haWFgLCBgaXNMb2FkaW5nYCwgYGlzV3JpdGluZ2AsIGBzdG9wU3RyZWFtaW5nYCwgZXRjLikgcGVybyBhaG9yYSBlbFxuICogbW90b3IgZGUgc3RyZWFtaW5nIHZpdmUgZW4gZWwgbWFuYWdlciAobW9kdWxlLWxldmVsKSwgbG8gcXVlIHBlcm1pdGUgdGVuZXJcbiAqIHZhcmlhcyBzZXNpb25lcyBnZW5lcmFuZG8gYSBsYSB2ZXogeSBxdWUgc29icmV2aXZhbiBhIGNhbWJpb3MgZGUgdmlzdGEuXG4gKlxuICogTG9zIGZsYWdzIHJlYWN0aXZvcyAoYGlzTG9hZGluZ2AvYGlzV3JpdGluZ2AvYHN0cmVhbUFjdGl2aXR5YCkgc2UgbGVlbiBkZWxcbiAqIHN0b3JlIHBhcmEgbGEgc2VzacOzbiBhY3R1YWxtZW50ZSBhY3RpdmEgKGBhY3RpdmVTZXNzaW9uSWRgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZU9yY2hlc3RyYXRvclN0cmVhbSA9ICh7XG4gIGFjdGl2ZVNlc3Npb25JZCxcbiAgb25TdHJlYW1VcGRhdGUsXG4gIG9uRmluaXNoU3RyZWFtLFxuICBvblN0YXJ0V3JpdGluZyxcbiAgb25TdG9wLFxuICBvbkVycm9yLFxuICBvbkFwcHJvdmFsUmVxdWlyZWQsXG4gIGhpdGxFeGVjdXRpb25Db250ZXh0UmVmLFxufTogVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcblxuICBjb25zdCB7IGlzTG9hZGluZywgaXNXcml0aW5nLCBsb2FkaW5nTWVzc2FnZSwgc3RyZWFtQWN0aXZpdHkgfSA9IHVzZVNlc3Npb25TdHJlYW1TdGF0ZShhY3RpdmVTZXNzaW9uSWQpXG5cbiAgY29uc3Qgb25TdHJlYW1VcGRhdGVSZWYgPSB1c2VSZWYob25TdHJlYW1VcGRhdGUpXG4gIGNvbnN0IG9uRmluaXNoU3RyZWFtUmVmID0gdXNlUmVmKG9uRmluaXNoU3RyZWFtKVxuICBjb25zdCBvblN0YXJ0V3JpdGluZ1JlZiA9IHVzZVJlZihvblN0YXJ0V3JpdGluZylcbiAgY29uc3Qgb25TdG9wUmVmID0gdXNlUmVmKG9uU3RvcClcbiAgY29uc3Qgb25FcnJvclJlZiA9IHVzZVJlZihvbkVycm9yKVxuICBjb25zdCBvbkFwcHJvdmFsUmVxdWlyZWRSZWYgPSB1c2VSZWYob25BcHByb3ZhbFJlcXVpcmVkKVxuXG4gIG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQgPSBvblN0cmVhbVVwZGF0ZVxuICBvbkZpbmlzaFN0cmVhbVJlZi5jdXJyZW50ID0gb25GaW5pc2hTdHJlYW1cbiAgb25TdGFydFdyaXRpbmdSZWYuY3VycmVudCA9IG9uU3RhcnRXcml0aW5nXG4gIG9uU3RvcFJlZi5jdXJyZW50ID0gb25TdG9wXG4gIG9uRXJyb3JSZWYuY3VycmVudCA9IG9uRXJyb3JcbiAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQgPSBvbkFwcHJvdmFsUmVxdWlyZWRcblxuICBjb25zdCBhc2tNYWlhID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IEFza01haWFQYXlsb2FkKTogUHJvbWlzZTxTdGFydFN0cmVhbVJlc3VsdD4gPT4ge1xuICAgICAgY29uc3QgeyBjaGF0SWQ6IHNlc3Npb25JZCwgbWVzc2FnZUlkIH0gPSBwYXlsb2FkXG4gICAgICBjb25zdCBwbGFjZWhvbGRlcklkID0gYGFuc3dlci0ke21lc3NhZ2VJZH0tc3RyZWFtaW5nYFxuICAgICAgY29uc3QgY3R4OiBTdHJlYW1Db250ZXh0ID0geyBzZXNzaW9uSWQsIG1lc3NhZ2VJZCwgcGxhY2Vob2xkZXJJZCB9XG5cbiAgICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICAgIGlucHV0OiBwYXlsb2FkLm1lc3NhZ2UsXG4gICAgICAgIGhpc3Rvcnk6IHBheWxvYWQuaGlzdG9yeSxcbiAgICAgICAgbGFuZzogcGF5bG9hZC5sYW5nLFxuICAgICAgICB1c2VySWQ6IHBheWxvYWQudXNlcklkLFxuICAgICAgICAuLi4ocGF5bG9hZC5maXJzdE5hbWUgPyB7IGZpcnN0TmFtZTogcGF5bG9hZC5maXJzdE5hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQubGFzdE5hbWUgPyB7IGxhc3ROYW1lOiBwYXlsb2FkLmxhc3ROYW1lIH0gOiB7fSksXG4gICAgICAgIGNvbXBhbnlJZDogcGF5bG9hZC5jb21wYW55SWQsXG4gICAgICAgIGNoYXRJZDogcGF5bG9hZC5jaGF0SWQsXG4gICAgICAgIG1lc3NhZ2VJZDogcGF5bG9hZC5tZXNzYWdlSWQsXG4gICAgICAgIGNsaWVudElkOiBwYXlsb2FkLmNsaWVudElkLFxuICAgICAgICAuLi4ocGF5bG9hZC5mZWVJZCAhPSBudWxsID8geyBmZWVJZDogcGF5bG9hZC5mZWVJZCB9IDoge30pLFxuICAgICAgICBhZ2VudE5hbWU6IHBheWxvYWQuYWdlbnROYW1lLFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICAuLi4ocGF5bG9hZC5wcm9qZWN0SWQgPyB7IHByb2plY3RJZDogcGF5bG9hZC5wcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuYXR0YWNobWVudHMgPyB7IGF0dGFjaG1lbnRzOiBwYXlsb2FkLmF0dGFjaG1lbnRzIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLnByb2plY3ROYW1lID8geyBwcm9qZWN0TmFtZTogcGF5bG9hZC5wcm9qZWN0TmFtZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jbGllbnROYW1lID8geyBjbGllbnROYW1lOiBwYXlsb2FkLmNsaWVudE5hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQudGFza0lkICE9IG51bGwgPyB7IHRhc2tJZDogcGF5bG9hZC50YXNrSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQudGFza05hbWUgPyB7IHRhc2tOYW1lOiBwYXlsb2FkLnRhc2tOYW1lIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmZhcUlkID8geyBmYXFJZDogcGF5bG9hZC5mYXFJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudFN1Z2dlc3Rpb25JZCA/IHsgYWdlbnRTdWdnZXN0aW9uSWQ6IHBheWxvYWQuYWdlbnRTdWdnZXN0aW9uSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuZnVhSWQgPyB7IGZ1YUlkOiBwYXlsb2FkLmZ1YUlkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLnNjSWQgPyB7IHNjSWQ6IHBheWxvYWQuc2NJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudEVudGl0eSAhPSBudWxsID8geyBhZ2VudEVudGl0eTogcGF5bG9hZC5hZ2VudEVudGl0eSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudFR5cGUgIT0gbnVsbCA/IHsgYWdlbnRUeXBlOiBwYXlsb2FkLmFnZW50VHlwZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jb250ZXh0TWVzc2FnZSA/IHsgY29udGV4dE1lc3NhZ2U6IHBheWxvYWQuY29udGV4dE1lc3NhZ2UgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuY29udGV4dERhdGEgPyB7IGNvbnRleHREYXRhOiBwYXlsb2FkLmNvbnRleHREYXRhIH0gOiB7fSksXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdGFydFN0cmVhbSh7XG4gICAgICAgIHNlc3Npb25JZCxcbiAgICAgICAgcGxhY2Vob2xkZXJJZCxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgdCxcbiAgICAgICAgYWN0aXZpdHlPcHRpb25zOiB7XG4gICAgICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBoYXNBdHRhY2htZW50czogQm9vbGVhbihwYXlsb2FkLmF0dGFjaG1lbnRzPy5sZW5ndGgpLFxuICAgICAgICAgIGF0dGFjaG1lbnRzQ291bnQ6IHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCA/PyAwLFxuICAgICAgICB9LFxuICAgICAgICBoaXRsRXhlY3V0aW9uQ29udGV4dDogaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWY/LmN1cnJlbnQgPz8gbnVsbCxcbiAgICAgICAgYWdlbnRJZDogcGF5bG9hZC5hZ2VudElkLFxuICAgICAgICBhZ2VudE5hbWU6IHBheWxvYWQuYWdlbnROYW1lLFxuICAgICAgICBjYWxsYmFja3M6IHtcbiAgICAgICAgICBvblN0cmVhbVVwZGF0ZTogY29udGVudCA9PiBvblN0cmVhbVVwZGF0ZVJlZi5jdXJyZW50Py4oY3R4LCBjb250ZW50KSxcbiAgICAgICAgICBvblN0YXJ0V3JpdGluZzogKCkgPT4gb25TdGFydFdyaXRpbmdSZWYuY3VycmVudD8uKCksXG4gICAgICAgICAgb25GaW5pc2hTdHJlYW06IGZpbmlzaFBheWxvYWQgPT5cbiAgICAgICAgICAgIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQ/LihcbiAgICAgICAgICAgICAgY3R4LFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLmNvbnRlbnQsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuc291cmNlcyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5tZW1vcnlTZXNzaW9uSWQsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuYXR0YWNobWVudHMsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuc3VnZ2VzdGlvbnMsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29tcGxldGVkQWdlbnRJZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5yZXNvbHZlZENvbnRleHQgYXMgYW55XG4gICAgICAgICAgICApLFxuICAgICAgICAgIG9uRXJyb3I6IChlcnJvclR5cGUsIGVycm9yTWVzc2FnZSkgPT4gb25FcnJvclJlZi5jdXJyZW50Py4oY3R4LCBlcnJvclR5cGUsIGVycm9yTWVzc2FnZSksXG4gICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkOiAoYXBwcm92YWwsIGFjY3VtdWxhdGVkQ29udGVudCkgPT5cbiAgICAgICAgICAgIG9uQXBwcm92YWxSZXF1aXJlZFJlZi5jdXJyZW50Py4oY3R4LCBhcHByb3ZhbCwgYWNjdW11bGF0ZWRDb250ZW50KSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbdCwgaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWZdXG4gIClcblxuICBjb25zdCBzdG9wU3RyZWFtaW5nID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNlc3Npb25TdHJlYW1NYW5hZ2VyLnN0b3BTdHJlYW0oYWN0aXZlU2Vzc2lvbklkLCB7XG4gICAgICBvblN0b3A6ICgpID0+IG9uU3RvcFJlZi5jdXJyZW50Py4oKSxcbiAgICB9KVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICBjb25zdCBhYm9ydFN0cmVhbVNpbGVudGx5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNlc3Npb25TdHJlYW1NYW5hZ2VyLmFib3J0U2lsZW50bHkoYWN0aXZlU2Vzc2lvbklkKVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICBjb25zdCB1cGRhdGVTdHJlYW1BY3Rpdml0eSA9IHVzZUNhbGxiYWNrKFxuICAgIChhY3Rpdml0eTogU3RyZWFtQWN0aXZpdHkgfCBudWxsKSA9PiB7XG4gICAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkuc2V0QWN0aXZpdHkoYWN0aXZlU2Vzc2lvbklkLCBhY3Rpdml0eSlcbiAgICB9LFxuICAgIFthY3RpdmVTZXNzaW9uSWRdXG4gIClcblxuICBjb25zdCByZXNldCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkucGF0Y2hNZXRhKGFjdGl2ZVNlc3Npb25JZCwgeyBpc0xvYWRpbmc6IGZhbHNlLCBpc1dyaXRpbmc6IGZhbHNlIH0pXG4gICAgdXNlU2Vzc2lvbnNTdG9yZS5nZXRTdGF0ZSgpLnNldEFjdGl2aXR5KGFjdGl2ZVNlc3Npb25JZCwgbnVsbClcbiAgfSwgW2FjdGl2ZVNlc3Npb25JZF0pXG5cbiAgcmV0dXJuIHtcbiAgICBhc2tNYWlhLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1dyaXRpbmcsXG4gICAgbG9hZGluZ01lc3NhZ2UsXG4gICAgc3RyZWFtQWN0aXZpdHksXG4gICAgdXBkYXRlU3RyZWFtQWN0aXZpdHksXG4gICAgcmVzZXQsXG4gICAgc3RvcFN0cmVhbWluZyxcbiAgICBhYm9ydFN0cmVhbVNpbGVudGx5LFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQSxTQUFTQSxXQUFXLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBTTlDLFNBQVNDLFFBQVEsUUFBUSx3QkFBd0I7QUFFakQsU0FBU0Msb0JBQW9CLFFBQVEsMkNBQTJDO0FBQ2hGLFNBQVNDLGdCQUFnQixRQUFRLHVDQUF1QztBQUN4RSxTQUFTQyxxQkFBcUIsUUFBUSxxQ0FBcUM7QUFvQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUFxQkEsQ0FBQUMsSUFBQSxFQVNBO0VBQUEsSUFSaENDLGVBQWUsR0FBQUQsSUFBQSxDQUFmQyxlQUFlO0lBQ2ZDLGNBQWMsR0FBQUYsSUFBQSxDQUFkRSxjQUFjO0lBQ2RDLGNBQWMsR0FBQUgsSUFBQSxDQUFkRyxjQUFjO0lBQ2RDLGNBQWMsR0FBQUosSUFBQSxDQUFk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
195
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJzZXNzaW9uU3RyZWFtTWFuYWdlciIsInVzZVNlc3Npb25zU3RvcmUiLCJ1c2VTZXNzaW9uU3RyZWFtU3RhdGUiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwiYWN0aXZlU2Vzc2lvbklkIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsImhpdGxFeGVjdXRpb25Db250ZXh0UmVmIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTZXNzaW9uU3RyZWFtU3RhdCIsImlzTG9hZGluZyIsImlzV3JpdGluZyIsImxvYWRpbmdNZXNzYWdlIiwic3RyZWFtQWN0aXZpdHkiLCJvblN0cmVhbVVwZGF0ZVJlZiIsIm9uRmluaXNoU3RyZWFtUmVmIiwib25TdGFydFdyaXRpbmdSZWYiLCJvblN0b3BSZWYiLCJvbkVycm9yUmVmIiwib25BcHByb3ZhbFJlcXVpcmVkUmVmIiwiY3VycmVudCIsImFza01haWEiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicGF5bG9hZCIsIl9wYXlsb2FkJGF0dGFjaG1lbnRzIiwiX3BheWxvYWQkYXR0YWNobWVudHMkIiwiX3BheWxvYWQkYXR0YWNobWVudHMyIiwiX2hpdGxFeGVjdXRpb25Db250ZXh0Iiwic2Vzc2lvbklkIiwibWVzc2FnZUlkIiwicGxhY2Vob2xkZXJJZCIsImN0eCIsInJlcXVlc3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNoYXRJZCIsImNvbmNhdCIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dCIsIm1lc3NhZ2UiLCJoaXN0b3J5IiwibGFuZyIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY29tcGFueUlkIiwiY2xpZW50SWQiLCJmZWVJZCIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImlzQXV0b0FwcHJvdmVBY3RpdmUiLCJwcm9qZWN0SWQiLCJhdHRhY2htZW50cyIsInByb2plY3ROYW1lIiwiY2xpZW50TmFtZSIsInRhc2tJZCIsInRhc2tOYW1lIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsImZ1YUlkIiwic2NJZCIsImFnZW50RW50aXR5IiwiYWdlbnRUeXBlIiwiY29udGV4dE1lc3NhZ2UiLCJjb250ZXh0RGF0YSIsImFicnVwdCIsInN0YXJ0U3RyZWFtIiwiYWN0aXZpdHlPcHRpb25zIiwiaGFzQXR0YWNobWVudHMiLCJCb29sZWFuIiwibGVuZ3RoIiwiYXR0YWNobWVudHNDb3VudCIsImhpdGxFeGVjdXRpb25Db250ZXh0IiwiY2FsbGJhY2tzIiwiY29udGVudCIsIl9vblN0cmVhbVVwZGF0ZVJlZiRjdSIsImNhbGwiLCJfb25TdGFydFdyaXRpbmdSZWYkY3UiLCJmaW5pc2hQYXlsb2FkIiwiX29uRmluaXNoU3RyZWFtUmVmJGN1Iiwic291cmNlcyIsIm1lbW9yeVNlc3Npb25JZCIsInN1Z2dlc3Rpb25zIiwiY29tcGxldGVkQWdlbnRJZCIsInJlc29sdmVkQ29udGV4dCIsInJlYXNvbmluZyIsImVycm9yVHlwZSIsImVycm9yTWVzc2FnZSIsIl9vbkVycm9yUmVmJGN1cnJlbnQiLCJhcHByb3ZhbCIsImFjY3VtdWxhdGVkQ29udGVudCIsIl9vbkFwcHJvdmFsUmVxdWlyZWRSZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwic3RvcFN0cmVhbWluZyIsInN0b3BTdHJlYW0iLCJfb25TdG9wUmVmJGN1cnJlbnQiLCJhYm9ydFN0cmVhbVNpbGVudGx5IiwiYWJvcnRTaWxlbnRseSIsInVwZGF0ZVN0cmVhbUFjdGl2aXR5IiwiYWN0aXZpdHkiLCJnZXRTdGF0ZSIsInNldEFjdGl2aXR5IiwicmVzZXQiLCJwYXRjaE1ldGEiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlT3JjaGVzdHJhdG9yU3RyZWFtL3VzZU9yY2hlc3RyYXRvclN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IENoYXRIaXN0b3J5IH0gZnJvbSAnLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IEFnZW50RW50aXR5LCBBZ2VudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENvbnRleHRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcywgU3RyZWFtQ29udGV4dCB9IGZyb20gJy4vdXNlT3JjaGVzdHJhdG9yU3RyZWFtLmludGVyZmFjZSdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi8uLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB7IHNlc3Npb25TdHJlYW1NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvc2Vzc2lvblN0cmVhbU1hbmFnZXInXG5pbXBvcnQgeyB1c2VTZXNzaW9uc1N0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvdXNlU2Vzc2lvbnNTdG9yZSdcbmltcG9ydCB7IHVzZVNlc3Npb25TdHJlYW1TdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25NZXRhJ1xuaW1wb3J0IHR5cGUgeyBTdGFydFN0cmVhbVJlc3VsdCB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25zLnR5cGVzJ1xuXG50eXBlIEFza01haWFQYXlsb2FkID0ge1xuICBtZXNzYWdlOiBzdHJpbmdcbiAgaGlzdG9yeTogQ2hhdEhpc3RvcnlbXVxuICBwcm9qZWN0SWQ6IG51bWJlciB8IG51bGxcbiAgbGFuZzogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIGZpcnN0TmFtZT86IHN0cmluZ1xuICBsYXN0TmFtZT86IHN0cmluZ1xuICBjb21wYW55SWQ6IHN0cmluZ1xuICBjaGF0SWQ6IHN0cmluZ1xuICBtZXNzYWdlSWQ6IHN0cmluZ1xuICBjbGllbnRJZD86IG51bWJlclxuICBjbGllbnROYW1lPzogc3RyaW5nXG4gIGZlZUlkPzogbnVtYmVyXG4gIGFnZW50TmFtZTogc3RyaW5nXG4gIGFnZW50SWQ6IHN0cmluZ1xuICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgaXNEZWVwU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0F1dG9BcHByb3ZlQWN0aXZlPzogYm9vbGVhblxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgdGFza0lkPzogbnVtYmVyXG4gIHRhc2tOYW1lPzogc3RyaW5nXG4gIGZhcUlkPzogc3RyaW5nXG4gIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nXG4gIGZ1YUlkPzogc3RyaW5nXG4gIHNjSWQ/OiBzdHJpbmdcbiAgYWdlbnRFbnRpdHk/OiBBZ2VudEVudGl0eVxuICBhZ2VudFR5cGU/OiBBZ2VudFR5cGVcbiAgYWdlbnRFbW9qaT86IHN0cmluZyB8IG51bGxcbiAgY29udGV4dE1lc3NhZ2U/OiBDb250ZXh0TWVzc2FnZVxuICBjb250ZXh0RGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbi8qKlxuICogQWRhcHRlciBzb2JyZSBgc2Vzc2lvblN0cmVhbU1hbmFnZXJgLiBNYW50aWVuZSBsYSBBUEkgcMO6YmxpY2EgaGlzdMOzcmljYVxuICogKGBhc2tNYWlhYCwgYGlzTG9hZGluZ2AsIGBpc1dyaXRpbmdgLCBgc3RvcFN0cmVhbWluZ2AsIGV0Yy4pIHBlcm8gYWhvcmEgZWxcbiAqIG1vdG9yIGRlIHN0cmVhbWluZyB2aXZlIGVuIGVsIG1hbmFnZXIgKG1vZHVsZS1sZXZlbCksIGxvIHF1ZSBwZXJtaXRlIHRlbmVyXG4gKiB2YXJpYXMgc2VzaW9uZXMgZ2VuZXJhbmRvIGEgbGEgdmV6IHkgcXVlIHNvYnJldml2YW4gYSBjYW1iaW9zIGRlIHZpc3RhLlxuICpcbiAqIExvcyBmbGFncyByZWFjdGl2b3MgKGBpc0xvYWRpbmdgL2Bpc1dyaXRpbmdgL2BzdHJlYW1BY3Rpdml0eWApIHNlIGxlZW4gZGVsXG4gKiBzdG9yZSBwYXJhIGxhIHNlc2nDs24gYWN0dWFsbWVudGUgYWN0aXZhIChgYWN0aXZlU2Vzc2lvbklkYCkuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VPcmNoZXN0cmF0b3JTdHJlYW0gPSAoe1xuICBhY3RpdmVTZXNzaW9uSWQsXG4gIG9uU3RyZWFtVXBkYXRlLFxuICBvbkZpbmlzaFN0cmVhbSxcbiAgb25TdGFydFdyaXRpbmcsXG4gIG9uU3RvcCxcbiAgb25FcnJvcixcbiAgb25BcHByb3ZhbFJlcXVpcmVkLFxuICBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZixcbn06IFVzZU9yY2hlc3RyYXRvclN0cmVhbVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG5cbiAgY29uc3QgeyBpc0xvYWRpbmcsIGlzV3JpdGluZywgbG9hZGluZ01lc3NhZ2UsIHN0cmVhbUFjdGl2aXR5IH0gPSB1c2VTZXNzaW9uU3RyZWFtU3RhdGUoYWN0aXZlU2Vzc2lvbklkKVxuXG4gIGNvbnN0IG9uU3RyZWFtVXBkYXRlUmVmID0gdXNlUmVmKG9uU3RyZWFtVXBkYXRlKVxuICBjb25zdCBvbkZpbmlzaFN0cmVhbVJlZiA9IHVzZVJlZihvbkZpbmlzaFN0cmVhbSlcbiAgY29uc3Qgb25TdGFydFdyaXRpbmdSZWYgPSB1c2VSZWYob25TdGFydFdyaXRpbmcpXG4gIGNvbnN0IG9uU3RvcFJlZiA9IHVzZVJlZihvblN0b3ApXG4gIGNvbnN0IG9uRXJyb3JSZWYgPSB1c2VSZWYob25FcnJvcilcbiAgY29uc3Qgb25BcHByb3ZhbFJlcXVpcmVkUmVmID0gdXNlUmVmKG9uQXBwcm92YWxSZXF1aXJlZClcblxuICBvblN0cmVhbVVwZGF0ZVJlZi5jdXJyZW50ID0gb25TdHJlYW1VcGRhdGVcbiAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudCA9IG9uRmluaXNoU3RyZWFtXG4gIG9uU3RhcnRXcml0aW5nUmVmLmN1cnJlbnQgPSBvblN0YXJ0V3JpdGluZ1xuICBvblN0b3BSZWYuY3VycmVudCA9IG9uU3RvcFxuICBvbkVycm9yUmVmLmN1cnJlbnQgPSBvbkVycm9yXG4gIG9uQXBwcm92YWxSZXF1aXJlZFJlZi5jdXJyZW50ID0gb25BcHByb3ZhbFJlcXVpcmVkXG5cbiAgY29uc3QgYXNrTWFpYSA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiBBc2tNYWlhUGF5bG9hZCk6IFByb21pc2U8U3RhcnRTdHJlYW1SZXN1bHQ+ID0+IHtcbiAgICAgIGNvbnN0IHsgY2hhdElkOiBzZXNzaW9uSWQsIG1lc3NhZ2VJZCB9ID0gcGF5bG9hZFxuICAgICAgY29uc3QgcGxhY2Vob2xkZXJJZCA9IGBhbnN3ZXItJHttZXNzYWdlSWR9LXN0cmVhbWluZ2BcbiAgICAgIGNvbnN0IGN0eDogU3RyZWFtQ29udGV4dCA9IHsgc2Vzc2lvbklkLCBtZXNzYWdlSWQsIHBsYWNlaG9sZGVySWQgfVxuXG4gICAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgICBpbnB1dDogcGF5bG9hZC5tZXNzYWdlLFxuICAgICAgICBoaXN0b3J5OiBwYXlsb2FkLmhpc3RvcnksXG4gICAgICAgIGxhbmc6IHBheWxvYWQubGFuZyxcbiAgICAgICAgdXNlcklkOiBwYXlsb2FkLnVzZXJJZCxcbiAgICAgICAgLi4uKHBheWxvYWQuZmlyc3ROYW1lID8geyBmaXJzdE5hbWU6IHBheWxvYWQuZmlyc3ROYW1lIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmxhc3ROYW1lID8geyBsYXN0TmFtZTogcGF5bG9hZC5sYXN0TmFtZSB9IDoge30pLFxuICAgICAgICBjb21wYW55SWQ6IHBheWxvYWQuY29tcGFueUlkLFxuICAgICAgICBjaGF0SWQ6IHBheWxvYWQuY2hhdElkLFxuICAgICAgICBtZXNzYWdlSWQ6IHBheWxvYWQubWVzc2FnZUlkLFxuICAgICAgICBjbGllbnRJZDogcGF5bG9hZC5jbGllbnRJZCxcbiAgICAgICAgLi4uKHBheWxvYWQuZmVlSWQgIT0gbnVsbCA/IHsgZmVlSWQ6IHBheWxvYWQuZmVlSWQgfSA6IHt9KSxcbiAgICAgICAgYWdlbnROYW1lOiBwYXlsb2FkLmFnZW50TmFtZSxcbiAgICAgICAgYWdlbnRJZDogcGF5bG9hZC5hZ2VudElkLFxuICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgICAgaXNBdXRvQXBwcm92ZUFjdGl2ZTogcGF5bG9hZC5pc0F1dG9BcHByb3ZlQWN0aXZlLFxuICAgICAgICAuLi4ocGF5bG9hZC5wcm9qZWN0SWQgPyB7IHByb2plY3RJZDogcGF5bG9hZC5wcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuYXR0YWNobWVudHMgPyB7IGF0dGFjaG1lbnRzOiBwYXlsb2FkLmF0dGFjaG1lbnRzIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLnByb2plY3ROYW1lID8geyBwcm9qZWN0TmFtZTogcGF5bG9hZC5wcm9qZWN0TmFtZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jbGllbnROYW1lID8geyBjbGllbnROYW1lOiBwYXlsb2FkLmNsaWVudE5hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQudGFza0lkICE9IG51bGwgPyB7IHRhc2tJZDogcGF5bG9hZC50YXNrSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQudGFza05hbWUgPyB7IHRhc2tOYW1lOiBwYXlsb2FkLnRhc2tOYW1lIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmZhcUlkID8geyBmYXFJZDogcGF5bG9hZC5mYXFJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudFN1Z2dlc3Rpb25JZCA/IHsgYWdlbnRTdWdnZXN0aW9uSWQ6IHBheWxvYWQuYWdlbnRTdWdnZXN0aW9uSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuZnVhSWQgPyB7IGZ1YUlkOiBwYXlsb2FkLmZ1YUlkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLnNjSWQgPyB7IHNjSWQ6IHBheWxvYWQuc2NJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudEVudGl0eSAhPSBudWxsID8geyBhZ2VudEVudGl0eTogcGF5bG9hZC5hZ2VudEVudGl0eSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudFR5cGUgIT0gbnVsbCA/IHsgYWdlbnRUeXBlOiBwYXlsb2FkLmFnZW50VHlwZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jb250ZXh0TWVzc2FnZSA/IHsgY29udGV4dE1lc3NhZ2U6IHBheWxvYWQuY29udGV4dE1lc3NhZ2UgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuY29udGV4dERhdGEgPyB7IGNvbnRleHREYXRhOiBwYXlsb2FkLmNvbnRleHREYXRhIH0gOiB7fSksXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdGFydFN0cmVhbSh7XG4gICAgICAgIHNlc3Npb25JZCxcbiAgICAgICAgcGxhY2Vob2xkZXJJZCxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgdCxcbiAgICAgICAgYWN0aXZpdHlPcHRpb25zOiB7XG4gICAgICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBoYXNBdHRhY2htZW50czogQm9vbGVhbihwYXlsb2FkLmF0dGFjaG1lbnRzPy5sZW5ndGgpLFxuICAgICAgICAgIGF0dGFjaG1lbnRzQ291bnQ6IHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCA/PyAwLFxuICAgICAgICB9LFxuICAgICAgICBoaXRsRXhlY3V0aW9uQ29udGV4dDogaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWY/LmN1cnJlbnQgPz8gbnVsbCxcbiAgICAgICAgYWdlbnRJZDogcGF5bG9hZC5hZ2VudElkLFxuICAgICAgICBhZ2VudE5hbWU6IHBheWxvYWQuYWdlbnROYW1lLFxuICAgICAgICBjYWxsYmFja3M6IHtcbiAgICAgICAgICBvblN0cmVhbVVwZGF0ZTogY29udGVudCA9PiBvblN0cmVhbVVwZGF0ZVJlZi5jdXJyZW50Py4oY3R4LCBjb250ZW50KSxcbiAgICAgICAgICBvblN0YXJ0V3JpdGluZzogKCkgPT4gb25TdGFydFdyaXRpbmdSZWYuY3VycmVudD8uKCksXG4gICAgICAgICAgb25GaW5pc2hTdHJlYW06IGZpbmlzaFBheWxvYWQgPT5cbiAgICAgICAgICAgIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQ/LihcbiAgICAgICAgICAgICAgY3R4LFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLmNvbnRlbnQsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuc291cmNlcyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5tZW1vcnlTZXNzaW9uSWQsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuYXR0YWNobWVudHMsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuc3VnZ2VzdGlvbnMsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29tcGxldGVkQWdlbnRJZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5yZXNvbHZlZENvbnRleHQgYXMgYW55LFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnJlYXNvbmluZ1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICBvbkVycm9yOiAoZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2UpID0+IG9uRXJyb3JSZWYuY3VycmVudD8uKGN0eCwgZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2UpLFxuICAgICAgICAgIG9uQXBwcm92YWxSZXF1aXJlZDogKGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpID0+XG4gICAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudD8uKGN0eCwgYXBwcm92YWwsIGFjY3VtdWxhdGVkQ29udGVudCksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW3QsIGhpdGxFeGVjdXRpb25Db250ZXh0UmVmXVxuICApXG5cbiAgY29uc3Qgc3RvcFN0cmVhbWluZyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdG9wU3RyZWFtKGFjdGl2ZVNlc3Npb25JZCwge1xuICAgICAgb25TdG9wOiAoKSA9PiBvblN0b3BSZWYuY3VycmVudD8uKCksXG4gICAgfSlcbiAgfSwgW2FjdGl2ZVNlc3Npb25JZF0pXG5cbiAgY29uc3QgYWJvcnRTdHJlYW1TaWxlbnRseSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXNzaW9uU3RyZWFtTWFuYWdlci5hYm9ydFNpbGVudGx5KGFjdGl2ZVNlc3Npb25JZClcbiAgfSwgW2FjdGl2ZVNlc3Npb25JZF0pXG5cbiAgY29uc3QgdXBkYXRlU3RyZWFtQWN0aXZpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAoYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCkgPT4ge1xuICAgICAgdXNlU2Vzc2lvbnNTdG9yZS5nZXRTdGF0ZSgpLnNldEFjdGl2aXR5KGFjdGl2ZVNlc3Npb25JZCwgYWN0aXZpdHkpXG4gICAgfSxcbiAgICBbYWN0aXZlU2Vzc2lvbklkXVxuICApXG5cbiAgY29uc3QgcmVzZXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXNlU2Vzc2lvbnNTdG9yZS5nZXRTdGF0ZSgpLnBhdGNoTWV0YShhY3RpdmVTZXNzaW9uSWQsIHsgaXNMb2FkaW5nOiBmYWxzZSwgaXNXcml0aW5nOiBmYWxzZSB9KVxuICAgIHVzZVNlc3Npb25zU3RvcmUuZ2V0U3RhdGUoKS5zZXRBY3Rpdml0eShhY3RpdmVTZXNzaW9uSWQsIG51bGwpXG4gIH0sIFthY3RpdmVTZXNzaW9uSWRdKVxuXG4gIHJldHVybiB7XG4gICAgYXNrTWFpYSxcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNXcml0aW5nLFxuICAgIGxvYWRpbmdNZXNzYWdlLFxuICAgIHN0cmVhbUFjdGl2aXR5LFxuICAgIHVwZGF0ZVN0cmVhbUFjdGl2aXR5LFxuICAgIHJlc2V0LFxuICAgIHN0b3BTdHJlYW1pbmcsXG4gICAgYWJvcnRTdHJlYW1TaWxlbnRseSxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0EsU0FBU0EsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUMzQyxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQU05QyxTQUFTQyxRQUFRLFFBQVEsd0JBQXdCO0FBRWpELFNBQVNDLG9CQUFvQixRQUFRLDJDQUEyQztBQUNoRixTQUFTQyxnQkFBZ0IsUUFBUSx1Q0FBdUM7QUFDeEUsU0FBU0MscUJBQXFCLFFBQVEscUNBQXFDO0FBcUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLHFCQUFxQixH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
@@ -4,6 +4,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  import { useCallback, useRef, useMemo, useState, useEffect } from 'react';
6
6
  import { SECTIONS } from '../constants/config';
7
+ import { readAutoApprove, writeAutoApprove } from '../utils/autoApproveStorage';
7
8
  import { buildConfigureSettingsItems } from '../constants/permissions';
8
9
  import { useUser } from '../context/cor-user';
9
10
  import { useTWithSection } from './useT';
@@ -33,27 +34,33 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
33
34
  _useState6 = _slicedToArray(_useState5, 2),
34
35
  isDeepSearchActive = _useState6[0],
35
36
  setIsDeepSearchActive = _useState6[1];
36
- var _useState7 = useState(entity || {
37
+ var _useState7 = useState(function () {
38
+ return readAutoApprove(user === null || user === void 0 ? void 0 : user.id);
39
+ }),
40
+ _useState8 = _slicedToArray(_useState7, 2),
41
+ isAutoApproveActive = _useState8[0],
42
+ setIsAutoApproveActive = _useState8[1];
43
+ var _useState9 = useState(entity || {
37
44
  projectId: null,
38
45
  clientId: null
39
46
  }),
40
- _useState8 = _slicedToArray(_useState7, 2),
41
- entityValues = _useState8[0],
42
- setEntityValues = _useState8[1];
43
- var _useState9 = useState(initialClient !== null && initialClient !== void 0 ? initialClient : null),
44
47
  _useState0 = _slicedToArray(_useState9, 2),
45
- client = _useState0[0],
46
- setClientState = _useState0[1];
47
- var setClient = setClientProp !== null && setClientProp !== void 0 ? setClientProp : setClientState;
48
- var _useState1 = useState(initialTask !== null && initialTask !== void 0 ? initialTask : null),
48
+ entityValues = _useState0[0],
49
+ setEntityValues = _useState0[1];
50
+ var _useState1 = useState(initialClient !== null && initialClient !== void 0 ? initialClient : null),
49
51
  _useState10 = _slicedToArray(_useState1, 2),
50
- task = _useState10[0],
51
- setTaskState = _useState10[1];
52
+ client = _useState10[0],
53
+ setClientState = _useState10[1];
54
+ var setClient = setClientProp !== null && setClientProp !== void 0 ? setClientProp : setClientState;
55
+ var _useState11 = useState(initialTask !== null && initialTask !== void 0 ? initialTask : null),
56
+ _useState12 = _slicedToArray(_useState11, 2),
57
+ task = _useState12[0],
58
+ setTaskState = _useState12[1];
52
59
  var setTask = useCallback(function (newTask) {
53
60
  return setTaskState(newTask);
54
61
  }, []);
55
62
  var configureSettingsItems = useRef(buildConfigureSettingsItems(user, t));
56
- var _useState11 = useState(function () {
63
+ var _useState13 = useState(function () {
57
64
  if ((section === 'project' || section === 'task') && (project === null || project === void 0 ? void 0 : project.id) != null) {
58
65
  var _project$client$name, _project$client;
59
66
  return {
@@ -64,9 +71,9 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
64
71
  }
65
72
  return null;
66
73
  }),
67
- _useState12 = _slicedToArray(_useState11, 2),
68
- chipsProject = _useState12[0],
69
- setChipsProjectState = _useState12[1];
74
+ _useState14 = _slicedToArray(_useState13, 2),
75
+ chipsProject = _useState14[0],
76
+ setChipsProjectState = _useState14[1];
70
77
 
71
78
  // Sincronizar chipsProject cuando el project prop cambia (ej. navegación entre proyectos o tareas)
72
79
  useEffect(function () {
@@ -131,6 +138,16 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
131
138
  return !prev;
132
139
  });
133
140
  }, []);
141
+ var toggleAutoApprove = useCallback(function () {
142
+ setIsAutoApproveActive(function (prev) {
143
+ var next = !prev;
144
+ writeAutoApprove(user === null || user === void 0 ? void 0 : user.id, next);
145
+ return next;
146
+ });
147
+ }, [user === null || user === void 0 ? void 0 : user.id]);
148
+ useEffect(function () {
149
+ setIsAutoApproveActive(readAutoApprove(user === null || user === void 0 ? void 0 : user.id));
150
+ }, [user === null || user === void 0 ? void 0 : user.id]);
134
151
  var setChipsProject = useCallback(function (newChipsProject) {
135
152
  setChipsProjectState(newChipsProject);
136
153
  }, []);
@@ -195,6 +212,8 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
195
212
  setTask: setTask,
196
213
  isWebSearchActive: isWebSearchActive,
197
214
  toggleWebSearch: toggleWebSearch,
215
+ isAutoApproveActive: isAutoApproveActive,
216
+ toggleAutoApprove: toggleAutoApprove,
198
217
  isDeepSearchActive: isDeepSearchActive,
199
218
  toggleDeepSearch: toggleDeepSearch,
200
219
  hasMultiAgents: hasMultiAgents,
@@ -202,10 +221,10 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
202
221
  setChipsProject: setChipsProject,
203
222
  pinnedContext: pinnedContext
204
223
  };
205
- }, [section, entityValues === null || entityValues === void 0 ? void 0 : entityValues.projectId, entityValues === null || entityValues === void 0 ? void 0 : entityValues.clientId, agent, selectAgent, clearAgent, setEntityValues, restoreConfigureSettings, project === null || project === void 0 ? void 0 : project.id, setProject, client === null || client === void 0 ? void 0 : client.id, setClient, task === null || task === void 0 ? void 0 : task.id, setTask, isWebSearchActive, toggleWebSearch, isDeepSearchActive, toggleDeepSearch, hasMultiAgents, chipsProject, setChipsProject, pinnedContext]);
224
+ }, [section, entityValues === null || entityValues === void 0 ? void 0 : entityValues.projectId, entityValues === null || entityValues === void 0 ? void 0 : entityValues.clientId, agent, selectAgent, clearAgent, setEntityValues, restoreConfigureSettings, project === null || project === void 0 ? void 0 : project.id, setProject, client === null || client === void 0 ? void 0 : client.id, setClient, task === null || task === void 0 ? void 0 : task.id, setTask, isWebSearchActive, toggleWebSearch, isAutoApproveActive, toggleAutoApprove, isDeepSearchActive, toggleDeepSearch, hasMultiAgents, chipsProject, setChipsProject, pinnedContext]);
206
225
  return {
207
226
  context: context,
208
227
  restoreConfigureSettings: restoreConfigureSettings
209
228
  };
210
229
  };
211
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwiYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwidXNlVXNlciIsInVzZVRXaXRoU2VjdGlvbiIsInVzZVByb2plY3RTdW1tYXJ5Q29uZmlnIiwiX3JlZiIsIl9wcm9qZWN0JGNsaWVudDMiLCJzZWN0aW9uIiwiZW50aXR5IiwicHJvamVjdCIsInNldFByb2plY3QiLCJfcmVmJGNsaWVudCIsImNsaWVudCIsImluaXRpYWxDbGllbnQiLCJzZXRDbGllbnRQcm9wIiwic2V0Q2xpZW50IiwiX3JlZiR0YXNrIiwidGFzayIsImluaXRpYWxUYXNrIiwiaGFzTXVsdGlBZ2VudHMiLCJ1c2VyIiwidCIsImNoYXRBSSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFnZW50Iiwic2V0QWdlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzV2ViU2VhcmNoQWN0aXZlIiwic2V0SXNXZWJTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInNldElzRGVlcFNlYXJjaEFjdGl2ZSIsIl91c2VTdGF0ZTciLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIl91c2VTdGF0ZTgiLCJlbnRpdHlWYWx1ZXMiLCJzZXRFbnRpdHlWYWx1ZXMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInNldENsaWVudFN0YXRlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2V0VGFza1N0YXRlIiwic2V0VGFzayIsIm5ld1Rhc2siLCJjb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwiX3VzZVN0YXRlMTEiLCJpZCIsIl9wcm9qZWN0JGNsaWVudCRuYW1lIiwiX3Byb2plY3QkY2xpZW50IiwiU3RyaW5nIiwicHJvamVjdE5hbWUiLCJuYW1lIiwiY2xpZW50TmFtZSIsIl91c2VTdGF0ZTEyIiwiY2hpcHNQcm9qZWN0Iiwic2V0Q2hpcHNQcm9qZWN0U3RhdGUiLCJwcmV2IiwiX3Byb2plY3QkY2xpZW50JG5hbWUyIiwiX3Byb2plY3QkY2xpZW50MiIsIl9lbnRpdHkkcHJvamVjdElkIiwiX2VudGl0eSRjbGllbnRJZCIsInJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyIsIl9jb25maWd1cmVTZXR0aW5nc0l0ZSIsImN1cnJlbnQiLCJtYXAiLCJpdGVtIiwiX29iamVjdFNwcmVhZCIsImNoZWNrZWQiLCJoaWRkZW4iLCJzZWxlY3RBZ2VudCIsIm5ld0FnZW50IiwiY2xlYXJBZ2VudCIsInRvZ2dsZVdlYlNlYXJjaCIsInRvZ2dsZURlZXBTZWFyY2giLCJzZXRDaGlwc1Byb2plY3QiLCJuZXdDaGlwc1Byb2plY3QiLCJwaW5uZWRDb250ZXh0IiwidHlwZSIsInBhcmVudHMiLCJjb250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVByb2plY3RTdW1tYXJ5Q29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgQ2hpcHNQcm9qZWN0LCBQaW5uZWRDb250ZXh0LCB0eXBlIFNlY3Rpb24gfSBmcm9tICcuLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Blcm1pc3Npb25zJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG5pbXBvcnQgeyB1c2VUV2l0aFNlY3Rpb24gfSBmcm9tICcuL3VzZVQnXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uL3R5cGVzL0NsaWVudCdcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi90eXBlcy9UYXNrJ1xuXG50eXBlIFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMgPSB7XG4gIHNlY3Rpb246ICdwcm9qZWN0JyB8ICdoZWFkZXInIHwgJ2NsaWVudCcgfCAndGFzaycgfCAncGxhbm5lcidcbiAgZW50aXR5Pzoge1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0gfCBudWxsXG4gIHByb2plY3Q6IFByb2plY3QgfCBudWxsXG4gIHNldFByb2plY3Q6IChwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbCkgPT4gdm9pZFxuICBjbGllbnQ/OiBDbGllbnQgfCBudWxsXG4gIHNldENsaWVudD86IChjbGllbnQ6IENsaWVudCB8IG51bGwpID0+IHZvaWRcbiAgdGFzaz86IFRhc2sgfCBudWxsXG4gIGhhc011bHRpQWdlbnRzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdXNlUHJvamVjdFN1bW1hcnlDb25maWcgPSAoe1xuICBzZWN0aW9uLFxuICBlbnRpdHksXG4gIHByb2plY3QsXG4gIHNldFByb2plY3QsXG4gIGNsaWVudDogaW5pdGlhbENsaWVudCA9IG51bGwsXG4gIHNldENsaWVudDogc2V0Q2xpZW50UHJvcCxcbiAgdGFzazogaW5pdGlhbFRhc2sgPSBudWxsLFxuICBoYXNNdWx0aUFnZW50cyxcbn06IFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB0ID0gdXNlVFdpdGhTZWN0aW9uKFNFQ1RJT05TLmNoYXRBSSlcbiAgY29uc3QgW2FnZW50LCBzZXRBZ2VudF0gPSB1c2VTdGF0ZTxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtpc1dlYlNlYXJjaEFjdGl2ZSwgc2V0SXNXZWJTZWFyY2hBY3RpdmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtpc0RlZXBTZWFyY2hBY3RpdmUsIHNldElzRGVlcFNlYXJjaEFjdGl2ZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgW2VudGl0eVZhbHVlcywgc2V0RW50aXR5VmFsdWVzXSA9IHVzZVN0YXRlPHtcbiAgICBwcm9qZWN0SWQ6IHN0cmluZyB8IG51bGxcbiAgICBjbGllbnRJZDogc3RyaW5nIHwgbnVsbFxuICB9PihlbnRpdHkgfHwgeyBwcm9qZWN0SWQ6IG51bGwsIGNsaWVudElkOiBudWxsIH0pXG4gIGNvbnN0IFtjbGllbnQsIHNldENsaWVudFN0YXRlXSA9IHVzZVN0YXRlPENsaWVudCB8IG51bGw+KGluaXRpYWxDbGllbnQgPz8gbnVsbClcblxuICBjb25zdCBzZXRDbGllbnQgPSBzZXRDbGllbnRQcm9wID8/IHNldENsaWVudFN0YXRlXG5cbiAgY29uc3QgW3Rhc2ssIHNldFRhc2tTdGF0ZV0gPSB1c2VTdGF0ZTxUYXNrIHwgbnVsbD4oaW5pdGlhbFRhc2sgPz8gbnVsbClcbiAgY29uc3Qgc2V0VGFzayA9IHVzZUNhbGxiYWNrKChuZXdUYXNrOiBUYXNrIHwgbnVsbCkgPT4gc2V0VGFza1N0YXRlKG5ld1Rhc2spLCBbXSlcblxuICBjb25zdCBjb25maWd1cmVTZXR0aW5nc0l0ZW1zID0gdXNlUmVmKGJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyh1c2VyLCB0KSlcbiAgY29uc3QgW2NoaXBzUHJvamVjdCwgc2V0Q2hpcHNQcm9qZWN0U3RhdGVdID0gdXNlU3RhdGU8Q2hpcHNQcm9qZWN0IHwgbnVsbD4oKCkgPT4ge1xuICAgIGlmICgoc2VjdGlvbiA9PT0gJ3Byb2plY3QnIHx8IHNlY3Rpb24gPT09ICd0YXNrJykgJiYgcHJvamVjdD8uaWQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvamVjdElkOiBTdHJpbmcocHJvamVjdC5pZCksXG4gICAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgIGNsaWVudE5hbWU6IHByb2plY3QuY2xpZW50Py5uYW1lID8/ICcnLFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9KVxuXG4gIC8vIFNpbmNyb25pemFyIGNoaXBzUHJvamVjdCBjdWFuZG8gZWwgcHJvamVjdCBwcm9wIGNhbWJpYSAoZWouIG5hdmVnYWNpw7NuIGVudHJlIHByb3llY3RvcyBvIHRhcmVhcylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAndGFzaycpICYmIHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHNldENoaXBzUHJvamVjdFN0YXRlKHByZXYgPT4ge1xuICAgICAgICBpZiAocHJldj8ucHJvamVjdElkID09PSBTdHJpbmcocHJvamVjdC5pZCkpIHJldHVybiBwcmV2XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvamVjdElkOiBTdHJpbmcocHJvamVjdC5pZCksXG4gICAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgICBjbGllbnROYW1lOiBwcm9qZWN0LmNsaWVudD8ubmFtZSA/PyAnJyxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBwcm9qZWN0Py5pZCwgcHJvamVjdD8ubmFtZSwgcHJvamVjdD8uY2xpZW50Py5uYW1lXSlcblxuICAvLyBTaW5jcm9uaXphciBjbGllbnQgY3VhbmRvIGxhIHByb3AgbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyIChlai4gc2VjdGlvbiBjbGllbnQsIGRhdG9zIGFzeW5jKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWN0aW9uID09PSAnY2xpZW50Jykge1xuICAgICAgc2V0Q2xpZW50U3RhdGUoaW5pdGlhbENsaWVudCA/PyBudWxsKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGluaXRpYWxDbGllbnRdKVxuXG4gIC8vIFNpbmNyb25pemFyIHRhc2sgY3VhbmRvIGxhIHByb3AgbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICd0YXNrJykge1xuICAgICAgc2V0VGFza1N0YXRlKGluaXRpYWxUYXNrID8/IG51bGwpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgaW5pdGlhbFRhc2tdKVxuXG4gIC8vIFNpbmNyb25pemFyIGVudGl0eVZhbHVlcyBjdWFuZG8gZW50aXR5IGNhbWJpZSAoZWouIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlcilcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW50aXR5ICE9IG51bGwpIHtcbiAgICAgIHNldEVudGl0eVZhbHVlcyh7XG4gICAgICAgIHByb2plY3RJZDogZW50aXR5LnByb2plY3RJZCA/PyBudWxsLFxuICAgICAgICBjbGllbnRJZDogZW50aXR5LmNsaWVudElkID8/IG51bGwsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2VudGl0eT8ucHJvamVjdElkLCBlbnRpdHk/LmNsaWVudElkXSlcblxuICBjb25zdCByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uZmlndXJlU2V0dGluZ3NJdGVtcy5jdXJyZW50ID0gY29uZmlndXJlU2V0dGluZ3NJdGVtcy5jdXJyZW50Py5tYXAoaXRlbSA9PiAoe1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGNoZWNrZWQ6ICFpdGVtLmhpZGRlbixcbiAgICB9KSlcbiAgfSwgW10pXG5cbiAgY29uc3Qgc2VsZWN0QWdlbnQgPSB1c2VDYWxsYmFjaygobmV3QWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgc2V0QWdlbnQobmV3QWdlbnQpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGNsZWFyQWdlbnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0QWdlbnQobnVsbClcbiAgfSwgW10pXG5cbiAgY29uc3QgdG9nZ2xlV2ViU2VhcmNoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzV2ViU2VhcmNoQWN0aXZlKHByZXYgPT4gIXByZXYpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHRvZ2dsZURlZXBTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNEZWVwU2VhcmNoQWN0aXZlKHByZXYgPT4gIXByZXYpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNldENoaXBzUHJvamVjdCA9IHVzZUNhbGxiYWNrKChuZXdDaGlwc1Byb2plY3Q6IENoaXBzUHJvamVjdCB8IG51bGwpID0+IHtcbiAgICBzZXRDaGlwc1Byb2plY3RTdGF0ZShuZXdDaGlwc1Byb2plY3QpXG4gIH0sIFtdKVxuXG4gIC8vIFBpbiBkZXJpdmFkbyAoUkZDIMKnMTIuMik6IGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSBhY3RpdmEgKHRhcmVhID4gcHJveWVjdG8gPiBjbGllbnRlKSxcbiAgLy8gY29uIHN1IHNjb3BlIGhhY2lhIGFycmliYSBlbiBgcGFyZW50c2AuIE1vbm8gaG95OyBhcnJheS1yZWFkeSBwYXJhIGNyb3NzLWVudGl0eS5cbiAgY29uc3QgcGlubmVkQ29udGV4dCA9IHVzZU1lbW88UGlubmVkQ29udGV4dCB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAodGFzaz8uaWQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ3Rhc2snLFxuICAgICAgICBpZDogdGFzay5pZCxcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBwYXJlbnRzOiB7XG4gICAgICAgICAgLi4uKHRhc2suY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQ6IHRhc2suY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4odGFzay5wcm9qZWN0SWQgIT0gbnVsbCA/IHsgcHJvamVjdElkOiB0YXNrLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IGNoaXBzUHJvamVjdC5wcm9qZWN0SWQsXG4gICAgICAgIG5hbWU6IGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IHByb2plY3QuaWQsXG4gICAgICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgLi4uKHByb2plY3QuY2xpZW50SWQgIT0gbnVsbCA/IHsgcGFyZW50czogeyBjbGllbnRJZDogcHJvamVjdC5jbGllbnRJZCB9IH0gOiB7fSksXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjbGllbnQ/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdjbGllbnQnLCBpZDogY2xpZW50LmlkLCBuYW1lOiBjbGllbnQubmFtZSB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0sIFtcbiAgICB0YXNrPy5pZCxcbiAgICB0YXNrPy5uYW1lLFxuICAgIHRhc2s/LmNsaWVudElkLFxuICAgIHRhc2s/LnByb2plY3RJZCxcbiAgICBjaGlwc1Byb2plY3QsXG4gICAgcHJvamVjdD8uaWQsXG4gICAgcHJvamVjdD8ubmFtZSxcbiAgICBwcm9qZWN0Py5jbGllbnRJZCxcbiAgICBjbGllbnQ/LmlkLFxuICAgIGNsaWVudD8ubmFtZSxcbiAgXSlcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZW50aXR5VmFsdWVzLFxuICAgICAgc2VjdGlvbjogc2VjdGlvbiBhcyBTZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZWN0aW9uLFxuICAgICAgZW50aXR5VmFsdWVzPy5wcm9qZWN0SWQsXG4gICAgICBlbnRpdHlWYWx1ZXM/LmNsaWVudElkLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBzZXRFbnRpdHlWYWx1ZXMsXG4gICAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gICAgICBwcm9qZWN0Py5pZCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQ/LmlkLFxuICAgICAgc2V0Q2xpZW50LFxuICAgICAgdGFzaz8uaWQsXG4gICAgICBzZXRUYXNrLFxuICAgICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVEZWVwU2VhcmNoLFxuICAgICAgaGFzTXVsdGlBZ2VudHMsXG4gICAgICBjaGlwc1Byb2plY3QsXG4gICAgICBzZXRDaGlwc1Byb2plY3QsXG4gICAgICBwaW5uZWRDb250ZXh0LFxuICAgIF1cbiAgKVxuXG4gIHJldHVybiB7XG4gICAgY29udGV4dCxcbiAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFHekUsU0FBU0MsUUFBUSxRQUFRLHFCQUFxQjtBQUM5QyxTQUFTQywyQkFBMkIsUUFBUSwwQkFBMEI7QUFDdEUsU0FBU0MsT0FBTyxRQUFRLHFCQUFxQjtBQUc3QyxTQUFTQyxlQUFlLFFBQVEsUUFBUTtBQW1CeEMsT0FBTyxJQUFNQyx1QkFBdUIsR0FBRyxTQUExQkEsdUJBQXVCQSxDQUFBQyxJQUFBLEVBU0g7RUFBQSxJQUFBQyxnQkFBQTtFQUFBLElBUi9CQyxPQUFPLEdBQUFGLElBQUEsQ0FBUEUsT0FBTztJQUNQQyxNQUFNLEdBQUFILElBQUEsQ0FBTkcsTUFBTTtJQUNOQyxPQUFPLEdBQUFKLElBQUEsQ0FBUEksT0FBTztJQUNQQyxVQUFVLEdBQUFMLElBQUEsQ0FBVkssVUFBVTtJQUFBQyxXQUFBLEdBQUFOLElBQUEsQ0FDVk8sTUFBTTtJQUFFQyxhQUFhLEdBQUFGLFdBQUEsY0FBRyxJQUFJLEdBQUFBLFdBQUE7SUFDakJHLGFBQWEsR0FBQVQsSUFBQSxDQUF4QlUsU0FBUztJQUFBQyxTQUFBLEdBQUFYLElBQUEsQ0FDVFksSUFBSTtJQUFFQyxXQUFXLEdBQUFGLFNBQUEsY0FBRyxJQUFJLEdBQUFBLFNBQUE7SUFDeEJHLGNBQWMsR0FBQWQsSUFBQSxDQUFkYyxjQUFjO0VBRWQsSUFBTUMsSUFBSSxHQUFHbEIsT0FBTyxDQUFDLENBQUM7RUFDdEIsSUFBTW1CLENBQUMsR0FBR2xCLGVBQWUsQ0FBQ0gsUUFBUSxDQUFDc0IsTUFBTSxDQUFDO0VBQzFDLElBQUFDLFNBQUEsR0FBMEJ6QixRQUFRLENBQWUsSUFBSSxDQUFDO0lBQUEwQixVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FB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
230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwicmVhZEF1dG9BcHByb3ZlIiwid3JpdGVBdXRvQXBwcm92ZSIsImJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyIsInVzZVVzZXIiLCJ1c2VUV2l0aFNlY3Rpb24iLCJ1c2VQcm9qZWN0U3VtbWFyeUNvbmZpZyIsIl9yZWYiLCJfcHJvamVjdCRjbGllbnQzIiwic2VjdGlvbiIsImVudGl0eSIsInByb2plY3QiLCJzZXRQcm9qZWN0IiwiX3JlZiRjbGllbnQiLCJjbGllbnQiLCJpbml0aWFsQ2xpZW50Iiwic2V0Q2xpZW50UHJvcCIsInNldENsaWVudCIsIl9yZWYkdGFzayIsInRhc2siLCJpbml0aWFsVGFzayIsImhhc011bHRpQWdlbnRzIiwidXNlciIsInQiLCJjaGF0QUkiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhZ2VudCIsInNldEFnZW50IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsInNldElzV2ViU2VhcmNoQWN0aXZlIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0RlZXBTZWFyY2hBY3RpdmUiLCJzZXRJc0RlZXBTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU3IiwiaWQiLCJfdXNlU3RhdGU4IiwiaXNBdXRvQXBwcm92ZUFjdGl2ZSIsInNldElzQXV0b0FwcHJvdmVBY3RpdmUiLCJfdXNlU3RhdGU5IiwicHJvamVjdElkIiwiY2xpZW50SWQiLCJfdXNlU3RhdGUwIiwiZW50aXR5VmFsdWVzIiwic2V0RW50aXR5VmFsdWVzIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2V0Q2xpZW50U3RhdGUiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2V0VGFza1N0YXRlIiwic2V0VGFzayIsIm5ld1Rhc2siLCJjb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwiX3VzZVN0YXRlMTMiLCJfcHJvamVjdCRjbGllbnQkbmFtZSIsIl9wcm9qZWN0JGNsaWVudCIsIlN0cmluZyIsInByb2plY3ROYW1lIiwibmFtZSIsImNsaWVudE5hbWUiLCJfdXNlU3RhdGUxNCIsImNoaXBzUHJvamVjdCIsInNldENoaXBzUHJvamVjdFN0YXRlIiwicHJldiIsIl9wcm9qZWN0JGNsaWVudCRuYW1lMiIsIl9wcm9qZWN0JGNsaWVudDIiLCJfZW50aXR5JHByb2plY3RJZCIsIl9lbnRpdHkkY2xpZW50SWQiLCJyZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MiLCJfY29uZmlndXJlU2V0dGluZ3NJdGUiLCJjdXJyZW50IiwibWFwIiwiaXRlbSIsIl9vYmplY3RTcHJlYWQiLCJjaGVja2VkIiwiaGlkZGVuIiwic2VsZWN0QWdlbnQiLCJuZXdBZ2VudCIsImNsZWFyQWdlbnQiLCJ0b2dnbGVXZWJTZWFyY2giLCJ0b2dnbGVEZWVwU2VhcmNoIiwidG9nZ2xlQXV0b0FwcHJvdmUiLCJuZXh0Iiwic2V0Q2hpcHNQcm9qZWN0IiwibmV3Q2hpcHNQcm9qZWN0IiwicGlubmVkQ29udGV4dCIsInR5cGUiLCJwYXJlbnRzIiwiY29udGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VQcm9qZWN0U3VtbWFyeUNvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IENoaXBzUHJvamVjdCwgUGlubmVkQ29udGV4dCwgdHlwZSBTZWN0aW9uIH0gZnJvbSAnLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHJlYWRBdXRvQXBwcm92ZSwgd3JpdGVBdXRvQXBwcm92ZSB9IGZyb20gJy4uL3V0aWxzL2F1dG9BcHByb3ZlU3RvcmFnZSdcbmltcG9ydCB7IGJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyB9IGZyb20gJy4uL2NvbnN0YW50cy9wZXJtaXNzaW9ucydcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi90eXBlcy9hZ2VudCdcblxuaW1wb3J0IHsgdXNlVFdpdGhTZWN0aW9uIH0gZnJvbSAnLi91c2VUJ1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3R5cGVzL1Byb2plY3QnXG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tICcuLi90eXBlcy9DbGllbnQnXG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vdHlwZXMvVGFzaydcblxudHlwZSBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzID0ge1xuICBzZWN0aW9uOiAncHJvamVjdCcgfCAnaGVhZGVyJyB8ICdjbGllbnQnIHwgJ3Rhc2snIHwgJ3BsYW5uZXInXG4gIGVudGl0eT86IHtcbiAgICBwcm9qZWN0SWQ6IHN0cmluZyB8IG51bGxcbiAgICBjbGllbnRJZDogc3RyaW5nIHwgbnVsbFxuICB9IHwgbnVsbFxuICBwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbFxuICBzZXRQcm9qZWN0OiAocHJvamVjdDogUHJvamVjdCB8IG51bGwpID0+IHZvaWRcbiAgY2xpZW50PzogQ2xpZW50IHwgbnVsbFxuICBzZXRDbGllbnQ/OiAoY2xpZW50OiBDbGllbnQgfCBudWxsKSA9PiB2b2lkXG4gIHRhc2s/OiBUYXNrIHwgbnVsbFxuICBoYXNNdWx0aUFnZW50cz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHVzZVByb2plY3RTdW1tYXJ5Q29uZmlnID0gKHtcbiAgc2VjdGlvbixcbiAgZW50aXR5LFxuICBwcm9qZWN0LFxuICBzZXRQcm9qZWN0LFxuICBjbGllbnQ6IGluaXRpYWxDbGllbnQgPSBudWxsLFxuICBzZXRDbGllbnQ6IHNldENsaWVudFByb3AsXG4gIHRhc2s6IGluaXRpYWxUYXNrID0gbnVsbCxcbiAgaGFzTXVsdGlBZ2VudHMsXG59OiBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgdCA9IHVzZVRXaXRoU2VjdGlvbihTRUNUSU9OUy5jaGF0QUkpXG4gIGNvbnN0IFthZ2VudCwgc2V0QWdlbnRdID0gdXNlU3RhdGU8QWdlbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNXZWJTZWFyY2hBY3RpdmUsIHNldElzV2ViU2VhcmNoQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCBbaXNEZWVwU2VhcmNoQWN0aXZlLCBzZXRJc0RlZXBTZWFyY2hBY3RpdmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtpc0F1dG9BcHByb3ZlQWN0aXZlLCBzZXRJc0F1dG9BcHByb3ZlQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KCgpID0+IHJlYWRBdXRvQXBwcm92ZSh1c2VyPy5pZCkpXG4gIGNvbnN0IFtlbnRpdHlWYWx1ZXMsIHNldEVudGl0eVZhbHVlc10gPSB1c2VTdGF0ZTx7XG4gICAgcHJvamVjdElkOiBzdHJpbmcgfCBudWxsXG4gICAgY2xpZW50SWQ6IHN0cmluZyB8IG51bGxcbiAgfT4oZW50aXR5IHx8IHsgcHJvamVjdElkOiBudWxsLCBjbGllbnRJZDogbnVsbCB9KVxuICBjb25zdCBbY2xpZW50LCBzZXRDbGllbnRTdGF0ZV0gPSB1c2VTdGF0ZTxDbGllbnQgfCBudWxsPihpbml0aWFsQ2xpZW50ID8/IG51bGwpXG5cbiAgY29uc3Qgc2V0Q2xpZW50ID0gc2V0Q2xpZW50UHJvcCA/PyBzZXRDbGllbnRTdGF0ZVxuXG4gIGNvbnN0IFt0YXNrLCBzZXRUYXNrU3RhdGVdID0gdXNlU3RhdGU8VGFzayB8IG51bGw+KGluaXRpYWxUYXNrID8/IG51bGwpXG4gIGNvbnN0IHNldFRhc2sgPSB1c2VDYWxsYmFjaygobmV3VGFzazogVGFzayB8IG51bGwpID0+IHNldFRhc2tTdGF0ZShuZXdUYXNrKSwgW10pXG5cbiAgY29uc3QgY29uZmlndXJlU2V0dGluZ3NJdGVtcyA9IHVzZVJlZihidWlsZENvbmZpZ3VyZVNldHRpbmdzSXRlbXModXNlciwgdCkpXG4gIGNvbnN0IFtjaGlwc1Byb2plY3QsIHNldENoaXBzUHJvamVjdFN0YXRlXSA9IHVzZVN0YXRlPENoaXBzUHJvamVjdCB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAoKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAndGFzaycpICYmIHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb2plY3RJZDogU3RyaW5nKHByb2plY3QuaWQpLFxuICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgICBjbGllbnROYW1lOiBwcm9qZWN0LmNsaWVudD8ubmFtZSA/PyAnJyxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfSlcblxuICAvLyBTaW5jcm9uaXphciBjaGlwc1Byb2plY3QgY3VhbmRvIGVsIHByb2plY3QgcHJvcCBjYW1iaWEgKGVqLiBuYXZlZ2FjacOzbiBlbnRyZSBwcm95ZWN0b3MgbyB0YXJlYXMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ3Rhc2snKSAmJiBwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICBzZXRDaGlwc1Byb2plY3RTdGF0ZShwcmV2ID0+IHtcbiAgICAgICAgaWYgKHByZXY/LnByb2plY3RJZCA9PT0gU3RyaW5nKHByb2plY3QuaWQpKSByZXR1cm4gcHJldlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByb2plY3RJZDogU3RyaW5nKHByb2plY3QuaWQpLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgICAgY2xpZW50TmFtZTogcHJvamVjdC5jbGllbnQ/Lm5hbWUgPz8gJycsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgcHJvamVjdD8uaWQsIHByb2plY3Q/Lm5hbWUsIHByb2plY3Q/LmNsaWVudD8ubmFtZV0pXG5cbiAgLy8gU2luY3Jvbml6YXIgY2xpZW50IGN1YW5kbyBsYSBwcm9wIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlciAoZWouIHNlY3Rpb24gY2xpZW50LCBkYXRvcyBhc3luYylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VjdGlvbiA9PT0gJ2NsaWVudCcpIHtcbiAgICAgIHNldENsaWVudFN0YXRlKGluaXRpYWxDbGllbnQgPz8gbnVsbClcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBpbml0aWFsQ2xpZW50XSlcblxuICAvLyBTaW5jcm9uaXphciB0YXNrIGN1YW5kbyBsYSBwcm9wIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlclxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWN0aW9uID09PSAndGFzaycpIHtcbiAgICAgIHNldFRhc2tTdGF0ZShpbml0aWFsVGFzayA/PyBudWxsKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGluaXRpYWxUYXNrXSlcblxuICAvLyBTaW5jcm9uaXphciBlbnRpdHlWYWx1ZXMgY3VhbmRvIGVudGl0eSBjYW1iaWUgKGVqLiBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXIpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGVudGl0eSAhPSBudWxsKSB7XG4gICAgICBzZXRFbnRpdHlWYWx1ZXMoe1xuICAgICAgICBwcm9qZWN0SWQ6IGVudGl0eS5wcm9qZWN0SWQgPz8gbnVsbCxcbiAgICAgICAgY2xpZW50SWQ6IGVudGl0eS5jbGllbnRJZCA/PyBudWxsLFxuICAgICAgfSlcbiAgICB9XG4gIH0sIFtlbnRpdHk/LnByb2plY3RJZCwgZW50aXR5Py5jbGllbnRJZF0pXG5cbiAgY29uc3QgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudCA9IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudD8ubWFwKGl0ZW0gPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBjaGVja2VkOiAhaXRlbS5oaWRkZW4sXG4gICAgfSkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soKG5ld0FnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldEFnZW50KG5ld0FnZW50KVxuICB9LCBbXSlcblxuICBjb25zdCBjbGVhckFnZW50ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFnZW50KG51bGwpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHRvZ2dsZVdlYlNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc1dlYlNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVEZWVwU2VhcmNoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzRGVlcFNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVBdXRvQXBwcm92ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc0F1dG9BcHByb3ZlQWN0aXZlKHByZXYgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9ICFwcmV2XG4gICAgICB3cml0ZUF1dG9BcHByb3ZlKHVzZXI/LmlkLCBuZXh0KVxuICAgICAgcmV0dXJuIG5leHRcbiAgICB9KVxuICB9LCBbdXNlcj8uaWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SXNBdXRvQXBwcm92ZUFjdGl2ZShyZWFkQXV0b0FwcHJvdmUodXNlcj8uaWQpKVxuICB9LCBbdXNlcj8uaWRdKVxuXG4gIGNvbnN0IHNldENoaXBzUHJvamVjdCA9IHVzZUNhbGxiYWNrKChuZXdDaGlwc1Byb2plY3Q6IENoaXBzUHJvamVjdCB8IG51bGwpID0+IHtcbiAgICBzZXRDaGlwc1Byb2plY3RTdGF0ZShuZXdDaGlwc1Byb2plY3QpXG4gIH0sIFtdKVxuXG4gIC8vIFBpbiBkZXJpdmFkbyAoUkZDIMKnMTIuMik6IGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSBhY3RpdmEgKHRhcmVhID4gcHJveWVjdG8gPiBjbGllbnRlKSxcbiAgLy8gY29uIHN1IHNjb3BlIGhhY2lhIGFycmliYSBlbiBgcGFyZW50c2AuIE1vbm8gaG95OyBhcnJheS1yZWFkeSBwYXJhIGNyb3NzLWVudGl0eS5cbiAgY29uc3QgcGlubmVkQ29udGV4dCA9IHVzZU1lbW88UGlubmVkQ29udGV4dCB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAodGFzaz8uaWQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ3Rhc2snLFxuICAgICAgICBpZDogdGFzay5pZCxcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBwYXJlbnRzOiB7XG4gICAgICAgICAgLi4uKHRhc2suY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQ6IHRhc2suY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4odGFzay5wcm9qZWN0SWQgIT0gbnVsbCA/IHsgcHJvamVjdElkOiB0YXNrLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IGNoaXBzUHJvamVjdC5wcm9qZWN0SWQsXG4gICAgICAgIG5hbWU6IGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IHByb2plY3QuaWQsXG4gICAgICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgLi4uKHByb2plY3QuY2xpZW50SWQgIT0gbnVsbCA/IHsgcGFyZW50czogeyBjbGllbnRJZDogcHJvamVjdC5jbGllbnRJZCB9IH0gOiB7fSksXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjbGllbnQ/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdjbGllbnQnLCBpZDogY2xpZW50LmlkLCBuYW1lOiBjbGllbnQubmFtZSB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0sIFtcbiAgICB0YXNrPy5pZCxcbiAgICB0YXNrPy5uYW1lLFxuICAgIHRhc2s/LmNsaWVudElkLFxuICAgIHRhc2s/LnByb2plY3RJZCxcbiAgICBjaGlwc1Byb2plY3QsXG4gICAgcHJvamVjdD8uaWQsXG4gICAgcHJvamVjdD8ubmFtZSxcbiAgICBwcm9qZWN0Py5jbGllbnRJZCxcbiAgICBjbGllbnQ/LmlkLFxuICAgIGNsaWVudD8ubmFtZSxcbiAgXSlcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZW50aXR5VmFsdWVzLFxuICAgICAgc2VjdGlvbjogc2VjdGlvbiBhcyBTZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNBdXRvQXBwcm92ZUFjdGl2ZSxcbiAgICAgIHRvZ2dsZUF1dG9BcHByb3ZlLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZWN0aW9uLFxuICAgICAgZW50aXR5VmFsdWVzPy5wcm9qZWN0SWQsXG4gICAgICBlbnRpdHlWYWx1ZXM/LmNsaWVudElkLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBzZXRFbnRpdHlWYWx1ZXMsXG4gICAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gICAgICBwcm9qZWN0Py5pZCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQ/LmlkLFxuICAgICAgc2V0Q2xpZW50LFxuICAgICAgdGFzaz8uaWQsXG4gICAgICBzZXRUYXNrLFxuICAgICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgICBpc0F1dG9BcHByb3ZlQWN0aXZlLFxuICAgICAgdG9nZ2xlQXV0b0FwcHJvdmUsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVEZWVwU2VhcmNoLFxuICAgICAgaGFzTXVsdGlBZ2VudHMsXG4gICAgICBjaGlwc1Byb2plY3QsXG4gICAgICBzZXRDaGlwc1Byb2plY3QsXG4gICAgICBwaW5uZWRDb250ZXh0LFxuICAgIF1cbiAgKVxuXG4gIHJldHVybiB7XG4gICAgY29udGV4dCxcbiAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFR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VyxFQUFYQSxXQUFXO01BQ1hFLFVBQVUsRUFBVkEsVUFBVTtNQUNWMUIsc0JBQXNCLEVBQXRCQSxzQkFBc0I7TUFDdEJnQix3QkFBd0IsRUFBeEJBLHdCQUF3QjtNQUN4QnpCLGVBQWUsRUFBZkEsZUFBZTtNQUNmckMsT0FBTyxFQUFQQSxPQUFPO01BQ1BDLFVBQVUsRUFBVkEsVUFBVTtNQUNWRSxNQUFNLEVBQU5BLE1BQU07TUFDTkcsU0FBUyxFQUFUQSxTQUFTO01BQ1RFLElBQUksRUFBSkEsSUFBSTtNQUNKb0MsT0FBTyxFQUFQQSxPQUFPO01BQ1B2QixpQkFBaUIsRUFBakJBLGlCQUFpQjtNQUNqQm9ELGVBQWUsRUFBZkEsZUFBZTtNQUNmM0MsbUJBQW1CLEVBQW5CQSxtQkFBbUI7TUFDbkI2QyxpQkFBaUIsRUFBakJBLGlCQUFpQjtNQUNqQmxELGtCQUFrQixFQUFsQkEsa0JBQWtCO01BQ2xCaUQsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7TUFDaEJoRSxjQUFjLEVBQWRBLGNBQWM7TUFDZDZDLFlBQVksRUFBWkEsWUFBWTtNQUNac0IsZUFBZSxFQUFmQSxlQUFlO01BQ2ZFLGFBQWEsRUFBYkE7SUFDRixDQUFDO0VBQUEsQ0FBQyxFQUNGLENBQ0VqRixPQUFPLEVBQ1BzQyxZQUFZLGFBQVpBLFlBQVksdUJBQVpBLFlBQVksQ0FBRUgsU0FBUyxFQUN2QkcsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVGLFFBQVEsRUFDdEJqQixLQUFLLEVBQ0xxRCxXQUFXLEVBQ1hFLFVBQVUsRUFDVm5DLGVBQWUsRUFDZnlCLHdCQUF3QixFQUN4QjlELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFNEIsRUFBRSxFQUNYM0IsVUFBVSxFQUNWRSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRXlCLEVBQUUsRUFDVnRCLFNBQVMsRUFDVEUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVvQixFQUFFLEVBQ1JnQixPQUFPLEVBQ1B2QixpQkFBaUIsRUFDakJvRCxlQUFlLEVBQ2YzQyxtQkFBbUIsRUFDbkI2QyxpQkFBaUIsRUFDakJsRCxrQkFBa0IsRUFDbEJpRCxnQkFBZ0IsRUFDaEJoRSxjQUFjLEVBQ2Q2QyxZQUFZLEVBQ1pzQixlQUFlLEVBQ2ZFLGFBQWEsQ0FFakIsQ0FBQztFQUVELE9BQU87SUFDTEcsT0FBTyxFQUFQQSxPQUFPO0lBQ1BwQix3QkFBd0IsRUFBeEJBO0VBQ0YsQ0FBQztBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,3 @@
1
+ export { useReasoningTrace } from './useReasoningTrace';
2
+ export { reasoningStore } from './reasoningStore';
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWFzb25pbmdUcmFjZSIsInJlYXNvbmluZ1N0b3JlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVJlYXNvbmluZ1RyYWNlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHVzZVJlYXNvbmluZ1RyYWNlIH0gZnJvbSAnLi91c2VSZWFzb25pbmdUcmFjZSdcbmV4cG9ydCB7IHJlYXNvbmluZ1N0b3JlIH0gZnJvbSAnLi9yZWFzb25pbmdTdG9yZSdcbmV4cG9ydCB0eXBlIHsgUmVhc29uaW5nU25hcHNob3QsIFJlYXNvbmluZ1BoYXNlIH0gZnJvbSAnLi9yZWFzb25pbmdTdG9yZSdcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsaUJBQWlCLFFBQVEscUJBQXFCO0FBQ3ZELFNBQVNDLGNBQWMsUUFBUSxrQkFBa0IiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,142 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import { mapReasoningStep, mapReasoningTrace } from '../../utils/reasoningMappers';
6
+ var EMPTY = {
7
+ id: null,
8
+ steps: [],
9
+ summary: null,
10
+ phase: 'idle'
11
+ };
12
+ var snapshot = EMPTY;
13
+ var listeners = new Set();
14
+ var emitChange = function emitChange() {
15
+ listeners.forEach(function (listener) {
16
+ listener();
17
+ });
18
+ };
19
+ var upsertStep = function upsertStep(steps, step) {
20
+ var at = steps.findIndex(function (current) {
21
+ return current.i === step.i;
22
+ });
23
+ if (at === -1) {
24
+ return [].concat(_toConsumableArray(steps), [step]).sort(function (a, b) {
25
+ return a.i - b.i;
26
+ });
27
+ }
28
+ var next = steps.slice();
29
+ next[at] = step;
30
+ return next;
31
+ };
32
+ export var reasoningStore = {
33
+ start: function start(id) {
34
+ snapshot = {
35
+ id: id,
36
+ steps: [],
37
+ summary: null,
38
+ phase: 'streaming'
39
+ };
40
+ emitChange();
41
+ },
42
+ appendThinking: function appendThinking(id, index, delta) {
43
+ var _existing$text;
44
+ if (!delta) return;
45
+ if (snapshot.id !== id) {
46
+ snapshot = {
47
+ id: id,
48
+ steps: [],
49
+ summary: null,
50
+ phase: 'streaming'
51
+ };
52
+ }
53
+ var existing = snapshot.steps.find(function (step) {
54
+ return step.i === index;
55
+ });
56
+ var step = existing && existing.type === 'thinking' ? _objectSpread(_objectSpread({}, existing), {}, {
57
+ text: "".concat((_existing$text = existing.text) !== null && _existing$text !== void 0 ? _existing$text : '').concat(delta)
58
+ }) : {
59
+ i: index,
60
+ type: 'thinking',
61
+ text: delta
62
+ };
63
+ snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
64
+ steps: upsertStep(snapshot.steps, step),
65
+ phase: 'streaming'
66
+ });
67
+ emitChange();
68
+ },
69
+ applyStep: function applyStep(id, payload) {
70
+ var _payload$type;
71
+ if (snapshot.id !== id) {
72
+ snapshot = {
73
+ id: id,
74
+ steps: [],
75
+ summary: null,
76
+ phase: 'streaming'
77
+ };
78
+ }
79
+ var incoming = mapReasoningStep(payload);
80
+ var existing = snapshot.steps.find(function (step) {
81
+ return step.i === incoming.i;
82
+ });
83
+ var step = existing ? _objectSpread(_objectSpread(_objectSpread({}, existing), incoming), {}, {
84
+ type: (_payload$type = payload.type) !== null && _payload$type !== void 0 ? _payload$type : existing.type
85
+ }) : incoming;
86
+ snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
87
+ steps: upsertStep(snapshot.steps, step),
88
+ phase: 'streaming'
89
+ });
90
+ emitChange();
91
+ },
92
+ finish: function finish(id, trace) {
93
+ var authoritative = mapReasoningTrace(trace);
94
+ if (authoritative) {
95
+ snapshot = {
96
+ id: id,
97
+ steps: authoritative.steps,
98
+ summary: authoritative.summary,
99
+ phase: 'done'
100
+ };
101
+ emitChange();
102
+ return;
103
+ }
104
+ if (snapshot.id !== id) return;
105
+ var steps = snapshot.steps.map(function (step) {
106
+ return step.status === 'running' ? _objectSpread(_objectSpread({}, step), {}, {
107
+ status: 'ok'
108
+ }) : step;
109
+ });
110
+ snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
111
+ steps: steps,
112
+ summary: null,
113
+ phase: 'done'
114
+ });
115
+ emitChange();
116
+ },
117
+ clear: function clear() {
118
+ if (snapshot === EMPTY) return;
119
+ snapshot = EMPTY;
120
+ emitChange();
121
+ },
122
+ rename: function rename(fromId, toId) {
123
+ if (snapshot.id !== fromId) return;
124
+ snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
125
+ id: toId
126
+ });
127
+ emitChange();
128
+ },
129
+ subscribe: function subscribe(listener) {
130
+ listeners.add(listener);
131
+ return function () {
132
+ listeners["delete"](listener);
133
+ };
134
+ },
135
+ getSnapshot: function getSnapshot() {
136
+ return snapshot;
137
+ },
138
+ getServerSnapshot: function getServerSnapshot() {
139
+ return EMPTY;
140
+ }
141
+ };
142
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBSZWFzb25pbmdTdGVwIiwibWFwUmVhc29uaW5nVHJhY2UiLCJFTVBUWSIsImlkIiwic3RlcHMiLCJzdW1tYXJ5IiwicGhhc2UiLCJzbmFwc2hvdCIsImxpc3RlbmVycyIsIlNldCIsImVtaXRDaGFuZ2UiLCJmb3JFYWNoIiwibGlzdGVuZXIiLCJ1cHNlcnRTdGVwIiwic3RlcCIsImF0IiwiZmluZEluZGV4IiwiY3VycmVudCIsImkiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0IiwiYSIsImIiLCJuZXh0Iiwic2xpY2UiLCJyZWFzb25pbmdTdG9yZSIsInN0YXJ0IiwiYXBwZW5kVGhpbmtpbmciLCJpbmRleCIsImRlbHRhIiwiX2V4aXN0aW5nJHRleHQiLCJleGlzdGluZyIsImZpbmQiLCJ0eXBlIiwiX29iamVjdFNwcmVhZCIsInRleHQiLCJhcHBseVN0ZXAiLCJwYXlsb2FkIiwiX3BheWxvYWQkdHlwZSIsImluY29taW5nIiwiZmluaXNoIiwidHJhY2UiLCJhdXRob3JpdGF0aXZlIiwibWFwIiwic3RhdHVzIiwiY2xlYXIiLCJyZW5hbWUiLCJmcm9tSWQiLCJ0b0lkIiwic3Vic2NyaWJlIiwiYWRkIiwiZ2V0U25hcHNob3QiLCJnZXRTZXJ2ZXJTbmFwc2hvdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VSZWFzb25pbmdUcmFjZS9yZWFzb25pbmdTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFJlYXNvbmluZ1N0ZXAsXG4gIFJlYXNvbmluZ1N0ZXBQYXlsb2FkLFxuICBSZWFzb25pbmdTdW1tYXJ5LFxuICBSZWFzb25pbmdUcmFjZVBheWxvYWQsXG59IGZyb20gJy4uLy4uL3R5cGVzL3JlYXNvbmluZydcbmltcG9ydCB7IG1hcFJlYXNvbmluZ1N0ZXAsIG1hcFJlYXNvbmluZ1RyYWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvcmVhc29uaW5nTWFwcGVycydcblxuZXhwb3J0IHR5cGUgUmVhc29uaW5nUGhhc2UgPSAnaWRsZScgfCAnc3RyZWFtaW5nJyB8ICdkb25lJ1xuXG5leHBvcnQgdHlwZSBSZWFzb25pbmdTbmFwc2hvdCA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bGxcbiAgc3RlcHM6IFJlYXNvbmluZ1N0ZXBbXVxuICBzdW1tYXJ5OiBSZWFzb25pbmdTdW1tYXJ5IHwgbnVsbFxuICBwaGFzZTogUmVhc29uaW5nUGhhc2Vcbn1cblxuY29uc3QgRU1QVFk6IFJlYXNvbmluZ1NuYXBzaG90ID0geyBpZDogbnVsbCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ2lkbGUnIH1cblxubGV0IHNuYXBzaG90OiBSZWFzb25pbmdTbmFwc2hvdCA9IEVNUFRZXG5jb25zdCBsaXN0ZW5lcnMgPSBuZXcgU2V0PCgpID0+IHZvaWQ+KClcblxuY29uc3QgZW1pdENoYW5nZSA9ICgpID0+IHtcbiAgbGlzdGVuZXJzLmZvckVhY2gobGlzdGVuZXIgPT4ge1xuICAgIGxpc3RlbmVyKClcbiAgfSlcbn1cblxuY29uc3QgdXBzZXJ0U3RlcCA9IChzdGVwczogUmVhc29uaW5nU3RlcFtdLCBzdGVwOiBSZWFzb25pbmdTdGVwKTogUmVhc29uaW5nU3RlcFtdID0+IHtcbiAgY29uc3QgYXQgPSBzdGVwcy5maW5kSW5kZXgoY3VycmVudCA9PiBjdXJyZW50LmkgPT09IHN0ZXAuaSlcbiAgaWYgKGF0ID09PSAtMSkge1xuICAgIHJldHVybiBbLi4uc3RlcHMsIHN0ZXBdLnNvcnQoKGEsIGIpID0+IGEuaSAtIGIuaSlcbiAgfVxuICBjb25zdCBuZXh0ID0gc3RlcHMuc2xpY2UoKVxuICBuZXh0W2F0XSA9IHN0ZXBcbiAgcmV0dXJuIG5leHRcbn1cblxuZXhwb3J0IGNvbnN0IHJlYXNvbmluZ1N0b3JlID0ge1xuICBzdGFydChpZDogc3RyaW5nKSB7XG4gICAgc25hcHNob3QgPSB7IGlkLCBzdGVwczogW10sIHN1bW1hcnk6IG51bGwsIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgYXBwZW5kVGhpbmtpbmcoaWQ6IHN0cmluZywgaW5kZXg6IG51bWJlciwgZGVsdGE6IHN0cmluZykge1xuICAgIGlmICghZGVsdGEpIHJldHVyblxuICAgIGlmIChzbmFwc2hvdC5pZCAhPT0gaWQpIHtcbiAgICAgIHNuYXBzaG90ID0geyBpZCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ3N0cmVhbWluZycgfVxuICAgIH1cbiAgICBjb25zdCBleGlzdGluZyA9IHNuYXBzaG90LnN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLmkgPT09IGluZGV4KVxuICAgIGNvbnN0IHN0ZXA6IFJlYXNvbmluZ1N0ZXAgPVxuICAgICAgZXhpc3RpbmcgJiYgZXhpc3RpbmcudHlwZSA9PT0gJ3RoaW5raW5nJ1xuICAgICAgICA/IHsgLi4uZXhpc3RpbmcsIHRleHQ6IGAke2V4aXN0aW5nLnRleHQgPz8gJyd9JHtkZWx0YX1gIH1cbiAgICAgICAgOiB7IGk6IGluZGV4LCB0eXBlOiAndGhpbmtpbmcnLCB0ZXh0OiBkZWx0YSB9XG4gICAgc25hcHNob3QgPSB7IC4uLnNuYXBzaG90LCBzdGVwczogdXBzZXJ0U3RlcChzbmFwc2hvdC5zdGVwcywgc3RlcCksIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgYXBwbHlTdGVwKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFJlYXNvbmluZ1N0ZXBQYXlsb2FkKSB7XG4gICAgaWYgKHNuYXBzaG90LmlkICE9PSBpZCkge1xuICAgICAgc25hcHNob3QgPSB7IGlkLCBzdGVwczogW10sIHN1bW1hcnk6IG51bGwsIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgfVxuICAgIGNvbnN0IGluY29taW5nID0gbWFwUmVhc29uaW5nU3RlcChwYXlsb2FkKVxuICAgIGNvbnN0IGV4aXN0aW5nID0gc25hcHNob3Quc3RlcHMuZmluZChzdGVwID0+IHN0ZXAuaSA9PT0gaW5jb21pbmcuaSlcbiAgICBjb25zdCBzdGVwID0gZXhpc3RpbmcgPyB7IC4uLmV4aXN0aW5nLCAuLi5pbmNvbWluZywgdHlwZTogcGF5bG9hZC50eXBlID8/IGV4aXN0aW5nLnR5cGUgfSA6IGluY29taW5nXG4gICAgc25hcHNob3QgPSB7IC4uLnNuYXBzaG90LCBzdGVwczogdXBzZXJ0U3RlcChzbmFwc2hvdC5zdGVwcywgc3RlcCksIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgZmluaXNoKGlkOiBzdHJpbmcsIHRyYWNlOiBSZWFzb25pbmdUcmFjZVBheWxvYWQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgYXV0aG9yaXRhdGl2ZSA9IG1hcFJlYXNvbmluZ1RyYWNlKHRyYWNlKVxuICAgIGlmIChhdXRob3JpdGF0aXZlKSB7XG4gICAgICBzbmFwc2hvdCA9IHsgaWQsIHN0ZXBzOiBhdXRob3JpdGF0aXZlLnN0ZXBzLCBzdW1tYXJ5OiBhdXRob3JpdGF0aXZlLnN1bW1hcnksIHBoYXNlOiAnZG9uZScgfVxuICAgICAgZW1pdENoYW5nZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHNuYXBzaG90LmlkICE9PSBpZCkgcmV0dXJuXG4gICAgY29uc3Qgc3RlcHMgPSBzbmFwc2hvdC5zdGVwcy5tYXAoc3RlcCA9PiAoc3RlcC5zdGF0dXMgPT09ICdydW5uaW5nJyA/IHsgLi4uc3RlcCwgc3RhdHVzOiAnb2snIGFzIGNvbnN0IH0gOiBzdGVwKSlcbiAgICBzbmFwc2hvdCA9IHsgLi4uc25hcHNob3QsIHN0ZXBzLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ2RvbmUnIH1cbiAgICBlbWl0Q2hhbmdlKClcbiAgfSxcblxuICBjbGVhcigpIHtcbiAgICBpZiAoc25hcHNob3QgPT09IEVNUFRZKSByZXR1cm5cbiAgICBzbmFwc2hvdCA9IEVNUFRZXG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgcmVuYW1lKGZyb21JZDogc3RyaW5nLCB0b0lkOiBzdHJpbmcpIHtcbiAgICBpZiAoc25hcHNob3QuaWQgIT09IGZyb21JZCkgcmV0dXJuXG4gICAgc25hcHNob3QgPSB7IC4uLnNuYXBzaG90LCBpZDogdG9JZCB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgc3Vic2NyaWJlKGxpc3RlbmVyOiAoKSA9PiB2b2lkKSB7XG4gICAgbGlzdGVuZXJzLmFkZChsaXN0ZW5lcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lcilcbiAgICB9XG4gIH0sXG5cbiAgZ2V0U25hcHNob3QoKTogUmVhc29uaW5nU25hcHNob3Qge1xuICAgIHJldHVybiBzbmFwc2hvdFxuICB9LFxuXG4gIGdldFNlcnZlclNuYXBzaG90KCk6IFJlYXNvbmluZ1NuYXBzaG90IHtcbiAgICByZXR1cm4gRU1QVFlcbiAgfSxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQU1BLFNBQVNBLGdCQUFnQixFQUFFQyxpQkFBaUIsUUFBUSw4QkFBOEI7QUFXbEYsSUFBTUMsS0FBd0IsR0FBRztFQUFFQyxFQUFFLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUUsRUFBRTtFQUFFQyxPQUFPLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUU7QUFBTyxDQUFDO0FBRXRGLElBQUlDLFFBQTJCLEdBQUdMLEtBQUs7QUFDdkMsSUFBTU0sU0FBUyxHQUFHLElBQUlDLEdBQUcsQ0FBYSxDQUFDO0FBRXZDLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBLEVBQVM7RUFDdkJGLFNBQVMsQ0FBQ0csT0FBTyxDQUFDLFVBQUFDLFFBQVEsRUFBSTtJQUM1QkEsUUFBUSxDQUFDLENBQUM7RUFDWixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlULEtBQXNCLEVBQUVVLElBQW1CLEVBQXNCO0VBQ25GLElBQU1DLEVBQUUsR0FBR1gsS0FBSyxDQUFDWSxTQUFTLENBQUMsVUFBQUMsT0FBTztJQUFBLE9BQUlBLE9BQU8sQ0FBQ0MsQ0FB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
@@ -0,0 +1,14 @@
1
+ import { useSyncExternalStore } from 'react';
2
+ import { reasoningStore } from './reasoningStore';
3
+ var EMPTY = {
4
+ id: null,
5
+ steps: [],
6
+ summary: null,
7
+ phase: 'idle'
8
+ };
9
+ export var useReasoningTrace = function useReasoningTrace(messageId) {
10
+ var snapshot = useSyncExternalStore(reasoningStore.subscribe, reasoningStore.getSnapshot, reasoningStore.getServerSnapshot);
11
+ if (!messageId || snapshot.id !== messageId) return EMPTY;
12
+ return snapshot;
13
+ };
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTeW5jRXh0ZXJuYWxTdG9yZSIsInJlYXNvbmluZ1N0b3JlIiwiRU1QVFkiLCJpZCIsInN0ZXBzIiwic3VtbWFyeSIsInBoYXNlIiwidXNlUmVhc29uaW5nVHJhY2UiLCJtZXNzYWdlSWQiLCJzbmFwc2hvdCIsInN1YnNjcmliZSIsImdldFNuYXBzaG90IiwiZ2V0U2VydmVyU25hcHNob3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlUmVhc29uaW5nVHJhY2UvdXNlUmVhc29uaW5nVHJhY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHJlYXNvbmluZ1N0b3JlLCB0eXBlIFJlYXNvbmluZ1NuYXBzaG90IH0gZnJvbSAnLi9yZWFzb25pbmdTdG9yZSdcblxuY29uc3QgRU1QVFk6IFJlYXNvbmluZ1NuYXBzaG90ID0geyBpZDogbnVsbCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ2lkbGUnIH1cblxuZXhwb3J0IGNvbnN0IHVzZVJlYXNvbmluZ1RyYWNlID0gKG1lc3NhZ2VJZDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFJlYXNvbmluZ1NuYXBzaG90ID0+IHtcbiAgY29uc3Qgc25hcHNob3QgPSB1c2VTeW5jRXh0ZXJuYWxTdG9yZShcbiAgICByZWFzb25pbmdTdG9yZS5zdWJzY3JpYmUsXG4gICAgcmVhc29uaW5nU3RvcmUuZ2V0U25hcHNob3QsXG4gICAgcmVhc29uaW5nU3RvcmUuZ2V0U2VydmVyU25hcHNob3RcbiAgKVxuICBpZiAoIW1lc3NhZ2VJZCB8fCBzbmFwc2hvdC5pZCAhPT0gbWVzc2FnZUlkKSByZXR1cm4gRU1QVFlcbiAgcmV0dXJuIHNuYXBzaG90XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG9CQUFvQixRQUFRLE9BQU87QUFDNUMsU0FBU0MsY0FBYyxRQUFnQyxrQkFBa0I7QUFFekUsSUFBTUMsS0FBd0IsR0FBRztFQUFFQyxFQUFFLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUUsRUFBRTtFQUFFQyxPQUFPLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUU7QUFBTyxDQUFDO0FBRXRGLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsU0FBb0MsRUFBd0I7RUFDNUYsSUFBTUMsUUFBUSxHQUFHVCxvQkFBb0IsQ0FDbkNDLGNBQWMsQ0FBQ1MsU0FBUyxFQUN4QlQsY0FBYyxDQUFDVSxXQUFXLEVBQzFCVixjQUFjLENBQUNXLGlCQUNqQixDQUFDO0VBQ0QsSUFBSSxDQUFDSixTQUFTLElBQUlDLFFBQVEsQ0FBQ04sRUFBRSxLQUFLSyxTQUFTLEVBQUUsT0FBT04sS0FBSztFQUN6RCxPQUFPTyxRQUFRO0FBQ2pCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=