@projectcor/maia-components 2.31.1-0 → 2.31.1-2

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.
@@ -8,6 +8,15 @@ import { readAutoApprove, writeAutoApprove } from '../utils/autoApproveStorage';
8
8
  import { buildConfigureSettingsItems } from '../constants/permissions';
9
9
  import { useUser } from '../context/cor-user';
10
10
  import { useTWithSection } from './useT';
11
+ /**
12
+ * Auto-approve queda fuera de este release. El apagado va acá, en el origen del
13
+ * estado, para que la preferencia ya guardada en localStorage no pueda
14
+ * reactivarlo: sin esto, quien lo activó probando seguiría mandando
15
+ * `X-HITL-Approval-Mode: full_access` sin UI para apagarlo.
16
+ * Para volver a habilitarlo: poner en `true` y descomentar el item del
17
+ * plus-menu en `MAIAInput.tsx`.
18
+ */
19
+ var IS_AUTO_APPROVE_ENABLED = false;
11
20
  export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
12
21
  var _project$client3;
13
22
  var section = _ref.section,
@@ -35,7 +44,7 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
35
44
  isDeepSearchActive = _useState6[0],
36
45
  setIsDeepSearchActive = _useState6[1];
37
46
  var _useState7 = useState(function () {
38
- return readAutoApprove(user === null || user === void 0 ? void 0 : user.id);
47
+ return IS_AUTO_APPROVE_ENABLED && readAutoApprove(user === null || user === void 0 ? void 0 : user.id);
39
48
  }),
40
49
  _useState8 = _slicedToArray(_useState7, 2),
41
50
  isAutoApproveActive = _useState8[0],
@@ -146,7 +155,7 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
146
155
  });
147
156
  }, [user === null || user === void 0 ? void 0 : user.id]);
148
157
  useEffect(function () {
149
- setIsAutoApproveActive(readAutoApprove(user === null || user === void 0 ? void 0 : user.id));
158
+ setIsAutoApproveActive(IS_AUTO_APPROVE_ENABLED && readAutoApprove(user === null || user === void 0 ? void 0 : user.id));
150
159
  }, [user === null || user === void 0 ? void 0 : user.id]);
151
160
  var setChipsProject = useCallback(function (newChipsProject) {
152
161
  setChipsProjectState(newChipsProject);
@@ -227,4 +236,4 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
227
236
  restoreConfigureSettings: restoreConfigureSettings
228
237
  };
229
238
  };
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=
239
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwicmVhZEF1dG9BcHByb3ZlIiwid3JpdGVBdXRvQXBwcm92ZSIsImJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyIsInVzZVVzZXIiLCJ1c2VUV2l0aFNlY3Rpb24iLCJJU19BVVRPX0FQUFJPVkVfRU5BQkxFRCIsInVzZVByb2plY3RTdW1tYXJ5Q29uZmlnIiwiX3JlZiIsIl9wcm9qZWN0JGNsaWVudDMiLCJzZWN0aW9uIiwiZW50aXR5IiwicHJvamVjdCIsInNldFByb2plY3QiLCJfcmVmJGNsaWVudCIsImNsaWVudCIsImluaXRpYWxDbGllbnQiLCJzZXRDbGllbnRQcm9wIiwic2V0Q2xpZW50IiwiX3JlZiR0YXNrIiwidGFzayIsImluaXRpYWxUYXNrIiwiaGFzTXVsdGlBZ2VudHMiLCJ1c2VyIiwidCIsImNoYXRBSSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFnZW50Iiwic2V0QWdlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzV2ViU2VhcmNoQWN0aXZlIiwic2V0SXNXZWJTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInNldElzRGVlcFNlYXJjaEFjdGl2ZSIsIl91c2VTdGF0ZTciLCJpZCIsIl91c2VTdGF0ZTgiLCJpc0F1dG9BcHByb3ZlQWN0aXZlIiwic2V0SXNBdXRvQXBwcm92ZUFjdGl2ZSIsIl91c2VTdGF0ZTkiLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIl91c2VTdGF0ZTAiLCJlbnRpdHlWYWx1ZXMiLCJzZXRFbnRpdHlWYWx1ZXMiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJzZXRDbGllbnRTdGF0ZSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRUYXNrU3RhdGUiLCJzZXRUYXNrIiwibmV3VGFzayIsImNvbmZpZ3VyZVNldHRpbmdzSXRlbXMiLCJfdXNlU3RhdGUxMyIsIl9wcm9qZWN0JGNsaWVudCRuYW1lIiwiX3Byb2plY3QkY2xpZW50IiwiU3RyaW5nIiwicHJvamVjdE5hbWUiLCJuYW1lIiwiY2xpZW50TmFtZSIsIl91c2VTdGF0ZTE0IiwiY2hpcHNQcm9qZWN0Iiwic2V0Q2hpcHNQcm9qZWN0U3RhdGUiLCJwcmV2IiwiX3Byb2plY3QkY2xpZW50JG5hbWUyIiwiX3Byb2plY3QkY2xpZW50MiIsIl9lbnRpdHkkcHJvamVjdElkIiwiX2VudGl0eSRjbGllbnRJZCIsInJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyIsIl9jb25maWd1cmVTZXR0aW5nc0l0ZSIsImN1cnJlbnQiLCJtYXAiLCJpdGVtIiwiX29iamVjdFNwcmVhZCIsImNoZWNrZWQiLCJoaWRkZW4iLCJzZWxlY3RBZ2VudCIsIm5ld0FnZW50IiwiY2xlYXJBZ2VudCIsInRvZ2dsZVdlYlNlYXJjaCIsInRvZ2dsZURlZXBTZWFyY2giLCJ0b2dnbGVBdXRvQXBwcm92ZSIsIm5leHQiLCJzZXRDaGlwc1Byb2plY3QiLCJuZXdDaGlwc1Byb2plY3QiLCJwaW5uZWRDb250ZXh0IiwidHlwZSIsInBhcmVudHMiLCJjb250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVByb2plY3RTdW1tYXJ5Q29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgQ2hpcHNQcm9qZWN0LCBQaW5uZWRDb250ZXh0LCB0eXBlIFNlY3Rpb24gfSBmcm9tICcuLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgcmVhZEF1dG9BcHByb3ZlLCB3cml0ZUF1dG9BcHByb3ZlIH0gZnJvbSAnLi4vdXRpbHMvYXV0b0FwcHJvdmVTdG9yYWdlJ1xuaW1wb3J0IHsgYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Blcm1pc3Npb25zJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG5pbXBvcnQgeyB1c2VUV2l0aFNlY3Rpb24gfSBmcm9tICcuL3VzZVQnXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uL3R5cGVzL0NsaWVudCdcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi90eXBlcy9UYXNrJ1xuXG4vKipcbiAqIEF1dG8tYXBwcm92ZSBxdWVkYSBmdWVyYSBkZSBlc3RlIHJlbGVhc2UuIEVsIGFwYWdhZG8gdmEgYWPDoSwgZW4gZWwgb3JpZ2VuIGRlbFxuICogZXN0YWRvLCBwYXJhIHF1ZSBsYSBwcmVmZXJlbmNpYSB5YSBndWFyZGFkYSBlbiBsb2NhbFN0b3JhZ2Ugbm8gcHVlZGFcbiAqIHJlYWN0aXZhcmxvOiBzaW4gZXN0bywgcXVpZW4gbG8gYWN0aXbDsyBwcm9iYW5kbyBzZWd1aXLDrWEgbWFuZGFuZG9cbiAqIGBYLUhJVEwtQXBwcm92YWwtTW9kZTogZnVsbF9hY2Nlc3NgIHNpbiBVSSBwYXJhIGFwYWdhcmxvLlxuICogUGFyYSB2b2x2ZXIgYSBoYWJpbGl0YXJsbzogcG9uZXIgZW4gYHRydWVgIHkgZGVzY29tZW50YXIgZWwgaXRlbSBkZWxcbiAqIHBsdXMtbWVudSBlbiBgTUFJQUlucHV0LnRzeGAuXG4gKi9cbmNvbnN0IElTX0FVVE9fQVBQUk9WRV9FTkFCTEVEID0gZmFsc2VcblxudHlwZSBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzID0ge1xuICBzZWN0aW9uOiAncHJvamVjdCcgfCAnaGVhZGVyJyB8ICdjbGllbnQnIHwgJ3Rhc2snIHwgJ3BsYW5uZXInXG4gIGVudGl0eT86IHtcbiAgICBwcm9qZWN0SWQ6IHN0cmluZyB8IG51bGxcbiAgICBjbGllbnRJZDogc3RyaW5nIHwgbnVsbFxuICB9IHwgbnVsbFxuICBwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbFxuICBzZXRQcm9qZWN0OiAocHJvamVjdDogUHJvamVjdCB8IG51bGwpID0+IHZvaWRcbiAgY2xpZW50PzogQ2xpZW50IHwgbnVsbFxuICBzZXRDbGllbnQ/OiAoY2xpZW50OiBDbGllbnQgfCBudWxsKSA9PiB2b2lkXG4gIHRhc2s/OiBUYXNrIHwgbnVsbFxuICBoYXNNdWx0aUFnZW50cz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHVzZVByb2plY3RTdW1tYXJ5Q29uZmlnID0gKHtcbiAgc2VjdGlvbixcbiAgZW50aXR5LFxuICBwcm9qZWN0LFxuICBzZXRQcm9qZWN0LFxuICBjbGllbnQ6IGluaXRpYWxDbGllbnQgPSBudWxsLFxuICBzZXRDbGllbnQ6IHNldENsaWVudFByb3AsXG4gIHRhc2s6IGluaXRpYWxUYXNrID0gbnVsbCxcbiAgaGFzTXVsdGlBZ2VudHMsXG59OiBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgdCA9IHVzZVRXaXRoU2VjdGlvbihTRUNUSU9OUy5jaGF0QUkpXG4gIGNvbnN0IFthZ2VudCwgc2V0QWdlbnRdID0gdXNlU3RhdGU8QWdlbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNXZWJTZWFyY2hBY3RpdmUsIHNldElzV2ViU2VhcmNoQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCBbaXNEZWVwU2VhcmNoQWN0aXZlLCBzZXRJc0RlZXBTZWFyY2hBY3RpdmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtpc0F1dG9BcHByb3ZlQWN0aXZlLCBzZXRJc0F1dG9BcHByb3ZlQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KFxuICAgICgpID0+IElTX0FVVE9fQVBQUk9WRV9FTkFCTEVEICYmIHJlYWRBdXRvQXBwcm92ZSh1c2VyPy5pZClcbiAgKVxuICBjb25zdCBbZW50aXR5VmFsdWVzLCBzZXRFbnRpdHlWYWx1ZXNdID0gdXNlU3RhdGU8e1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0+KGVudGl0eSB8fCB7IHByb2plY3RJZDogbnVsbCwgY2xpZW50SWQ6IG51bGwgfSlcbiAgY29uc3QgW2NsaWVudCwgc2V0Q2xpZW50U3RhdGVdID0gdXNlU3RhdGU8Q2xpZW50IHwgbnVsbD4oaW5pdGlhbENsaWVudCA/PyBudWxsKVxuXG4gIGNvbnN0IHNldENsaWVudCA9IHNldENsaWVudFByb3AgPz8gc2V0Q2xpZW50U3RhdGVcblxuICBjb25zdCBbdGFzaywgc2V0VGFza1N0YXRlXSA9IHVzZVN0YXRlPFRhc2sgfCBudWxsPihpbml0aWFsVGFzayA/PyBudWxsKVxuICBjb25zdCBzZXRUYXNrID0gdXNlQ2FsbGJhY2soKG5ld1Rhc2s6IFRhc2sgfCBudWxsKSA9PiBzZXRUYXNrU3RhdGUobmV3VGFzayksIFtdKVxuXG4gIGNvbnN0IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMgPSB1c2VSZWYoYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zKHVzZXIsIHQpKVxuICBjb25zdCBbY2hpcHNQcm9qZWN0LCBzZXRDaGlwc1Byb2plY3RTdGF0ZV0gPSB1c2VTdGF0ZTxDaGlwc1Byb2plY3QgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ3Rhc2snKSAmJiBwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0LmlkKSxcbiAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgY2xpZW50TmFtZTogcHJvamVjdC5jbGllbnQ/Lm5hbWUgPz8gJycsXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0pXG5cbiAgLy8gU2luY3Jvbml6YXIgY2hpcHNQcm9qZWN0IGN1YW5kbyBlbCBwcm9qZWN0IHByb3AgY2FtYmlhIChlai4gbmF2ZWdhY2nDs24gZW50cmUgcHJveWVjdG9zIG8gdGFyZWFzKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICgoc2VjdGlvbiA9PT0gJ3Byb2plY3QnIHx8IHNlY3Rpb24gPT09ICd0YXNrJykgJiYgcHJvamVjdD8uaWQgIT0gbnVsbCkge1xuICAgICAgc2V0Q2hpcHNQcm9qZWN0U3RhdGUocHJldiA9PiB7XG4gICAgICAgIGlmIChwcmV2Py5wcm9qZWN0SWQgPT09IFN0cmluZyhwcm9qZWN0LmlkKSkgcmV0dXJuIHByZXZcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9qZWN0SWQ6IFN0cmluZyhwcm9qZWN0LmlkKSxcbiAgICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgICAgIGNsaWVudE5hbWU6IHByb2plY3QuY2xpZW50Py5uYW1lID8/ICcnLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIHByb2plY3Q/LmlkLCBwcm9qZWN0Py5uYW1lLCBwcm9qZWN0Py5jbGllbnQ/Lm5hbWVdKVxuXG4gIC8vIFNpbmNyb25pemFyIGNsaWVudCBjdWFuZG8gbGEgcHJvcCBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXIgKGVqLiBzZWN0aW9uIGNsaWVudCwgZGF0b3MgYXN5bmMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICdjbGllbnQnKSB7XG4gICAgICBzZXRDbGllbnRTdGF0ZShpbml0aWFsQ2xpZW50ID8/IG51bGwpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgaW5pdGlhbENsaWVudF0pXG5cbiAgLy8gU2luY3Jvbml6YXIgdGFzayBjdWFuZG8gbGEgcHJvcCBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXJcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VjdGlvbiA9PT0gJ3Rhc2snKSB7XG4gICAgICBzZXRUYXNrU3RhdGUoaW5pdGlhbFRhc2sgPz8gbnVsbClcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBpbml0aWFsVGFza10pXG5cbiAgLy8gU2luY3Jvbml6YXIgZW50aXR5VmFsdWVzIGN1YW5kbyBlbnRpdHkgY2FtYmllIChlai4gbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChlbnRpdHkgIT0gbnVsbCkge1xuICAgICAgc2V0RW50aXR5VmFsdWVzKHtcbiAgICAgICAgcHJvamVjdElkOiBlbnRpdHkucHJvamVjdElkID8/IG51bGwsXG4gICAgICAgIGNsaWVudElkOiBlbnRpdHkuY2xpZW50SWQgPz8gbnVsbCxcbiAgICAgIH0pXG4gICAgfVxuICB9LCBbZW50aXR5Py5wcm9qZWN0SWQsIGVudGl0eT8uY2xpZW50SWRdKVxuXG4gIGNvbnN0IHJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLmN1cnJlbnQgPSBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLmN1cnJlbnQ/Lm1hcChpdGVtID0+ICh7XG4gICAgICAuLi5pdGVtLFxuICAgICAgY2hlY2tlZDogIWl0ZW0uaGlkZGVuLFxuICAgIH0pKVxuICB9LCBbXSlcblxuICBjb25zdCBzZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKChuZXdBZ2VudDogQWdlbnQpID0+IHtcbiAgICBzZXRBZ2VudChuZXdBZ2VudClcbiAgfSwgW10pXG5cbiAgY29uc3QgY2xlYXJBZ2VudCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRBZ2VudChudWxsKVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVXZWJTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNXZWJTZWFyY2hBY3RpdmUocHJldiA9PiAhcHJldilcbiAgfSwgW10pXG5cbiAgY29uc3QgdG9nZ2xlRGVlcFNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc0RlZXBTZWFyY2hBY3RpdmUocHJldiA9PiAhcHJldilcbiAgfSwgW10pXG5cbiAgY29uc3QgdG9nZ2xlQXV0b0FwcHJvdmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNBdXRvQXBwcm92ZUFjdGl2ZShwcmV2ID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSAhcHJldlxuICAgICAgd3JpdGVBdXRvQXBwcm92ZSh1c2VyPy5pZCwgbmV4dClcbiAgICAgIHJldHVybiBuZXh0XG4gICAgfSlcbiAgfSwgW3VzZXI/LmlkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldElzQXV0b0FwcHJvdmVBY3RpdmUoSVNfQVVUT19BUFBST1ZFX0VOQUJMRUQgJiYgcmVhZEF1dG9BcHByb3ZlKHVzZXI/LmlkKSlcbiAgfSwgW3VzZXI/LmlkXSlcblxuICBjb25zdCBzZXRDaGlwc1Byb2plY3QgPSB1c2VDYWxsYmFjaygobmV3Q2hpcHNQcm9qZWN0OiBDaGlwc1Byb2plY3QgfCBudWxsKSA9PiB7XG4gICAgc2V0Q2hpcHNQcm9qZWN0U3RhdGUobmV3Q2hpcHNQcm9qZWN0KVxuICB9LCBbXSlcblxuICAvLyBQaW4gZGVyaXZhZG8gKFJGQyDCpzEyLjIpOiBsYSBlbnRpZGFkIG3DoXMgZXNwZWPDrWZpY2EgYWN0aXZhICh0YXJlYSA+IHByb3llY3RvID4gY2xpZW50ZSksXG4gIC8vIGNvbiBzdSBzY29wZSBoYWNpYSBhcnJpYmEgZW4gYHBhcmVudHNgLiBNb25vIGhveTsgYXJyYXktcmVhZHkgcGFyYSBjcm9zcy1lbnRpdHkuXG4gIGNvbnN0IHBpbm5lZENvbnRleHQgPSB1c2VNZW1vPFBpbm5lZENvbnRleHQgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKHRhc2s/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICd0YXNrJyxcbiAgICAgICAgaWQ6IHRhc2suaWQsXG4gICAgICAgIG5hbWU6IHRhc2submFtZSxcbiAgICAgICAgcGFyZW50czoge1xuICAgICAgICAgIC4uLih0YXNrLmNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudElkOiB0YXNrLmNsaWVudElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHRhc2sucHJvamVjdElkICE9IG51bGwgPyB7IHByb2plY3RJZDogdGFzay5wcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncHJvamVjdCcsXG4gICAgICAgIGlkOiBjaGlwc1Byb2plY3QucHJvamVjdElkLFxuICAgICAgICBuYW1lOiBjaGlwc1Byb2plY3QucHJvamVjdE5hbWUsXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncHJvamVjdCcsXG4gICAgICAgIGlkOiBwcm9qZWN0LmlkLFxuICAgICAgICBuYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgIC4uLihwcm9qZWN0LmNsaWVudElkICE9IG51bGwgPyB7IHBhcmVudHM6IHsgY2xpZW50SWQ6IHByb2plY3QuY2xpZW50SWQgfSB9IDoge30pLFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2xpZW50Py5pZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm4geyB0eXBlOiAnY2xpZW50JywgaWQ6IGNsaWVudC5pZCwgbmFtZTogY2xpZW50Lm5hbWUgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9LCBbXG4gICAgdGFzaz8uaWQsXG4gICAgdGFzaz8ubmFtZSxcbiAgICB0YXNrPy5jbGllbnRJZCxcbiAgICB0YXNrPy5wcm9qZWN0SWQsXG4gICAgY2hpcHNQcm9qZWN0LFxuICAgIHByb2plY3Q/LmlkLFxuICAgIHByb2plY3Q/Lm5hbWUsXG4gICAgcHJvamVjdD8uY2xpZW50SWQsXG4gICAgY2xpZW50Py5pZCxcbiAgICBjbGllbnQ/Lm5hbWUsXG4gIF0pXG5cbiAgY29uc3QgY29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGVudGl0eVZhbHVlcyxcbiAgICAgIHNlY3Rpb246IHNlY3Rpb24gYXMgU2VjdGlvbixcbiAgICAgIGFnZW50LFxuICAgICAgc2VsZWN0QWdlbnQsXG4gICAgICBjbGVhckFnZW50LFxuICAgICAgY29uZmlndXJlU2V0dGluZ3NJdGVtcyxcbiAgICAgIHJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyxcbiAgICAgIHNldEVudGl0eVZhbHVlcyxcbiAgICAgIHByb2plY3QsXG4gICAgICBzZXRQcm9qZWN0LFxuICAgICAgY2xpZW50LFxuICAgICAgc2V0Q2xpZW50LFxuICAgICAgdGFzayxcbiAgICAgIHNldFRhc2ssXG4gICAgICBpc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgIHRvZ2dsZVdlYlNlYXJjaCxcbiAgICAgIGlzQXV0b0FwcHJvdmVBY3RpdmUsXG4gICAgICB0b2dnbGVBdXRvQXBwcm92ZSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgIHRvZ2dsZURlZXBTZWFyY2gsXG4gICAgICBoYXNNdWx0aUFnZW50cyxcbiAgICAgIGNoaXBzUHJvamVjdCxcbiAgICAgIHNldENoaXBzUHJvamVjdCxcbiAgICAgIHBpbm5lZENvbnRleHQsXG4gICAgfSksXG4gICAgW1xuICAgICAgc2VjdGlvbixcbiAgICAgIGVudGl0eVZhbHVlcz8ucHJvamVjdElkLFxuICAgICAgZW50aXR5VmFsdWVzPy5jbGllbnRJZCxcbiAgICAgIGFnZW50LFxuICAgICAgc2VsZWN0QWdlbnQsXG4gICAgICBjbGVhckFnZW50LFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgcHJvamVjdD8uaWQsXG4gICAgICBzZXRQcm9qZWN0LFxuICAgICAgY2xpZW50Py5pZCxcbiAgICAgIHNldENsaWVudCxcbiAgICAgIHRhc2s/LmlkLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNBdXRvQXBwcm92ZUFjdGl2ZSxcbiAgICAgIHRvZ2dsZUF1dG9BcHByb3ZlLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICBdXG4gIClcblxuICByZXR1cm4ge1xuICAgIGNvbnRleHQsXG4gICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUFTQSxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBR3pFLFNBQVNDLFFBQVEsUUFBUSxxQkFBcUI7QUFDOUMsU0FBU0MsZUFBZSxFQUFFQyxnQkFBZ0IsUUFBUSw2QkFBNkI7QUFDL0UsU0FBU0MsMkJBQTJCLFFBQVEsMEJBQTBCO0FBQ3RFLFNBQVNDLE9BQU8sUUFBUSxxQkFBcUI7QUFHN0MsU0FBU0MsZUFBZSxRQUFRLFFBQVE7QUFLeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1DLHVCQUF1QixHQUFHLEtBQUs7QUFnQnJDLE9BQU8sSUFBTUMsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBQUMsSUFBQSxFQVNIO0VBQUEsSUFBQUMsZ0JBQUE7RUFBQSxJQVIvQkMsT0FBTyxHQUFBRixJQUFBLENBQVBFLE9BQU87SUFDUEMsTUFBTSxH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
@@ -2,6 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
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
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 { findLeadingNarration, hasActionStep, LEADING_NARRATION_INDEX, looksLikeIntermediateNarrationStream, narrationTextsRelated, placeLeadingNarrationFirst } from '../../components/atoms/ReasoningBlock/reasoningLeading';
5
6
  import { mapReasoningStep, mapReasoningTrace } from '../../utils/reasoningMappers';
6
7
  var EMPTY = {
7
8
  id: null,
@@ -9,7 +10,9 @@ var EMPTY = {
9
10
  summary: null,
10
11
  phase: 'idle'
11
12
  };
12
- var snapshot = EMPTY;
13
+ var snapshots = new Map();
14
+ /** Entre `reasoning_step` narración y el `answer_reset` posterior. */
15
+ var narrationHandoffPending = new Set();
13
16
  var listeners = new Set();
14
17
  var emitChange = function emitChange() {
15
18
  listeners.forEach(function (listener) {
@@ -29,28 +32,34 @@ var upsertStep = function upsertStep(steps, step) {
29
32
  next[at] = step;
30
33
  return next;
31
34
  };
35
+ var ensureStreaming = function ensureStreaming(id) {
36
+ var existing = snapshots.get(id);
37
+ if (existing) return existing;
38
+ var created = {
39
+ id: id,
40
+ steps: [],
41
+ summary: null,
42
+ phase: 'streaming'
43
+ };
44
+ snapshots.set(id, created);
45
+ return created;
46
+ };
32
47
  export var reasoningStore = {
33
48
  start: function start(id) {
34
- snapshot = {
49
+ snapshots.set(id, {
35
50
  id: id,
36
51
  steps: [],
37
52
  summary: null,
38
53
  phase: 'streaming'
39
- };
54
+ });
55
+ narrationHandoffPending["delete"](id);
40
56
  emitChange();
41
57
  },
42
58
  appendThinking: function appendThinking(id, index, delta) {
43
59
  var _existing$text;
44
60
  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) {
61
+ var current = ensureStreaming(id);
62
+ var existing = current.steps.find(function (step) {
54
63
  return step.i === index;
55
64
  });
56
65
  var step = existing && existing.type === 'thinking' ? _objectSpread(_objectSpread({}, existing), {}, {
@@ -60,70 +69,138 @@ export var reasoningStore = {
60
69
  type: 'thinking',
61
70
  text: delta
62
71
  };
63
- snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
64
- steps: upsertStep(snapshot.steps, step),
72
+ snapshots.set(id, _objectSpread(_objectSpread({}, current), {}, {
73
+ steps: upsertStep(current.steps, step),
65
74
  phase: 'streaming'
66
- });
75
+ }));
67
76
  emitChange();
68
77
  },
69
78
  applyStep: function applyStep(id, payload) {
70
79
  var _payload$type;
71
- if (snapshot.id !== id) {
72
- snapshot = {
73
- id: id,
74
- steps: [],
75
- summary: null,
76
- phase: 'streaming'
77
- };
78
- }
80
+ var current = ensureStreaming(id);
79
81
  var incoming = mapReasoningStep(payload);
80
- var existing = snapshot.steps.find(function (step) {
82
+ var leading = findLeadingNarration(current.steps);
83
+
84
+ // Narración del back que es la misma que ya anclamos al inicio: no duplicar al final.
85
+ if (incoming.type === 'narration' && leading && narrationTextsRelated(leading.text, incoming.text)) {
86
+ narrationHandoffPending.add(id);
87
+ emitChange();
88
+ return;
89
+ }
90
+ var existing = current.steps.find(function (step) {
81
91
  return step.i === incoming.i;
82
92
  });
83
93
  var step = existing ? _objectSpread(_objectSpread(_objectSpread({}, existing), incoming), {}, {
84
94
  type: (_payload$type = payload.type) !== null && _payload$type !== void 0 ? _payload$type : existing.type
85
95
  }) : incoming;
86
- snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
87
- steps: upsertStep(snapshot.steps, step),
96
+ if (payload.type === 'narration') {
97
+ narrationHandoffPending.add(id);
98
+ }
99
+ snapshots.set(id, _objectSpread(_objectSpread({}, current), {}, {
100
+ steps: upsertStep(current.steps, step),
88
101
  phase: 'streaming'
89
- });
102
+ }));
90
103
  emitChange();
91
104
  },
105
+ /**
106
+ * Tokens antes de la primera acción: se anclan como primer paso. Cuando llega
107
+ * un tool/handoff se congelan para no recogerse detrás de cada step nuevo.
108
+ */
109
+ syncLiveNarration: function syncLiveNarration(id, text) {
110
+ var current = ensureStreaming(id);
111
+ if (hasActionStep(current.steps)) return;
112
+ var existing = findLeadingNarration(current.steps);
113
+ var trimmed = text.trim();
114
+ if (!trimmed || !looksLikeIntermediateNarrationStream(text)) {
115
+ if (!existing) return;
116
+ snapshots.set(id, _objectSpread(_objectSpread({}, current), {}, {
117
+ steps: current.steps.filter(function (step) {
118
+ return step.i !== LEADING_NARRATION_INDEX;
119
+ }),
120
+ phase: 'streaming'
121
+ }));
122
+ emitChange();
123
+ return;
124
+ }
125
+ var step = {
126
+ i: LEADING_NARRATION_INDEX,
127
+ type: 'narration',
128
+ text: text
129
+ };
130
+ snapshots.set(id, _objectSpread(_objectSpread({}, current), {}, {
131
+ steps: upsertStep(current.steps, step),
132
+ phase: 'streaming'
133
+ }));
134
+ emitChange();
135
+ },
136
+ /** El body todavía es solo la narración anclada: se puede limpiar como un answer_reset. */shouldClearStreamForLeading: function shouldClearStreamForLeading(id, accumulated) {
137
+ var current = snapshots.get(id);
138
+ if (!current || !hasActionStep(current.steps)) return false;
139
+ var leading = findLeadingNarration(current.steps);
140
+ if (!(leading !== null && leading !== void 0 && leading.text)) return false;
141
+ var acc = accumulated.trim();
142
+ var lead = leading.text.trim();
143
+ return acc === lead || lead.startsWith(acc);
144
+ },
145
+ /** Tras answer_reset: lo que sigue en el body es respuesta final, no narración en traza. */markAnswerReset: function markAnswerReset(id) {
146
+ if (!narrationHandoffPending["delete"](id)) return;
147
+ emitChange();
148
+ },
149
+ isNarrationHandoffPending: function isNarrationHandoffPending(id) {
150
+ return narrationHandoffPending.has(id);
151
+ },
92
152
  finish: function finish(id, trace) {
153
+ narrationHandoffPending["delete"](id);
154
+ var live = snapshots.get(id);
93
155
  var authoritative = mapReasoningTrace(trace);
94
156
  if (authoritative) {
95
- snapshot = {
157
+ var _live$steps;
158
+ var _steps = placeLeadingNarrationFirst((_live$steps = live === null || live === void 0 ? void 0 : live.steps) !== null && _live$steps !== void 0 ? _live$steps : [], authoritative.steps);
159
+ snapshots.set(id, {
96
160
  id: id,
97
- steps: authoritative.steps,
161
+ steps: _steps,
98
162
  summary: authoritative.summary,
99
163
  phase: 'done'
100
- };
164
+ });
101
165
  emitChange();
102
166
  return;
103
167
  }
104
- if (snapshot.id !== id) return;
105
- var steps = snapshot.steps.map(function (step) {
168
+ var current = snapshots.get(id);
169
+ if (!current) return;
170
+ var steps = current.steps.map(function (step) {
106
171
  return step.status === 'running' ? _objectSpread(_objectSpread({}, step), {}, {
107
172
  status: 'ok'
108
173
  }) : step;
109
174
  });
110
- snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
175
+ snapshots.set(id, _objectSpread(_objectSpread({}, current), {}, {
111
176
  steps: steps,
112
177
  summary: null,
113
178
  phase: 'done'
114
- });
179
+ }));
115
180
  emitChange();
116
181
  },
117
182
  clear: function clear() {
118
- if (snapshot === EMPTY) return;
119
- snapshot = EMPTY;
183
+ if (snapshots.size === 0 && narrationHandoffPending.size === 0) return;
184
+ snapshots.clear();
185
+ narrationHandoffPending.clear();
120
186
  emitChange();
121
187
  },
188
+ remove: function remove(id) {
189
+ var hadSnapshot = snapshots["delete"](id);
190
+ var hadHandoff = narrationHandoffPending["delete"](id);
191
+ if (hadSnapshot || hadHandoff) emitChange();
192
+ },
122
193
  rename: function rename(fromId, toId) {
123
- if (snapshot.id !== fromId) return;
124
- snapshot = _objectSpread(_objectSpread({}, snapshot), {}, {
194
+ var current = snapshots.get(fromId);
195
+ if (!current) return;
196
+ snapshots["delete"](fromId);
197
+ snapshots.set(toId, _objectSpread(_objectSpread({}, current), {}, {
125
198
  id: toId
126
- });
199
+ }));
200
+ if (narrationHandoffPending.has(fromId)) {
201
+ narrationHandoffPending["delete"](fromId);
202
+ narrationHandoffPending.add(toId);
203
+ }
127
204
  emitChange();
128
205
  },
129
206
  subscribe: function subscribe(listener) {
@@ -133,10 +210,13 @@ export var reasoningStore = {
133
210
  };
134
211
  },
135
212
  getSnapshot: function getSnapshot() {
136
- return snapshot;
213
+ var _snapshots$get;
214
+ var messageId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
215
+ if (!messageId) return EMPTY;
216
+ return (_snapshots$get = snapshots.get(messageId)) !== null && _snapshots$get !== void 0 ? _snapshots$get : EMPTY;
137
217
  },
138
218
  getServerSnapshot: function getServerSnapshot() {
139
219
  return EMPTY;
140
220
  }
141
221
  };
142
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBSZWFzb25pbmdTdGVwIiwibWFwUmVhc29uaW5nVHJhY2UiLCJFTVBUWSIsImlkIiwic3RlcHMiLCJzdW1tYXJ5IiwicGhhc2UiLCJzbmFwc2hvdCIsImxpc3RlbmVycyIsIlNldCIsImVtaXRDaGFuZ2UiLCJmb3JFYWNoIiwibGlzdGVuZXIiLCJ1cHNlcnRTdGVwIiwic3RlcCIsImF0IiwiZmluZEluZGV4IiwiY3VycmVudCIsImkiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0IiwiYSIsImIiLCJuZXh0Iiwic2xpY2UiLCJyZWFzb25pbmdTdG9yZSIsInN0YXJ0IiwiYXBwZW5kVGhpbmtpbmciLCJpbmRleCIsImRlbHRhIiwiX2V4aXN0aW5nJHRleHQiLCJleGlzdGluZyIsImZpbmQiLCJ0eXBlIiwiX29iamVjdFNwcmVhZCIsInRleHQiLCJhcHBseVN0ZXAiLCJwYXlsb2FkIiwiX3BheWxvYWQkdHlwZSIsImluY29taW5nIiwiZmluaXNoIiwidHJhY2UiLCJhdXRob3JpdGF0aXZlIiwibWFwIiwic3RhdHVzIiwiY2xlYXIiLCJyZW5hbWUiLCJmcm9tSWQiLCJ0b0lkIiwic3Vic2NyaWJlIiwiYWRkIiwiZ2V0U25hcHNob3QiLCJnZXRTZXJ2ZXJTbmFwc2hvdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VSZWFzb25pbmdUcmFjZS9yZWFzb25pbmdTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFJlYXNvbmluZ1N0ZXAsXG4gIFJlYXNvbmluZ1N0ZXBQYXlsb2FkLFxuICBSZWFzb25pbmdTdW1tYXJ5LFxuICBSZWFzb25pbmdUcmFjZVBheWxvYWQsXG59IGZyb20gJy4uLy4uL3R5cGVzL3JlYXNvbmluZydcbmltcG9ydCB7IG1hcFJlYXNvbmluZ1N0ZXAsIG1hcFJlYXNvbmluZ1RyYWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvcmVhc29uaW5nTWFwcGVycydcblxuZXhwb3J0IHR5cGUgUmVhc29uaW5nUGhhc2UgPSAnaWRsZScgfCAnc3RyZWFtaW5nJyB8ICdkb25lJ1xuXG5leHBvcnQgdHlwZSBSZWFzb25pbmdTbmFwc2hvdCA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bGxcbiAgc3RlcHM6IFJlYXNvbmluZ1N0ZXBbXVxuICBzdW1tYXJ5OiBSZWFzb25pbmdTdW1tYXJ5IHwgbnVsbFxuICBwaGFzZTogUmVhc29uaW5nUGhhc2Vcbn1cblxuY29uc3QgRU1QVFk6IFJlYXNvbmluZ1NuYXBzaG90ID0geyBpZDogbnVsbCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ2lkbGUnIH1cblxubGV0IHNuYXBzaG90OiBSZWFzb25pbmdTbmFwc2hvdCA9IEVNUFRZXG5jb25zdCBsaXN0ZW5lcnMgPSBuZXcgU2V0PCgpID0+IHZvaWQ+KClcblxuY29uc3QgZW1pdENoYW5nZSA9ICgpID0+IHtcbiAgbGlzdGVuZXJzLmZvckVhY2gobGlzdGVuZXIgPT4ge1xuICAgIGxpc3RlbmVyKClcbiAgfSlcbn1cblxuY29uc3QgdXBzZXJ0U3RlcCA9IChzdGVwczogUmVhc29uaW5nU3RlcFtdLCBzdGVwOiBSZWFzb25pbmdTdGVwKTogUmVhc29uaW5nU3RlcFtdID0+IHtcbiAgY29uc3QgYXQgPSBzdGVwcy5maW5kSW5kZXgoY3VycmVudCA9PiBjdXJyZW50LmkgPT09IHN0ZXAuaSlcbiAgaWYgKGF0ID09PSAtMSkge1xuICAgIHJldHVybiBbLi4uc3RlcHMsIHN0ZXBdLnNvcnQoKGEsIGIpID0+IGEuaSAtIGIuaSlcbiAgfVxuICBjb25zdCBuZXh0ID0gc3RlcHMuc2xpY2UoKVxuICBuZXh0W2F0XSA9IHN0ZXBcbiAgcmV0dXJuIG5leHRcbn1cblxuZXhwb3J0IGNvbnN0IHJlYXNvbmluZ1N0b3JlID0ge1xuICBzdGFydChpZDogc3RyaW5nKSB7XG4gICAgc25hcHNob3QgPSB7IGlkLCBzdGVwczogW10sIHN1bW1hcnk6IG51bGwsIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgYXBwZW5kVGhpbmtpbmcoaWQ6IHN0cmluZywgaW5kZXg6IG51bWJlciwgZGVsdGE6IHN0cmluZykge1xuICAgIGlmICghZGVsdGEpIHJldHVyblxuICAgIGlmIChzbmFwc2hvdC5pZCAhPT0gaWQpIHtcbiAgICAgIHNuYXBzaG90ID0geyBpZCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ3N0cmVhbWluZycgfVxuICAgIH1cbiAgICBjb25zdCBleGlzdGluZyA9IHNuYXBzaG90LnN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLmkgPT09IGluZGV4KVxuICAgIGNvbnN0IHN0ZXA6IFJlYXNvbmluZ1N0ZXAgPVxuICAgICAgZXhpc3RpbmcgJiYgZXhpc3RpbmcudHlwZSA9PT0gJ3RoaW5raW5nJ1xuICAgICAgICA/IHsgLi4uZXhpc3RpbmcsIHRleHQ6IGAke2V4aXN0aW5nLnRleHQgPz8gJyd9JHtkZWx0YX1gIH1cbiAgICAgICAgOiB7IGk6IGluZGV4LCB0eXBlOiAndGhpbmtpbmcnLCB0ZXh0OiBkZWx0YSB9XG4gICAgc25hcHNob3QgPSB7IC4uLnNuYXBzaG90LCBzdGVwczogdXBzZXJ0U3RlcChzbmFwc2hvdC5zdGVwcywgc3RlcCksIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgYXBwbHlTdGVwKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFJlYXNvbmluZ1N0ZXBQYXlsb2FkKSB7XG4gICAgaWYgKHNuYXBzaG90LmlkICE9PSBpZCkge1xuICAgICAgc25hcHNob3QgPSB7IGlkLCBzdGVwczogW10sIHN1bW1hcnk6IG51bGwsIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgfVxuICAgIGNvbnN0IGluY29taW5nID0gbWFwUmVhc29uaW5nU3RlcChwYXlsb2FkKVxuICAgIGNvbnN0IGV4aXN0aW5nID0gc25hcHNob3Quc3RlcHMuZmluZChzdGVwID0+IHN0ZXAuaSA9PT0gaW5jb21pbmcuaSlcbiAgICBjb25zdCBzdGVwID0gZXhpc3RpbmcgPyB7IC4uLmV4aXN0aW5nLCAuLi5pbmNvbWluZywgdHlwZTogcGF5bG9hZC50eXBlID8/IGV4aXN0aW5nLnR5cGUgfSA6IGluY29taW5nXG4gICAgc25hcHNob3QgPSB7IC4uLnNuYXBzaG90LCBzdGVwczogdXBzZXJ0U3RlcChzbmFwc2hvdC5zdGVwcywgc3RlcCksIHBoYXNlOiAnc3RyZWFtaW5nJyB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgZmluaXNoKGlkOiBzdHJpbmcsIHRyYWNlOiBSZWFzb25pbmdUcmFjZVBheWxvYWQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgYXV0aG9yaXRhdGl2ZSA9IG1hcFJlYXNvbmluZ1RyYWNlKHRyYWNlKVxuICAgIGlmIChhdXRob3JpdGF0aXZlKSB7XG4gICAgICBzbmFwc2hvdCA9IHsgaWQsIHN0ZXBzOiBhdXRob3JpdGF0aXZlLnN0ZXBzLCBzdW1tYXJ5OiBhdXRob3JpdGF0aXZlLnN1bW1hcnksIHBoYXNlOiAnZG9uZScgfVxuICAgICAgZW1pdENoYW5nZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHNuYXBzaG90LmlkICE9PSBpZCkgcmV0dXJuXG4gICAgY29uc3Qgc3RlcHMgPSBzbmFwc2hvdC5zdGVwcy5tYXAoc3RlcCA9PiAoc3RlcC5zdGF0dXMgPT09ICdydW5uaW5nJyA/IHsgLi4uc3RlcCwgc3RhdHVzOiAnb2snIGFzIGNvbnN0IH0gOiBzdGVwKSlcbiAgICBzbmFwc2hvdCA9IHsgLi4uc25hcHNob3QsIHN0ZXBzLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ2RvbmUnIH1cbiAgICBlbWl0Q2hhbmdlKClcbiAgfSxcblxuICBjbGVhcigpIHtcbiAgICBpZiAoc25hcHNob3QgPT09IEVNUFRZKSByZXR1cm5cbiAgICBzbmFwc2hvdCA9IEVNUFRZXG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgcmVuYW1lKGZyb21JZDogc3RyaW5nLCB0b0lkOiBzdHJpbmcpIHtcbiAgICBpZiAoc25hcHNob3QuaWQgIT09IGZyb21JZCkgcmV0dXJuXG4gICAgc25hcHNob3QgPSB7IC4uLnNuYXBzaG90LCBpZDogdG9JZCB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgc3Vic2NyaWJlKGxpc3RlbmVyOiAoKSA9PiB2b2lkKSB7XG4gICAgbGlzdGVuZXJzLmFkZChsaXN0ZW5lcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lcilcbiAgICB9XG4gIH0sXG5cbiAgZ2V0U25hcHNob3QoKTogUmVhc29uaW5nU25hcHNob3Qge1xuICAgIHJldHVybiBzbmFwc2hvdFxuICB9LFxuXG4gIGdldFNlcnZlclNuYXBzaG90KCk6IFJlYXNvbmluZ1NuYXBzaG90IHtcbiAgICByZXR1cm4gRU1QVFlcbiAgfSxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQU1BLFNBQVNBLGdCQUFnQixFQUFFQyxpQkFBaUIsUUFBUSw4QkFBOEI7QUFXbEYsSUFBTUMsS0FBd0IsR0FBRztFQUFFQyxFQUFFLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUUsRUFBRTtFQUFFQyxPQUFPLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUU7QUFBTyxDQUFDO0FBRXRGLElBQUlDLFFBQTJCLEdBQUdMLEtBQUs7QUFDdkMsSUFBTU0sU0FBUyxHQUFHLElBQUlDLEdBQUcsQ0FBYSxDQUFDO0FBRXZDLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBLEVBQVM7RUFDdkJGLFNBQVMsQ0FBQ0csT0FBTyxDQUFDLFVBQUFDLFFBQVEsRUFBSTtJQUM1QkEsUUFBUSxDQUFDLENBQUM7RUFDWixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlULEtBQXNCLEVBQUVVLElBQW1CLEVBQXNCO0VBQ25GLElBQU1DLEVBQUUsR0FBR1gsS0FBSyxDQUFDWSxTQUFTLENBQUMsVUFBQUMsT0FBTztJQUFBLE9BQUlBLE9BQU8sQ0FBQ0MsQ0FB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
222
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaW5kTGVhZGluZ05hcnJhdGlvbiIsImhhc0FjdGlvblN0ZXAiLCJMRUFESU5HX05BUlJBVElPTl9JTkRFWCIsImxvb2tzTGlrZUludGVybWVkaWF0ZU5hcnJhdGlvblN0cmVhbSIsIm5hcnJhdGlvblRleHRzUmVsYXRlZCIsInBsYWNlTGVhZGluZ05hcnJhdGlvbkZpcnN0IiwibWFwUmVhc29uaW5nU3RlcCIsIm1hcFJlYXNvbmluZ1RyYWNlIiwiRU1QVFkiLCJpZCIsInN0ZXBzIiwic3VtbWFyeSIsInBoYXNlIiwic25hcHNob3RzIiwiTWFwIiwibmFycmF0aW9uSGFuZG9mZlBlbmRpbmciLCJTZXQiLCJsaXN0ZW5lcnMiLCJlbWl0Q2hhbmdlIiwiZm9yRWFjaCIsImxpc3RlbmVyIiwidXBzZXJ0U3RlcCIsInN0ZXAiLCJhdCIsImZpbmRJbmRleCIsImN1cnJlbnQiLCJpIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5Iiwic29ydCIsImEiLCJiIiwibmV4dCIsInNsaWNlIiwiZW5zdXJlU3RyZWFtaW5nIiwiZXhpc3RpbmciLCJnZXQiLCJjcmVhdGVkIiwic2V0IiwicmVhc29uaW5nU3RvcmUiLCJzdGFydCIsImFwcGVuZFRoaW5raW5nIiwiaW5kZXgiLCJkZWx0YSIsIl9leGlzdGluZyR0ZXh0IiwiZmluZCIsInR5cGUiLCJfb2JqZWN0U3ByZWFkIiwidGV4dCIsImFwcGx5U3RlcCIsInBheWxvYWQiLCJfcGF5bG9hZCR0eXBlIiwiaW5jb21pbmciLCJsZWFkaW5nIiwiYWRkIiwic3luY0xpdmVOYXJyYXRpb24iLCJ0cmltbWVkIiwidHJpbSIsImZpbHRlciIsInNob3VsZENsZWFyU3RyZWFtRm9yTGVhZGluZyIsImFjY3VtdWxhdGVkIiwiYWNjIiwibGVhZCIsInN0YXJ0c1dpdGgiLCJtYXJrQW5zd2VyUmVzZXQiLCJpc05hcnJhdGlvbkhhbmRvZmZQZW5kaW5nIiwiaGFzIiwiZmluaXNoIiwidHJhY2UiLCJsaXZlIiwiYXV0aG9yaXRhdGl2ZSIsIl9saXZlJHN0ZXBzIiwibWFwIiwic3RhdHVzIiwiY2xlYXIiLCJzaXplIiwicmVtb3ZlIiwiaGFkU25hcHNob3QiLCJoYWRIYW5kb2ZmIiwicmVuYW1lIiwiZnJvbUlkIiwidG9JZCIsInN1YnNjcmliZSIsImdldFNuYXBzaG90IiwiX3NuYXBzaG90cyRnZXQiLCJtZXNzYWdlSWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJnZXRTZXJ2ZXJTbmFwc2hvdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VSZWFzb25pbmdUcmFjZS9yZWFzb25pbmdTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmaW5kTGVhZGluZ05hcnJhdGlvbixcbiAgaGFzQWN0aW9uU3RlcCxcbiAgTEVBRElOR19OQVJSQVRJT05fSU5ERVgsXG4gIGxvb2tzTGlrZUludGVybWVkaWF0ZU5hcnJhdGlvblN0cmVhbSxcbiAgbmFycmF0aW9uVGV4dHNSZWxhdGVkLFxuICBwbGFjZUxlYWRpbmdOYXJyYXRpb25GaXJzdCxcbn0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hdG9tcy9SZWFzb25pbmdCbG9jay9yZWFzb25pbmdMZWFkaW5nJ1xuaW1wb3J0IHR5cGUge1xuICBSZWFzb25pbmdTdGVwLFxuICBSZWFzb25pbmdTdGVwUGF5bG9hZCxcbiAgUmVhc29uaW5nU3VtbWFyeSxcbiAgUmVhc29uaW5nVHJhY2VQYXlsb2FkLFxufSBmcm9tICcuLi8uLi90eXBlcy9yZWFzb25pbmcnXG5pbXBvcnQgeyBtYXBSZWFzb25pbmdTdGVwLCBtYXBSZWFzb25pbmdUcmFjZSB9IGZyb20gJy4uLy4uL3V0aWxzL3JlYXNvbmluZ01hcHBlcnMnXG5cbmV4cG9ydCB0eXBlIFJlYXNvbmluZ1BoYXNlID0gJ2lkbGUnIHwgJ3N0cmVhbWluZycgfCAnZG9uZSdcblxuZXhwb3J0IHR5cGUgUmVhc29uaW5nU25hcHNob3QgPSB7XG4gIGlkOiBzdHJpbmcgfCBudWxsXG4gIHN0ZXBzOiBSZWFzb25pbmdTdGVwW11cbiAgc3VtbWFyeTogUmVhc29uaW5nU3VtbWFyeSB8IG51bGxcbiAgcGhhc2U6IFJlYXNvbmluZ1BoYXNlXG59XG5cbmNvbnN0IEVNUFRZOiBSZWFzb25pbmdTbmFwc2hvdCA9IHsgaWQ6IG51bGwsIHN0ZXBzOiBbXSwgc3VtbWFyeTogbnVsbCwgcGhhc2U6ICdpZGxlJyB9XG5cbmNvbnN0IHNuYXBzaG90cyA9IG5ldyBNYXA8c3RyaW5nLCBSZWFzb25pbmdTbmFwc2hvdD4oKVxuLyoqIEVudHJlIGByZWFzb25pbmdfc3RlcGAgbmFycmFjacOzbiB5IGVsIGBhbnN3ZXJfcmVzZXRgIHBvc3Rlcmlvci4gKi9cbmNvbnN0IG5hcnJhdGlvbkhhbmRvZmZQZW5kaW5nID0gbmV3IFNldDxzdHJpbmc+KClcbmNvbnN0IGxpc3RlbmVycyA9IG5ldyBTZXQ8KCkgPT4gdm9pZD4oKVxuXG5jb25zdCBlbWl0Q2hhbmdlID0gKCkgPT4ge1xuICBsaXN0ZW5lcnMuZm9yRWFjaChsaXN0ZW5lciA9PiB7XG4gICAgbGlzdGVuZXIoKVxuICB9KVxufVxuXG5jb25zdCB1cHNlcnRTdGVwID0gKHN0ZXBzOiBSZWFzb25pbmdTdGVwW10sIHN0ZXA6IFJlYXNvbmluZ1N0ZXApOiBSZWFzb25pbmdTdGVwW10gPT4ge1xuICBjb25zdCBhdCA9IHN0ZXBzLmZpbmRJbmRleChjdXJyZW50ID0+IGN1cnJlbnQuaSA9PT0gc3RlcC5pKVxuICBpZiAoYXQgPT09IC0xKSB7XG4gICAgcmV0dXJuIFsuLi5zdGVwcywgc3RlcF0uc29ydCgoYSwgYikgPT4gYS5pIC0gYi5pKVxuICB9XG4gIGNvbnN0IG5leHQgPSBzdGVwcy5zbGljZSgpXG4gIG5leHRbYXRdID0gc3RlcFxuICByZXR1cm4gbmV4dFxufVxuXG5jb25zdCBlbnN1cmVTdHJlYW1pbmcgPSAoaWQ6IHN0cmluZyk6IFJlYXNvbmluZ1NuYXBzaG90ID0+IHtcbiAgY29uc3QgZXhpc3RpbmcgPSBzbmFwc2hvdHMuZ2V0KGlkKVxuICBpZiAoZXhpc3RpbmcpIHJldHVybiBleGlzdGluZ1xuICBjb25zdCBjcmVhdGVkOiBSZWFzb25pbmdTbmFwc2hvdCA9IHsgaWQsIHN0ZXBzOiBbXSwgc3VtbWFyeTogbnVsbCwgcGhhc2U6ICdzdHJlYW1pbmcnIH1cbiAgc25hcHNob3RzLnNldChpZCwgY3JlYXRlZClcbiAgcmV0dXJuIGNyZWF0ZWRcbn1cblxuZXhwb3J0IGNvbnN0IHJlYXNvbmluZ1N0b3JlID0ge1xuICBzdGFydChpZDogc3RyaW5nKSB7XG4gICAgc25hcHNob3RzLnNldChpZCwgeyBpZCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ3N0cmVhbWluZycgfSlcbiAgICBuYXJyYXRpb25IYW5kb2ZmUGVuZGluZy5kZWxldGUoaWQpXG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgYXBwZW5kVGhpbmtpbmcoaWQ6IHN0cmluZywgaW5kZXg6IG51bWJlciwgZGVsdGE6IHN0cmluZykge1xuICAgIGlmICghZGVsdGEpIHJldHVyblxuICAgIGNvbnN0IGN1cnJlbnQgPSBlbnN1cmVTdHJlYW1pbmcoaWQpXG4gICAgY29uc3QgZXhpc3RpbmcgPSBjdXJyZW50LnN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLmkgPT09IGluZGV4KVxuICAgIGNvbnN0IHN0ZXA6IFJlYXNvbmluZ1N0ZXAgPVxuICAgICAgZXhpc3RpbmcgJiYgZXhpc3RpbmcudHlwZSA9PT0gJ3RoaW5raW5nJ1xuICAgICAgICA/IHsgLi4uZXhpc3RpbmcsIHRleHQ6IGAke2V4aXN0aW5nLnRleHQgPz8gJyd9JHtkZWx0YX1gIH1cbiAgICAgICAgOiB7IGk6IGluZGV4LCB0eXBlOiAndGhpbmtpbmcnLCB0ZXh0OiBkZWx0YSB9XG4gICAgc25hcHNob3RzLnNldChpZCwgeyAuLi5jdXJyZW50LCBzdGVwczogdXBzZXJ0U3RlcChjdXJyZW50LnN0ZXBzLCBzdGVwKSwgcGhhc2U6ICdzdHJlYW1pbmcnIH0pXG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgYXBwbHlTdGVwKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFJlYXNvbmluZ1N0ZXBQYXlsb2FkKSB7XG4gICAgY29uc3QgY3VycmVudCA9IGVuc3VyZVN0cmVhbWluZyhpZClcbiAgICBjb25zdCBpbmNvbWluZyA9IG1hcFJlYXNvbmluZ1N0ZXAocGF5bG9hZClcbiAgICBjb25zdCBsZWFkaW5nID0gZmluZExlYWRpbmdOYXJyYXRpb24oY3VycmVudC5zdGVwcylcblxuICAgIC8vIE5hcnJhY2nDs24gZGVsIGJhY2sgcXVlIGVzIGxhIG1pc21hIHF1ZSB5YSBhbmNsYW1vcyBhbCBpbmljaW86IG5vIGR1cGxpY2FyIGFsIGZpbmFsLlxuICAgIGlmIChpbmNvbWluZy50eXBlID09PSAnbmFycmF0aW9uJyAmJiBsZWFkaW5nICYmIG5hcnJhdGlvblRleHRzUmVsYXRlZChsZWFkaW5nLnRleHQsIGluY29taW5nLnRleHQpKSB7XG4gICAgICBuYXJyYXRpb25IYW5kb2ZmUGVuZGluZy5hZGQoaWQpXG4gICAgICBlbWl0Q2hhbmdlKClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGV4aXN0aW5nID0gY3VycmVudC5zdGVwcy5maW5kKHN0ZXAgPT4gc3RlcC5pID09PSBpbmNvbWluZy5pKVxuICAgIGNvbnN0IHN0ZXAgPSBleGlzdGluZyA/IHsgLi4uZXhpc3RpbmcsIC4uLmluY29taW5nLCB0eXBlOiBwYXlsb2FkLnR5cGUgPz8gZXhpc3RpbmcudHlwZSB9IDogaW5jb21pbmdcbiAgICBpZiAocGF5bG9hZC50eXBlID09PSAnbmFycmF0aW9uJykge1xuICAgICAgbmFycmF0aW9uSGFuZG9mZlBlbmRpbmcuYWRkKGlkKVxuICAgIH1cbiAgICBzbmFwc2hvdHMuc2V0KGlkLCB7IC4uLmN1cnJlbnQsIHN0ZXBzOiB1cHNlcnRTdGVwKGN1cnJlbnQuc3RlcHMsIHN0ZXApLCBwaGFzZTogJ3N0cmVhbWluZycgfSlcbiAgICBlbWl0Q2hhbmdlKClcbiAgfSxcblxuICAvKipcbiAgICogVG9rZW5zIGFudGVzIGRlIGxhIHByaW1lcmEgYWNjacOzbjogc2UgYW5jbGFuIGNvbW8gcHJpbWVyIHBhc28uIEN1YW5kbyBsbGVnYVxuICAgKiB1biB0b29sL2hhbmRvZmYgc2UgY29uZ2VsYW4gcGFyYSBubyByZWNvZ2Vyc2UgZGV0csOhcyBkZSBjYWRhIHN0ZXAgbnVldm8uXG4gICAqL1xuICBzeW5jTGl2ZU5hcnJhdGlvbihpZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjdXJyZW50ID0gZW5zdXJlU3RyZWFtaW5nKGlkKVxuICAgIGlmIChoYXNBY3Rpb25TdGVwKGN1cnJlbnQuc3RlcHMpKSByZXR1cm5cblxuICAgIGNvbnN0IGV4aXN0aW5nID0gZmluZExlYWRpbmdOYXJyYXRpb24oY3VycmVudC5zdGVwcylcbiAgICBjb25zdCB0cmltbWVkID0gdGV4dC50cmltKClcbiAgICBpZiAoIXRyaW1tZWQgfHwgIWxvb2tzTGlrZUludGVybWVkaWF0ZU5hcnJhdGlvblN0cmVhbSh0ZXh0KSkge1xuICAgICAgaWYgKCFleGlzdGluZykgcmV0dXJuXG4gICAgICBzbmFwc2hvdHMuc2V0KGlkLCB7XG4gICAgICAgIC4uLmN1cnJlbnQsXG4gICAgICAgIHN0ZXBzOiBjdXJyZW50LnN0ZXBzLmZpbHRlcihzdGVwID0+IHN0ZXAuaSAhPT0gTEVBRElOR19OQVJSQVRJT05fSU5ERVgpLFxuICAgICAgICBwaGFzZTogJ3N0cmVhbWluZycsXG4gICAgICB9KVxuICAgICAgZW1pdENoYW5nZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBzdGVwOiBSZWFzb25pbmdTdGVwID0geyBpOiBMRUFESU5HX05BUlJBVElPTl9JTkRFWCwgdHlwZTogJ25hcnJhdGlvbicsIHRleHQgfVxuICAgIHNuYXBzaG90cy5zZXQoaWQsIHsgLi4uY3VycmVudCwgc3RlcHM6IHVwc2VydFN0ZXAoY3VycmVudC5zdGVwcywgc3RlcCksIHBoYXNlOiAnc3RyZWFtaW5nJyB9KVxuICAgIGVtaXRDaGFuZ2UoKVxuICB9LFxuXG4gIC8qKiBFbCBib2R5IHRvZGF2w61hIGVzIHNvbG8gbGEgbmFycmFjacOzbiBhbmNsYWRhOiBzZSBwdWVkZSBsaW1waWFyIGNvbW8gdW4gYW5zd2VyX3Jlc2V0LiAqL1xuICBzaG91bGRDbGVhclN0cmVhbUZvckxlYWRpbmcoaWQ6IHN0cmluZywgYWNjdW11bGF0ZWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBzbmFwc2hvdHMuZ2V0KGlkKVxuICAgIGlmICghY3VycmVudCB8fCAhaGFzQWN0aW9uU3RlcChjdXJyZW50LnN0ZXBzKSkgcmV0dXJuIGZhbHNlXG4gICAgY29uc3QgbGVhZGluZyA9IGZpbmRMZWFkaW5nTmFycmF0aW9uKGN1cnJlbnQuc3RlcHMpXG4gICAgaWYgKCFsZWFkaW5nPy50ZXh0KSByZXR1cm4gZmFsc2VcbiAgICBjb25zdCBhY2MgPSBhY2N1bXVsYXRlZC50cmltKClcbiAgICBjb25zdCBsZWFkID0gbGVhZGluZy50ZXh0LnRyaW0oKVxuICAgIHJldHVybiBhY2MgPT09IGxlYWQgfHwgbGVhZC5zdGFydHNXaXRoKGFjYylcbiAgfSxcblxuICAvKiogVHJhcyBhbnN3ZXJfcmVzZXQ6IGxvIHF1ZSBzaWd1ZSBlbiBlbCBib2R5IGVzIHJlc3B1ZXN0YSBmaW5hbCwgbm8gbmFycmFjacOzbiBlbiB0cmF6YS4gKi9cbiAgbWFya0Fuc3dlclJlc2V0KGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoIW5hcnJhdGlvbkhhbmRvZmZQZW5kaW5nLmRlbGV0ZShpZCkpIHJldHVyblxuICAgIGVtaXRDaGFuZ2UoKVxuICB9LFxuXG4gIGlzTmFycmF0aW9uSGFuZG9mZlBlbmRpbmcoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBuYXJyYXRpb25IYW5kb2ZmUGVuZGluZy5oYXMoaWQpXG4gIH0sXG5cbiAgZmluaXNoKGlkOiBzdHJpbmcsIHRyYWNlOiBSZWFzb25pbmdUcmFjZVBheWxvYWQgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgbmFycmF0aW9uSGFuZG9mZlBlbmRpbmcuZGVsZXRlKGlkKVxuICAgIGNvbnN0IGxpdmUgPSBzbmFwc2hvdHMuZ2V0KGlkKVxuICAgIGNvbnN0IGF1dGhvcml0YXRpdmUgPSBtYXBSZWFzb25pbmdUcmFjZSh0cmFjZSlcbiAgICBpZiAoYXV0aG9yaXRhdGl2ZSkge1xuICAgICAgY29uc3Qgc3RlcHMgPSBwbGFjZUxlYWRpbmdOYXJyYXRpb25GaXJzdChsaXZlPy5zdGVwcyA/PyBbXSwgYXV0aG9yaXRhdGl2ZS5zdGVwcylcbiAgICAgIHNuYXBzaG90cy5zZXQoaWQsIHsgaWQsIHN0ZXBzLCBzdW1tYXJ5OiBhdXRob3JpdGF0aXZlLnN1bW1hcnksIHBoYXNlOiAnZG9uZScgfSlcbiAgICAgIGVtaXRDaGFuZ2UoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnQgPSBzbmFwc2hvdHMuZ2V0KGlkKVxuICAgIGlmICghY3VycmVudCkgcmV0dXJuXG4gICAgY29uc3Qgc3RlcHMgPSBjdXJyZW50LnN0ZXBzLm1hcChzdGVwID0+IChzdGVwLnN0YXR1cyA9PT0gJ3J1bm5pbmcnID8geyAuLi5zdGVwLCBzdGF0dXM6ICdvaycgYXMgY29uc3QgfSA6IHN0ZXApKVxuICAgIHNuYXBzaG90cy5zZXQoaWQsIHsgLi4uY3VycmVudCwgc3RlcHMsIHN1bW1hcnk6IG51bGwsIHBoYXNlOiAnZG9uZScgfSlcbiAgICBlbWl0Q2hhbmdlKClcbiAgfSxcblxuICBjbGVhcigpIHtcbiAgICBpZiAoc25hcHNob3RzLnNpemUgPT09IDAgJiYgbmFycmF0aW9uSGFuZG9mZlBlbmRpbmcuc2l6ZSA9PT0gMCkgcmV0dXJuXG4gICAgc25hcHNob3RzLmNsZWFyKClcbiAgICBuYXJyYXRpb25IYW5kb2ZmUGVuZGluZy5jbGVhcigpXG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgcmVtb3ZlKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBoYWRTbmFwc2hvdCA9IHNuYXBzaG90cy5kZWxldGUoaWQpXG4gICAgY29uc3QgaGFkSGFuZG9mZiA9IG5hcnJhdGlvbkhhbmRvZmZQZW5kaW5nLmRlbGV0ZShpZClcbiAgICBpZiAoaGFkU25hcHNob3QgfHwgaGFkSGFuZG9mZikgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgcmVuYW1lKGZyb21JZDogc3RyaW5nLCB0b0lkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjdXJyZW50ID0gc25hcHNob3RzLmdldChmcm9tSWQpXG4gICAgaWYgKCFjdXJyZW50KSByZXR1cm5cbiAgICBzbmFwc2hvdHMuZGVsZXRlKGZyb21JZClcbiAgICBzbmFwc2hvdHMuc2V0KHRvSWQsIHsgLi4uY3VycmVudCwgaWQ6IHRvSWQgfSlcbiAgICBpZiAobmFycmF0aW9uSGFuZG9mZlBlbmRpbmcuaGFzKGZyb21JZCkpIHtcbiAgICAgIG5hcnJhdGlvbkhhbmRvZmZQZW5kaW5nLmRlbGV0ZShmcm9tSWQpXG4gICAgICBuYXJyYXRpb25IYW5kb2ZmUGVuZGluZy5hZGQodG9JZClcbiAgICB9XG4gICAgZW1pdENoYW5nZSgpXG4gIH0sXG5cbiAgc3Vic2NyaWJlKGxpc3RlbmVyOiAoKSA9PiB2b2lkKSB7XG4gICAgbGlzdGVuZXJzLmFkZChsaXN0ZW5lcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lcilcbiAgICB9XG4gIH0sXG5cbiAgZ2V0U25hcHNob3QobWVzc2FnZUlkID0gJycpOiBSZWFzb25pbmdTbmFwc2hvdCB7XG4gICAgaWYgKCFtZXNzYWdlSWQpIHJldHVybiBFTVBUWVxuICAgIHJldHVybiBzbmFwc2hvdHMuZ2V0KG1lc3NhZ2VJZCkgPz8gRU1QVFlcbiAgfSxcblxuICBnZXRTZXJ2ZXJTbmFwc2hvdCgpOiBSZWFzb25pbmdTbmFwc2hvdCB7XG4gICAgcmV0dXJuIEVNUFRZXG4gIH0sXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxTQUNFQSxvQkFBb0IsRUFDcEJDLGFBQWEsRUFDYkMsdUJBQXVCLEVBQ3ZCQyxvQ0FBb0MsRUFDcENDLHFCQUFxQixFQUNyQkMsMEJBQTBC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VUFBTyxDQUFDSixFQUFFLENBQUM7SUFDeEMsSUFBTXFFLFVBQVUsR0FBRy9ELHVCQUF1QixVQUFPLENBQUNOLEVBQUUsQ0FBQztJQUNyRCxJQUFJb0UsV0FBVyxJQUFJQyxVQUFVLEVBQUU1RCxVQUFVLENBQUMsQ0FBQztFQUM3QyxDQUFDO0VBRUQ2RCxNQUFNLFdBQU5BLE1BQU1BLENBQUNDLE1BQWMsRUFBRUMsSUFBWSxFQUFFO0lBQ25DLElBQU14RCxPQUFPLEdBQUdaLFNBQVMsQ0FBQ3VCLEdBQUcsQ0FBQzRDLE1BQU0sQ0FBQztJQUNyQyxJQUFJLENBQUN2RCxPQUFPLEVBQUU7SUFDZFosU0FBUyxVQUFPLENBQUNtRSxNQUFNLENBQUM7SUFDeEJuRSxTQUFTLENBQUN5QixHQUFHLENBQUMyQyxJQUFJLEVBQUFsQyxhQUFBLENBQUFBLGFBQUEsS0FBT3RCLE9BQU87TUFBRWhCLEVBQUUsRUFBRXdFO0lBQUksRUFBRSxDQUFDO0lBQzdDLElBQUlsRSx1QkFBdUIsQ0FBQ21ELEdBQUcsQ0FBQ2MsTUFBTSxDQUFDLEVBQUU7TUFDdkNqRSx1QkFBdUIsVUFBTyxDQUFDaUUsTUFBTSxDQUFDO01BQ3RDakUsdUJBQXVCLENBQUN1QyxHQUFHLENBQUMyQixJQUFJLENBQUM7SUFDbkM7SUFDQS9ELFVBQVUsQ0FBQyxDQUFDO0VBQ2QsQ0FBQztFQUVEZ0UsU0FBUyxXQUFUQSxTQUFTQSxDQUFDOUQsUUFBb0IsRUFBRTtJQUM5QkgsU0FBUyxDQUFDcUMsR0FBRyxDQUFDbEMsUUFBUSxDQUFDO0lBQ3ZCLE9BQU8sWUFBTTtNQUNYSCxTQUFTLFVBQU8sQ0FBQ0csUUFBUSxDQUFDO0lBQzVCLENBQUM7RUFDSCxDQUFDO0VBRUQrRCxXQUFXLFdBQVhBLFdBQVdBLENBQUEsRUFBb0M7SUFBQSxJQUFBQyxjQUFBO0lBQUEsSUFBbkNDLFNBQVMsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsRUFBRTtJQUN4QixJQUFJLENBQUNELFNBQVMsRUFBRSxPQUFPN0UsS0FBSztJQUM1QixRQUFBNEUsY0FBQSxHQUFPdkUsU0FBUyxDQUFDdUIsR0FBRyxDQUFDaUQsU0FBUyxDQUFDLGNBQUFELGNBQUEsY0FBQUEsY0FBQSxHQUFJNUUsS0FBSztFQUMxQyxDQUFDO0VBRURpRixpQkFBaUIsV0FBakJBLGlCQUFpQkEsQ0FBQSxFQUFzQjtJQUNyQyxPQUFPakYsS0FBSztFQUNkO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -7,8 +7,8 @@ var EMPTY = {
7
7
  phase: 'idle'
8
8
  };
9
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;
10
+ return useSyncExternalStore(reasoningStore.subscribe, function () {
11
+ return reasoningStore.getSnapshot(messageId !== null && messageId !== void 0 ? messageId : '');
12
+ }, reasoningStore.getServerSnapshot);
13
13
  };
14
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTeW5jRXh0ZXJuYWxTdG9yZSIsInJlYXNvbmluZ1N0b3JlIiwiRU1QVFkiLCJpZCIsInN0ZXBzIiwic3VtbWFyeSIsInBoYXNlIiwidXNlUmVhc29uaW5nVHJhY2UiLCJtZXNzYWdlSWQiLCJzbmFwc2hvdCIsInN1YnNjcmliZSIsImdldFNuYXBzaG90IiwiZ2V0U2VydmVyU25hcHNob3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlUmVhc29uaW5nVHJhY2UvdXNlUmVhc29uaW5nVHJhY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHJlYXNvbmluZ1N0b3JlLCB0eXBlIFJlYXNvbmluZ1NuYXBzaG90IH0gZnJvbSAnLi9yZWFzb25pbmdTdG9yZSdcblxuY29uc3QgRU1QVFk6IFJlYXNvbmluZ1NuYXBzaG90ID0geyBpZDogbnVsbCwgc3RlcHM6IFtdLCBzdW1tYXJ5OiBudWxsLCBwaGFzZTogJ2lkbGUnIH1cblxuZXhwb3J0IGNvbnN0IHVzZVJlYXNvbmluZ1RyYWNlID0gKG1lc3NhZ2VJZDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFJlYXNvbmluZ1NuYXBzaG90ID0+IHtcbiAgY29uc3Qgc25hcHNob3QgPSB1c2VTeW5jRXh0ZXJuYWxTdG9yZShcbiAgICByZWFzb25pbmdTdG9yZS5zdWJzY3JpYmUsXG4gICAgcmVhc29uaW5nU3RvcmUuZ2V0U25hcHNob3QsXG4gICAgcmVhc29uaW5nU3RvcmUuZ2V0U2VydmVyU25hcHNob3RcbiAgKVxuICBpZiAoIW1lc3NhZ2VJZCB8fCBzbmFwc2hvdC5pZCAhPT0gbWVzc2FnZUlkKSByZXR1cm4gRU1QVFlcbiAgcmV0dXJuIHNuYXBzaG90XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG9CQUFvQixRQUFRLE9BQU87QUFDNUMsU0FBU0MsY0FBYyxRQUFnQyxrQkFBa0I7QUFFekUsSUFBTUMsS0FBd0IsR0FBRztFQUFFQyxFQUFFLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUUsRUFBRTtFQUFFQyxPQUFPLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUU7QUFBTyxDQUFDO0FBRXRGLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsU0FBb0MsRUFBd0I7RUFDNUYsSUFBTUMsUUFBUSxHQUFHVCxvQkFBb0IsQ0FDbkNDLGNBQWMsQ0FBQ1MsU0FBUyxFQUN4QlQsY0FBYyxDQUFDVSxXQUFXLEVBQzFCVixjQUFjLENBQUNXLGlCQUNqQixDQUFDO0VBQ0QsSUFBSSxDQUFDSixTQUFTLElBQUlDLFFBQVEsQ0FBQ04sRUFBRSxLQUFLSyxTQUFTLEVBQUUsT0FBT04sS0FBSztFQUN6RCxPQUFPTyxRQUFRO0FBQ2pCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTeW5jRXh0ZXJuYWxTdG9yZSIsInJlYXNvbmluZ1N0b3JlIiwiRU1QVFkiLCJpZCIsInN0ZXBzIiwic3VtbWFyeSIsInBoYXNlIiwidXNlUmVhc29uaW5nVHJhY2UiLCJtZXNzYWdlSWQiLCJzdWJzY3JpYmUiLCJnZXRTbmFwc2hvdCIsImdldFNlcnZlclNuYXBzaG90Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVJlYXNvbmluZ1RyYWNlL3VzZVJlYXNvbmluZ1RyYWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN5bmNFeHRlcm5hbFN0b3JlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyByZWFzb25pbmdTdG9yZSwgdHlwZSBSZWFzb25pbmdTbmFwc2hvdCB9IGZyb20gJy4vcmVhc29uaW5nU3RvcmUnXG5cbmNvbnN0IEVNUFRZOiBSZWFzb25pbmdTbmFwc2hvdCA9IHsgaWQ6IG51bGwsIHN0ZXBzOiBbXSwgc3VtbWFyeTogbnVsbCwgcGhhc2U6ICdpZGxlJyB9XG5cbmV4cG9ydCBjb25zdCB1c2VSZWFzb25pbmdUcmFjZSA9IChtZXNzYWdlSWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBSZWFzb25pbmdTbmFwc2hvdCA9PiB7XG4gIHJldHVybiB1c2VTeW5jRXh0ZXJuYWxTdG9yZShcbiAgICByZWFzb25pbmdTdG9yZS5zdWJzY3JpYmUsXG4gICAgKCkgPT4gcmVhc29uaW5nU3RvcmUuZ2V0U25hcHNob3QobWVzc2FnZUlkID8/ICcnKSxcbiAgICByZWFzb25pbmdTdG9yZS5nZXRTZXJ2ZXJTbmFwc2hvdFxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG9CQUFvQixRQUFRLE9BQU87QUFDNUMsU0FBU0MsY0FBYyxRQUFnQyxrQkFBa0I7QUFFekUsSUFBTUMsS0FBd0IsR0FBRztFQUFFQyxFQUFFLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUUsRUFBRTtFQUFFQyxPQUFPLEVBQUUsSUFBSTtFQUFFQyxLQUFLLEVBQUU7QUFBTyxDQUFDO0FBRXRGLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsU0FBb0MsRUFBd0I7RUFDNUYsT0FBT1Isb0JBQW9CLENBQ3pCQyxjQUFjLENBQUNRLFNBQVMsRUFDeEI7SUFBQSxPQUFNUixjQUFjLENBQUNTLFdBQVcsQ0FBQ0YsU0FBUyxhQUFUQSxTQUFTLGNBQVRBLFNBQVMsR0FBSSxFQUFFLENBQUM7RUFBQSxHQUNqRFAsY0FBYyxDQUFDVSxpQkFDakIsQ0FBQztBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=