@fses/workbench-app 0.2.13 → 0.2.15

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 (26) hide show
  1. package/WORKBENCH-CLOSURE.json +12 -12
  2. package/dist/{Workspace-Zcro-FS-.js → Workspace-_r17G1XR.js} +1057 -1056
  3. package/dist/canvas/api/index.js +1 -1
  4. package/dist/{canvasFacade-B0oy__da.js → canvasFacade-B2EHgdqA.js} +1 -1
  5. package/dist/{cardFactory-CoDF-zsR.js → cardFactory-BK3CA-Gn.js} +240 -189
  6. package/dist/config/workbenchAppConfig.d.ts +5 -0
  7. package/dist/extensions/index.js +1 -1
  8. package/dist/fses-workbench-app.js +16 -16
  9. package/dist/{index-BPItQZvf.js → index-C0L5xASu.js} +256 -281
  10. package/dist/internal/personal-workbench/lib/deepAgentApi.d.ts +14 -3
  11. package/dist/internal/personal-workbench/lib/echartsTemplateAssets.d.ts +25 -0
  12. package/dist/internal/personal-workbench/lib/workbenchCardRecommendationReturnItemUpsert.d.ts +1 -0
  13. package/dist/runtime/index.js +1 -1
  14. package/dist/style.css +1 -1
  15. package/dist/{useWorkbenchRuntime-DxtdDpY1.js → useWorkbenchRuntime-DLf_FgC7.js} +6256 -6187
  16. package/dist/version.d.ts +1 -1
  17. package/dist/{workbenchCustomComponentRegistry-6GHzavdM.js → workbenchCustomComponentRegistry-Bt94Lgko.js} +1 -1
  18. package/node_modules/@fses/ai-chat/dist/components/FsesAiChat.vue.d.ts +2 -0
  19. package/node_modules/@fses/ai-chat/dist/composables/useSystemEChartsIcon.d.ts +19 -2
  20. package/node_modules/@fses/ai-chat/dist/fses-ai-chat.js +4816 -4789
  21. package/node_modules/@fses/ai-chat/dist/fses-ai-chat.umd.cjs +16 -16
  22. package/node_modules/@fses/ai-chat/dist/plugin.d.ts +7 -2
  23. package/node_modules/@fses/ai-chat/dist/style.css +1 -1
  24. package/node_modules/@fses/ai-chat/package.json +5 -5
  25. package/node_modules/@fses/workbench-card/package.json +1 -1
  26. package/package.json +3 -3
@@ -1,31 +1,31 @@
1
- import { toRefs as oe, shallowReadonly as W, inject as ae, defineComponent as T, provide as se, openBlock as b, createElementBlock as k, renderSlot as y, createElementVNode as A, normalizeClass as q, normalizeStyle as R, withModifiers as ie, createCommentVNode as P, createVNode as K, Transition as de, withCtx as w, computed as ce, createBlock as G, defineAsyncComponent as le, unref as ue } from "vue";
2
- import "./canvasFacade-B0oy__da.js";
3
- import { b as fe } from "./useWorkbenchRuntime-DxtdDpY1.js";
4
- import "./cardFactory-CoDF-zsR.js";
5
- import "./workbenchCustomComponentRegistry-6GHzavdM.js";
6
- const me = "0.2.13", L = "workbench-app-version";
7
- function he() {
8
- if (typeof document > "u" || document.querySelector(`meta[name="${L}"]`)) return !1;
1
+ import { toRefs as re, shallowReadonly as W, inject as te, defineComponent as T, provide as ne, openBlock as g, createElementBlock as k, renderSlot as y, createElementVNode as A, normalizeClass as q, normalizeStyle as R, withModifiers as oe, createCommentVNode as P, createVNode as z, Transition as ae, withCtx as w, computed as se, createBlock as K, defineAsyncComponent as ie, unref as de } from "vue";
2
+ import { d as ce } from "./cardFactory-BK3CA-Gn.js";
3
+ import "./canvasFacade-B2EHgdqA.js";
4
+ import { b as le } from "./useWorkbenchRuntime-DLf_FgC7.js";
5
+ import "./workbenchCustomComponentRegistry-Bt94Lgko.js";
6
+ const ue = "0.2.15", x = "workbench-app-version";
7
+ function fe() {
8
+ if (typeof document > "u" || document.querySelector(`meta[name="${x}"]`)) return !1;
9
9
  const e = document.createElement("meta");
10
- return e.name = L, e.content = me, document.head.appendChild(e), !0;
10
+ return e.name = x, e.content = ue, document.head.appendChild(e), !0;
11
11
  }
12
- he();
13
- const Y = Symbol("workbench-app-context");
14
- function pe(e) {
15
- const { adapters: r, config: n, extensions: t } = oe(e);
12
+ fe();
13
+ const G = Symbol("workbench-app-context");
14
+ function me(e) {
15
+ const { adapters: r, config: t, extensions: n } = re(e);
16
16
  return {
17
17
  adapters: W(r),
18
- config: W(n),
19
- extensions: W(t)
18
+ config: W(t),
19
+ extensions: W(n)
20
20
  };
21
21
  }
22
- function or() {
23
- const e = ae(Y);
22
+ function er() {
23
+ const e = te(G);
24
24
  if (!e)
25
25
  throw new Error("useWorkbenchAppContext must be used inside WorkbenchWorkspaceCore");
26
26
  return e;
27
27
  }
28
- const ye = { class: "fses-workbench-app" }, ge = /* @__PURE__ */ T({
28
+ const he = { class: "fses-workbench-app" }, pe = /* @__PURE__ */ T({
29
29
  __name: "WorkbenchWorkspaceCore",
30
30
  props: {
31
31
  adapters: {},
@@ -33,11 +33,11 @@ const ye = { class: "fses-workbench-app" }, ge = /* @__PURE__ */ T({
33
33
  extensions: {}
34
34
  },
35
35
  setup(e) {
36
- return se(Y, pe(e)), (n, t) => (b(), k("div", ye, [
37
- y(n.$slots, "default")
36
+ return ne(G, me(e)), (t, n) => (g(), k("div", he, [
37
+ y(t.$slots, "default")
38
38
  ]));
39
39
  }
40
- }), be = { class: "workbench-shell" }, we = ["aria-hidden", "inert"], Ie = { class: "workbench-studio-panel__body" }, U = 48, ke = /* @__PURE__ */ T({
40
+ }), ye = { class: "workbench-shell" }, be = ["aria-hidden", "inert"], ge = { class: "workbench-studio-panel__body" }, L = 48, we = /* @__PURE__ */ T({
41
41
  __name: "WorkbenchShell",
42
42
  props: {
43
43
  studioPanelWidth: {},
@@ -51,71 +51,71 @@ const ye = { class: "fses-workbench-app" }, ge = /* @__PURE__ */ T({
51
51
  },
52
52
  emits: ["startDrag"],
53
53
  setup(e, { emit: r }) {
54
- const n = r;
55
- return (t, o) => (b(), k("div", be, [
54
+ const t = r;
55
+ return (n, o) => (g(), k("div", ye, [
56
56
  A("div", {
57
57
  class: q(["workbench-shell__body", { "workbench-shell__body--dragging": e.dragging }])
58
58
  }, [
59
59
  A("div", {
60
60
  class: "workbench-shell__canvas-pane",
61
61
  style: R({
62
- flexBasis: e.drawerOpen ? `calc(100% - ${e.drawerWidth || 392}px)` : e.canvasFocusMode || !e.studioPanelEnabled ? "100%" : e.studioPanelCollapsed ? `calc(100% - ${U}px)` : `calc(100% - ${e.studioPanelWidth}px - 8px)`
62
+ flexBasis: e.drawerOpen ? `calc(100% - ${e.drawerWidth || 392}px)` : e.canvasFocusMode || !e.studioPanelEnabled ? "100%" : e.studioPanelCollapsed ? `calc(100% - ${L}px)` : `calc(100% - ${e.studioPanelWidth}px - 8px)`
63
63
  })
64
64
  }, [
65
- y(t.$slots, "left", {}, void 0, !0)
65
+ y(n.$slots, "left", {}, void 0, !0)
66
66
  ], 4),
67
- e.studioPanelEnabled && !e.studioPanelCollapsed && !e.canvasFocusMode && !e.drawerOpen ? (b(), k("div", {
67
+ e.studioPanelEnabled && !e.studioPanelCollapsed && !e.canvasFocusMode && !e.drawerOpen ? (g(), k("div", {
68
68
  key: 0,
69
69
  "aria-orientation": "vertical",
70
70
  "aria-label": "调整问数栏宽度",
71
71
  class: "workbench-splitter",
72
72
  role: "separator",
73
- onPointerdown: o[0] || (o[0] = (d) => n("startDrag", d)),
74
- onDragstart: o[1] || (o[1] = ie(() => {
73
+ onPointerdown: o[0] || (o[0] = (d) => t("startDrag", d)),
74
+ onDragstart: o[1] || (o[1] = oe(() => {
75
75
  }, ["prevent"]))
76
76
  }, [...o[2] || (o[2] = [
77
77
  A("div", { class: "workbench-splitter__track" }, null, -1)
78
78
  ])], 32)) : P("", !0),
79
- e.studioPanelEnabled && !e.canvasFocusMode && !e.drawerOpen ? (b(), k("div", {
79
+ e.studioPanelEnabled && !e.canvasFocusMode && !e.drawerOpen ? (g(), k("div", {
80
80
  key: 1,
81
81
  class: q(["workbench-studio-panel", { "workbench-studio-panel--collapsed": e.studioPanelCollapsed }]),
82
82
  style: R({ flexBasis: e.studioPanelCollapsed ? "0px" : `${e.studioPanelWidth}px` }),
83
83
  "aria-hidden": e.studioPanelCollapsed ? "true" : void 0,
84
84
  inert: e.studioPanelCollapsed ? !0 : void 0
85
85
  }, [
86
- A("div", Ie, [
87
- y(t.$slots, "right", {}, void 0, !0)
86
+ A("div", ge, [
87
+ y(n.$slots, "right", {}, void 0, !0)
88
88
  ])
89
- ], 14, we)) : P("", !0),
90
- K(de, { name: "workbench-assistant-rail-shell" }, {
89
+ ], 14, be)) : P("", !0),
90
+ z(ae, { name: "workbench-assistant-rail-shell" }, {
91
91
  default: w(() => [
92
- e.studioPanelEnabled && e.studioPanelCollapsed && !e.canvasFocusMode && !e.drawerOpen ? (b(), k("div", {
92
+ e.studioPanelEnabled && e.studioPanelCollapsed && !e.canvasFocusMode && !e.drawerOpen ? (g(), k("div", {
93
93
  key: 0,
94
94
  class: "workbench-assistant-rail-shell",
95
- style: R({ flexBasis: `${U}px` }),
95
+ style: R({ flexBasis: `${L}px` }),
96
96
  "aria-label": "收起状态问数助手入口"
97
97
  }, [
98
- y(t.$slots, "collapsed-right", {}, void 0, !0)
98
+ y(n.$slots, "collapsed-right", {}, void 0, !0)
99
99
  ], 4)) : P("", !0)
100
100
  ]),
101
101
  _: 3
102
102
  }),
103
- e.drawerOpen ? (b(), k("div", {
103
+ e.drawerOpen ? (g(), k("div", {
104
104
  key: 2,
105
105
  class: "workbench-shell__drawer",
106
106
  style: R({ flexBasis: `${e.drawerWidth || 392}px` })
107
107
  }, [
108
- y(t.$slots, "drawer", {}, void 0, !0)
108
+ y(n.$slots, "drawer", {}, void 0, !0)
109
109
  ], 4)) : P("", !0)
110
110
  ], 2)
111
111
  ]));
112
112
  }
113
- }), Se = (e, r) => {
114
- const n = e.__vccOpts || e;
115
- for (const [t, o] of r)
116
- n[t] = o;
117
- return n;
118
- }, Ce = /* @__PURE__ */ Se(ke, [["__scopeId", "data-v-352c4f8f"]]), ar = /* @__PURE__ */ T({
113
+ }), Ie = (e, r) => {
114
+ const t = e.__vccOpts || e;
115
+ for (const [n, o] of r)
116
+ t[n] = o;
117
+ return t;
118
+ }, ke = /* @__PURE__ */ Ie(we, [["__scopeId", "data-v-352c4f8f"]]), rr = /* @__PURE__ */ T({
119
119
  __name: "WorkbenchAppHost",
120
120
  props: {
121
121
  adapters: {},
@@ -124,7 +124,7 @@ const ye = { class: "fses-workbench-app" }, ge = /* @__PURE__ */ T({
124
124
  runtime: {}
125
125
  },
126
126
  setup(e) {
127
- const r = e, n = ce(() => ({
127
+ const r = e, t = se(() => ({
128
128
  canvasFocusMode: r.runtime.canvasFocusMode ?? !1,
129
129
  drawerOpen: r.runtime.drawerOpen ?? !1,
130
130
  drawerWidth: r.runtime.drawerWidth,
@@ -134,37 +134,37 @@ const ye = { class: "fses-workbench-app" }, ge = /* @__PURE__ */ T({
134
134
  studioPanelEnabled: r.runtime.studioPanelEnabled ?? !0,
135
135
  studioPanelWidth: r.runtime.studioPanelWidth ?? 420
136
136
  }));
137
- return (t, o) => (b(), G(ge, {
137
+ return (n, o) => (g(), K(pe, {
138
138
  adapters: r.adapters,
139
139
  config: r.config,
140
140
  extensions: r.extensions
141
141
  }, {
142
142
  default: w(() => [
143
- K(Ce, {
144
- "canvas-focus-mode": n.value.canvasFocusMode,
145
- "drawer-open": n.value.drawerOpen,
146
- "drawer-width": n.value.drawerWidth,
147
- dragging: n.value.dragging,
148
- "image-workbench": n.value.imageWorkbench,
149
- "studio-panel-collapsed": n.value.studioPanelCollapsed,
150
- "studio-panel-enabled": n.value.studioPanelEnabled,
151
- "studio-panel-width": n.value.studioPanelWidth,
143
+ z(ke, {
144
+ "canvas-focus-mode": t.value.canvasFocusMode,
145
+ "drawer-open": t.value.drawerOpen,
146
+ "drawer-width": t.value.drawerWidth,
147
+ dragging: t.value.dragging,
148
+ "image-workbench": t.value.imageWorkbench,
149
+ "studio-panel-collapsed": t.value.studioPanelCollapsed,
150
+ "studio-panel-enabled": t.value.studioPanelEnabled,
151
+ "studio-panel-width": t.value.studioPanelWidth,
152
152
  onStartDrag: o[0] || (o[0] = (d) => {
153
- var h, g;
154
- return (g = (h = r.runtime).startStudioPanelDrag) == null ? void 0 : g.call(h, d);
153
+ var h, b;
154
+ return (b = (h = r.runtime).startStudioPanelDrag) == null ? void 0 : b.call(h, d);
155
155
  })
156
156
  }, {
157
157
  left: w(() => [
158
- y(t.$slots, "left")
158
+ y(n.$slots, "left")
159
159
  ]),
160
160
  right: w(() => [
161
- y(t.$slots, "right")
161
+ y(n.$slots, "right")
162
162
  ]),
163
163
  "collapsed-right": w(() => [
164
- y(t.$slots, "collapsed-right")
164
+ y(n.$slots, "collapsed-right")
165
165
  ]),
166
166
  drawer: w(() => [
167
- y(t.$slots, "drawer")
167
+ y(n.$slots, "drawer")
168
168
  ]),
169
169
  _: 3
170
170
  }, 8, ["canvas-focus-mode", "drawer-open", "drawer-width", "dragging", "image-workbench", "studio-panel-collapsed", "studio-panel-enabled", "studio-panel-width"])
@@ -172,28 +172,7 @@ const ye = { class: "fses-workbench-app" }, ge = /* @__PURE__ */ T({
172
172
  _: 3
173
173
  }, 8, ["adapters", "config", "extensions"]));
174
174
  }
175
- });
176
- let N = {}, J = {}, X = {};
177
- function Ae(e) {
178
- N = e;
179
- }
180
- function Re(e, r, n) {
181
- J = e, X = r, Ae(n);
182
- }
183
- function sr() {
184
- return J;
185
- }
186
- function ir() {
187
- return X;
188
- }
189
- function dr() {
190
- return N;
191
- }
192
- function cr() {
193
- var e;
194
- return (e = N.fde) == null ? void 0 : e.generatedTemplateShell;
195
- }
196
- const lr = /* @__PURE__ */ T({
175
+ }), tr = /* @__PURE__ */ T({
197
176
  __name: "WorkbenchApplication",
198
177
  props: {
199
178
  adapters: {},
@@ -203,39 +182,39 @@ const lr = /* @__PURE__ */ T({
203
182
  },
204
183
  setup(e) {
205
184
  const r = e;
206
- Re(r.adapters, r.config, r.extensions);
207
- const n = le(() => import("./Workspace-Zcro-FS-.js"));
208
- return (t, o) => (b(), G(ue(n), {
185
+ ce(r.adapters, r.config, r.extensions);
186
+ const t = ie(() => import("./Workspace-_r17G1XR.js"));
187
+ return (n, o) => (g(), K(de(t), {
209
188
  "embed-in-portal": r.embedInPortal
210
189
  }, {
211
190
  "before-workbench": w(() => [
212
- y(t.$slots, "before-workbench")
191
+ y(n.$slots, "before-workbench")
213
192
  ]),
214
193
  _: 3
215
194
  }, 8, ["embed-in-portal"]));
216
195
  }
217
196
  });
218
- function ur(e) {
197
+ function nr(e) {
219
198
  return {
220
199
  getItem: (r) => e.getItem(r),
221
200
  removeItem: (r) => e.removeItem(r),
222
- setItem: (r, n) => e.setItem(r, n)
201
+ setItem: (r, t) => e.setItem(r, t)
223
202
  };
224
203
  }
225
- const Pe = {
204
+ const Se = {
226
205
  resolveAssetUrl: (e) => e
227
206
  }, S = {
228
207
  debug: (e, r) => console.debug(e, r),
229
208
  error: (e, r) => console.error(e, r),
230
209
  info: (e, r) => console.info(e, r),
231
210
  warn: (e, r) => console.warn(e, r)
232
- }, Ee = {
211
+ }, Ce = {
233
212
  error: (e) => S.error(e),
234
213
  info: (e) => S.info(e),
235
214
  success: (e) => S.info(e),
236
215
  warning: (e) => S.warn(e)
237
216
  };
238
- function fr(e = {}) {
217
+ function or(e = {}) {
239
218
  const r = /* @__PURE__ */ new Map();
240
219
  return {
241
220
  agentTransportAdapter: {
@@ -243,12 +222,12 @@ function fr(e = {}) {
243
222
  },
244
223
  requestJson: async () => ({})
245
224
  },
246
- assetAdapter: Pe,
225
+ assetAdapter: Se,
247
226
  identityAdapter: {
248
227
  readIdentity: () => ({ appId: "test-app", roleId: "default", tenantId: "test-tenant", userId: "test-user" })
249
228
  },
250
229
  loggerAdapter: S,
251
- messageAdapter: Ee,
230
+ messageAdapter: Ce,
252
231
  platformRequestAdapter: {
253
232
  ensureSessionReady: async () => !0,
254
233
  requestJson: async () => ({})
@@ -261,12 +240,12 @@ function fr(e = {}) {
261
240
  }
262
241
  },
263
242
  storageAdapter: {
264
- getItem: (n) => r.get(n) ?? null,
265
- removeItem: (n) => {
266
- r.delete(n);
243
+ getItem: (t) => r.get(t) ?? null,
244
+ removeItem: (t) => {
245
+ r.delete(t);
267
246
  },
268
- setItem: (n, t) => {
269
- r.set(n, t);
247
+ setItem: (t, n) => {
248
+ r.set(t, n);
270
249
  }
271
250
  },
272
251
  uploadAdapter: {
@@ -275,7 +254,7 @@ function fr(e = {}) {
275
254
  ...e
276
255
  };
277
256
  }
278
- const Te = [
257
+ const Ae = [
279
258
  "attachments",
280
259
  "cards",
281
260
  "cardRecommendationDraft",
@@ -297,75 +276,75 @@ const Te = [
297
276
  "thinkingProcessMessages",
298
277
  "workbenchTurnId"
299
278
  ];
300
- function mr(e, r) {
301
- for (const n of Te)
302
- e[n] = r[n];
279
+ function ar(e, r) {
280
+ for (const t of Ae)
281
+ e[t] = r[t];
303
282
  }
304
- function We(e) {
283
+ function Re(e) {
305
284
  const r = e.cardRecommendationDraft;
306
285
  if (!r || typeof r != "object") return "";
307
- const n = r.sourceTurnId;
308
- return typeof n == "string" && n.trim() ? n.trim() : "";
286
+ const t = r.sourceTurnId;
287
+ return typeof t == "string" && t.trim() ? t.trim() : "";
309
288
  }
310
- function _e(e) {
289
+ function Pe(e) {
311
290
  const r = e.cardRecommendationDraft;
312
291
  if (!r || typeof r != "object") return "";
313
- const n = r.placementTurnId;
314
- return typeof n == "string" && n.trim() ? n.trim() : "";
292
+ const t = r.placementTurnId;
293
+ return typeof t == "string" && t.trim() ? t.trim() : "";
315
294
  }
316
- function Z(e) {
295
+ function Y(e) {
317
296
  const r = e.workbenchTurnId;
318
297
  return typeof r == "string" && r.trim() ? r.trim() : "";
319
298
  }
320
- function ee(e) {
299
+ function J(e) {
321
300
  if (typeof e != "string" || !e.startsWith("workbench-turn-")) return "";
322
301
  const r = ["-reply", "-conclusion-stream", "-item-", "-process-", "-task-", "-card-mutation-confirmation"];
323
- for (const n of r) {
324
- const t = e.indexOf(n, 15);
325
- if (t > 15) return e.slice(15, t);
302
+ for (const t of r) {
303
+ const n = e.indexOf(t, 15);
304
+ if (n > 15) return e.slice(15, n);
326
305
  }
327
306
  return "";
328
307
  }
329
308
  function _(e, r) {
330
- var t;
331
- if (e.role !== "assistant" || !((t = e.content) != null && t.trim())) return !1;
332
- const n = Z(e);
333
- return n ? n === r : ee(e.id) !== r ? !1 : typeof e.id == "string" && (e.id.endsWith("-reply") || e.id.endsWith("-conclusion-stream"));
309
+ var n;
310
+ if (e.role !== "assistant" || !((n = e.content) != null && n.trim())) return !1;
311
+ const t = Y(e);
312
+ return t ? t === r : J(e.id) !== r ? !1 : typeof e.id == "string" && (e.id.endsWith("-reply") || e.id.endsWith("-conclusion-stream"));
334
313
  }
335
- function V(e, r) {
336
- return !!(r && e.some((n) => _(n, r)));
314
+ function U(e, r) {
315
+ return !!(r && e.some((t) => _(t, r)));
337
316
  }
338
- function Me(e, r) {
339
- const n = We(r), t = _e(r);
340
- return V(e, n) ? n : V(e, t) ? t : t || Z(r) || n || ee(r.id);
317
+ function Ee(e, r) {
318
+ const t = Re(r), n = Pe(r);
319
+ return U(e, t) ? t : U(e, n) ? n : n || Y(r) || t || J(r.id);
341
320
  }
342
- function hr(e) {
321
+ function sr(e) {
343
322
  for (const r of e.appendedMessages.values()) {
344
323
  if (!r.cardRecommendationDraft) continue;
345
- const n = Me(e.messages, r);
346
- if (!n) continue;
347
- const t = e.messages.indexOf(r);
348
- if (t < 0) continue;
349
- const o = e.messages.findIndex((g) => _(g, n));
350
- if (o < 0 || t === o + 1) continue;
351
- const [d] = e.messages.splice(t, 1), h = e.messages.findIndex((g) => _(g, n));
324
+ const t = Ee(e.messages, r);
325
+ if (!t) continue;
326
+ const n = e.messages.indexOf(r);
327
+ if (n < 0) continue;
328
+ const o = e.messages.findIndex((b) => _(b, t));
329
+ if (o < 0 || n === o + 1) continue;
330
+ const [d] = e.messages.splice(n, 1), h = e.messages.findIndex((b) => _(b, t));
352
331
  if (h < 0) {
353
- e.messages.splice(t, 0, d);
332
+ e.messages.splice(n, 0, d);
354
333
  continue;
355
334
  }
356
335
  e.messages.splice(h + 1, 0, d);
357
336
  }
358
337
  }
359
- function Be(e) {
338
+ function Te(e) {
360
339
  return !e.thinkingProcess;
361
340
  }
362
- function De(e) {
341
+ function We(e) {
363
342
  const r = e.content.trim();
364
- return Be(e) ? `${r.replace(/完成(?:,用时 .*)?$/u, "").trim()}完成` : r;
343
+ return Te(e) ? `${r.replace(/完成(?:,用时 .*)?$/u, "").trim()}完成` : r;
365
344
  }
366
- function pr(e, r) {
345
+ function ir(e, r) {
367
346
  return {
368
- content: De(e),
347
+ content: We(e),
369
348
  loading: !1,
370
349
  ...typeof e.startTime == "number" ? { startTime: e.startTime } : {},
371
350
  ...typeof e.endTime == "number" ? { endTime: e.endTime } : typeof r == "number" ? { endTime: r } : {}
@@ -377,10 +356,10 @@ function p(e) {
377
356
  function a(e) {
378
357
  return typeof e == "string" ? e.trim() : typeof e == "number" || typeof e == "boolean" ? String(e) : "";
379
358
  }
380
- function Q(e) {
359
+ function V(e) {
381
360
  return Array.isArray(e) ? String(e.length) : "";
382
361
  }
383
- function re(e) {
362
+ function X(e) {
384
363
  const r = p(e);
385
364
  return [
386
365
  a(r.bindingId),
@@ -394,19 +373,19 @@ function re(e) {
394
373
  a(r.contractHash)
395
374
  ].join("|");
396
375
  }
397
- function ne(e) {
398
- const r = p(e), n = p(r.data);
376
+ function Z(e) {
377
+ const r = p(e), t = p(r.data);
399
378
  return [
400
379
  a(r.resultId),
401
380
  a(r.sourceTurnId),
402
381
  a(r.rowCount),
403
- Q(r.rows || n.rows),
404
- Q(r.columns || n.columns),
405
- re(r.dataBinding || n.dataBinding)
382
+ V(r.rows || t.rows),
383
+ V(r.columns || t.columns),
384
+ X(r.dataBinding || t.dataBinding)
406
385
  ].join("|");
407
386
  }
408
- function Ne(e) {
409
- const r = p(e), n = p(r.blockPlan), t = p(n.data), o = p(n.meta), d = p(o.queryResult);
387
+ function _e(e) {
388
+ const r = p(e), t = p(r.blockPlan), n = p(t.data), o = p(t.meta), d = p(o.queryResult);
410
389
  return [
411
390
  a(r.recommendationId),
412
391
  a(r.capabilityId),
@@ -414,110 +393,110 @@ function Ne(e) {
414
393
  a(r.previewStatus),
415
394
  a(r.nextAction),
416
395
  a(r.dataShape),
417
- a(n.id),
418
- a(n.title),
419
- re(r.dataBinding || t.dataBinding),
420
- ne(r.queryResult || d)
396
+ a(t.id),
397
+ a(t.title),
398
+ X(r.dataBinding || n.dataBinding),
399
+ Z(r.queryResult || d)
421
400
  ].join(":");
422
401
  }
423
- function yr(e) {
424
- const r = p(e), n = typeof r.type == "string" ? r.type : "";
425
- if (n === "card_recommendations_ready") {
426
- const t = Array.isArray(r.recommendations) ? r.recommendations : [], o = fe({
402
+ function dr(e) {
403
+ const r = p(e), t = typeof r.type == "string" ? r.type : "";
404
+ if (t === "card_recommendations_ready") {
405
+ const n = Array.isArray(r.recommendations) ? r.recommendations : [], o = le({
427
406
  payload: r,
428
407
  conversationId: a(r.conversationId),
429
- groupType: n
408
+ groupType: t
430
409
  });
431
410
  return [
432
- n,
411
+ t,
433
412
  o.renderKey,
434
413
  a(r.sourceTurnId),
435
414
  a(r.placementTurnId),
436
- ne(r.queryResult),
437
- t.map(Ne).join(",")
415
+ Z(r.queryResult),
416
+ n.map(_e).join(",")
438
417
  ].join(":");
439
418
  }
440
- if (n === "query_result_table_ready") {
441
- const t = p(r.queryResult), o = Array.isArray(t.rows) ? t.rows.length : "", d = Array.isArray(t.columns) ? t.columns.length : "";
442
- return `${n}:${o}:${d}:${t.rowCount ?? ""}`;
419
+ if (t === "query_result_table_ready") {
420
+ const n = p(r.queryResult), o = Array.isArray(n.rows) ? n.rows.length : "", d = Array.isArray(n.columns) ? n.columns.length : "";
421
+ return `${t}:${o}:${d}:${n.rowCount ?? ""}`;
443
422
  }
444
- return n;
423
+ return t;
445
424
  }
446
- const ve = /* @__PURE__ */ new Set(["pending", "running"]), Oe = "/data-binding-candidate/query", $e = "/workbench/v2/documents/", He = "/data-bindings/";
447
- function Fe(e) {
425
+ const Me = /* @__PURE__ */ new Set(["pending", "running"]), Be = "/data-binding-candidate/query", De = "/workbench/v2/documents/", Ne = "/data-bindings/";
426
+ function ve(e) {
448
427
  return typeof (e == null ? void 0 : e.refreshApi) == "string" ? e.refreshApi.trim() : "";
449
428
  }
450
- function xe(e) {
451
- return e.includes(Oe);
429
+ function Oe(e) {
430
+ return e.includes(Be);
452
431
  }
453
- function te(e) {
432
+ function ee(e) {
454
433
  let r = e;
455
434
  try {
456
435
  r = new URL(e, "http://localhost").pathname;
457
436
  } catch {
458
437
  r = e;
459
438
  }
460
- return r.includes($e) && r.includes(He);
439
+ return r.includes(De) && r.includes(Ne);
461
440
  }
462
441
  function M(e) {
463
442
  return !!(e && typeof e == "object" && !Array.isArray(e));
464
443
  }
465
444
  function m(e) {
466
445
  if (!M(e)) return !1;
467
- const r = typeof e.source == "string" ? e.source.trim().toLowerCase() : "", n = typeof e.sourceType == "string" ? e.sourceType.trim().toLowerCase() : "", t = typeof e.composeSource == "string" ? e.composeSource.trim().toLowerCase() : "";
468
- return r === "image" || n === "image" || t === "image" || m(e.params);
446
+ const r = typeof e.source == "string" ? e.source.trim().toLowerCase() : "", t = typeof e.sourceType == "string" ? e.sourceType.trim().toLowerCase() : "", n = typeof e.composeSource == "string" ? e.composeSource.trim().toLowerCase() : "";
447
+ return r === "image" || t === "image" || n === "image" || m(e.params);
469
448
  }
470
449
  function C(e) {
471
450
  return M(e) ? m(e) || m(e.recognition) ? !0 : M(e.v2) ? C(e.v2) : !1 : !1;
472
451
  }
473
- function qe(e, r, n) {
474
- return (r == null ? void 0 : r.suppressImageComposeAutoRefresh) !== !0 || !te(n) ? !1 : m(e == null ? void 0 : e.params) || m(e) || m(r) || m(r == null ? void 0 : r.source) || m(r == null ? void 0 : r.data) || C(r == null ? void 0 : r.recognition) || C(r == null ? void 0 : r.meta);
452
+ function $e(e, r, t) {
453
+ return (r == null ? void 0 : r.suppressImageComposeAutoRefresh) !== !0 || !ee(t) ? !1 : m(e == null ? void 0 : e.params) || m(e) || m(r) || m(r == null ? void 0 : r.source) || m(r == null ? void 0 : r.data) || C(r == null ? void 0 : r.recognition) || C(r == null ? void 0 : r.meta);
475
454
  }
476
- function Le(e, r) {
455
+ function He(e, r) {
477
456
  return m(e == null ? void 0 : e.params) || m(e) || m(r) || m(r == null ? void 0 : r.source) || m(r == null ? void 0 : r.data) || C(r == null ? void 0 : r.recognition) || C(r == null ? void 0 : r.meta);
478
457
  }
479
- function gr(e, r) {
458
+ function cr(e, r) {
480
459
  if (!e) return !1;
481
- const n = Fe(e);
482
- if (!n || xe(n) || qe(e, r, n)) return !1;
483
- const t = typeof (e == null ? void 0 : e.status) == "string" ? e.status.trim().toLowerCase() : "";
484
- return !(ve.has(t) || te(n) && Le(e, r));
460
+ const t = ve(e);
461
+ if (!t || Oe(t) || $e(e, r, t)) return !1;
462
+ const n = typeof (e == null ? void 0 : e.status) == "string" ? e.status.trim().toLowerCase() : "";
463
+ return !(Me.has(n) || ee(t) && He(e, r));
485
464
  }
486
- function br(e) {
487
- var t;
488
- const r = (t = e.title) == null ? void 0 : t.trim(), n = r ? Ue(r) : void 0;
489
- return n || `字段 ${e.index + 1}`;
465
+ function lr(e) {
466
+ var n;
467
+ const r = (n = e.title) == null ? void 0 : n.trim(), t = r ? Fe(r) : void 0;
468
+ return t || `字段 ${e.index + 1}`;
490
469
  }
491
- function Ue(e) {
470
+ function Fe(e) {
492
471
  const r = e.replace(/[A-Za-z0-9_./\\()[\]{}::,,;;#%+\-=]+/gu, "").replace(/\s+/gu, "").trim();
493
472
  return r && /[\u3400-\u9fff]/u.test(r) ? r : void 0;
494
473
  }
495
- function B(e, r = {}, n = "-") {
496
- return Number.isFinite(e) ? new Intl.NumberFormat("zh-CN", r).format(e) : n;
474
+ function B(e, r = {}, t = "-") {
475
+ return Number.isFinite(e) ? new Intl.NumberFormat("zh-CN", r).format(e) : t;
497
476
  }
498
- function wr(e, r = "") {
477
+ function ur(e, r = "") {
499
478
  return r === "percent" ? `${(e * 100).toFixed(1)}%` : r === "currency" ? Math.abs(e) >= 1e8 ? `¥${(e / 1e8).toFixed(2)}亿` : Math.abs(e) >= 1e4 ? `¥${(e / 1e4).toFixed(1)}万` : `¥${B(e)}` : B(e);
500
479
  }
501
- function Ir(e, r = {}) {
480
+ function fr(e, r = {}) {
502
481
  return e === 0 ? "-" : B(e, r);
503
482
  }
504
- function j(e = {}) {
505
- var n, t, o, d, h, g, v, O, $, H, F, x;
483
+ function Q(e = {}) {
484
+ var t, n, o, d, h, b, N, v, O, $, H, F;
506
485
  const r = {
507
486
  workspaceId: l([
508
- s((n = e.routeQuery) == null ? void 0 : n.workspaceId),
487
+ s((t = e.routeQuery) == null ? void 0 : t.workspaceId),
509
488
  c(e.locationSearch, "workspaceId"),
510
489
  u(e.locationHash, "workspaceId"),
511
490
  f(e.locationPathname, "workspaceId")
512
491
  ]),
513
492
  userId: l([
514
- s((t = e.routeQuery) == null ? void 0 : t.userId),
493
+ s((n = e.routeQuery) == null ? void 0 : n.userId),
515
494
  c(e.locationSearch, "userId"),
516
495
  u(e.locationHash, "userId"),
517
496
  f(e.locationPathname, "userId")
518
497
  ]),
519
- tenantId: z(e, ["tenantId", "tenant_id", "tenant-id"]),
520
- appId: z(e, ["appId", "app_id", "app-id"]),
498
+ tenantId: j(e, ["tenantId", "tenant_id", "tenant-id"]),
499
+ appId: j(e, ["appId", "app_id", "app-id"]),
521
500
  roleId: "",
522
501
  mode: l([
523
502
  s((o = e.routeQuery) == null ? void 0 : o.mode),
@@ -538,54 +517,54 @@ function j(e = {}) {
538
517
  f(e.locationPathname, "workbenchEditable")
539
518
  ]),
540
519
  conversationId: l([
541
- s((g = e.routeQuery) == null ? void 0 : g.conversationId),
520
+ s((b = e.routeQuery) == null ? void 0 : b.conversationId),
542
521
  c(e.locationSearch, "conversationId"),
543
522
  u(e.locationHash, "conversationId"),
544
523
  f(e.locationPathname, "conversationId")
545
524
  ]),
546
525
  resourceId: l([
547
- s((v = e.routeQuery) == null ? void 0 : v.resourceId),
526
+ s((N = e.routeQuery) == null ? void 0 : N.resourceId),
548
527
  c(e.locationSearch, "resourceId"),
549
528
  u(e.locationHash, "resourceId"),
550
529
  f(e.locationPathname, "resourceId")
551
530
  ]),
552
531
  fdeResourceId: l([
553
- s((O = e.routeQuery) == null ? void 0 : O.fdeResourceId),
532
+ s((v = e.routeQuery) == null ? void 0 : v.fdeResourceId),
554
533
  c(e.locationSearch, "fdeResourceId"),
555
534
  u(e.locationHash, "fdeResourceId"),
556
535
  f(e.locationPathname, "fdeResourceId")
557
536
  ]),
558
537
  path: l([
559
- s(($ = e.routeQuery) == null ? void 0 : $.path),
538
+ s((O = e.routeQuery) == null ? void 0 : O.path),
560
539
  c(e.locationSearch, "path"),
561
540
  u(e.locationHash, "path"),
562
541
  f(e.locationPathname, "path")
563
542
  ]),
564
543
  fdePath: l([
565
- s((H = e.routeQuery) == null ? void 0 : H.fdePath),
544
+ s(($ = e.routeQuery) == null ? void 0 : $.fdePath),
566
545
  c(e.locationSearch, "fdePath"),
567
546
  u(e.locationHash, "fdePath"),
568
547
  f(e.locationPathname, "fdePath")
569
548
  ]),
570
549
  name: l([
571
- s((F = e.routeQuery) == null ? void 0 : F.name),
550
+ s((H = e.routeQuery) == null ? void 0 : H.name),
572
551
  c(e.locationSearch, "name"),
573
552
  u(e.locationHash, "name"),
574
553
  f(e.locationPathname, "name")
575
554
  ]),
576
555
  fdeName: l([
577
- s((x = e.routeQuery) == null ? void 0 : x.fdeName),
556
+ s((F = e.routeQuery) == null ? void 0 : F.fdeName),
578
557
  c(e.locationSearch, "fdeName"),
579
558
  u(e.locationHash, "fdeName"),
580
559
  f(e.locationPathname, "fdeName")
581
560
  ])
582
561
  };
583
- return je(r);
562
+ return Le(r);
584
563
  }
585
- function kr(e) {
564
+ function mr(e) {
586
565
  if (typeof window > "u")
587
- return j({ routeQuery: e });
588
- const r = j({
566
+ return Q({ routeQuery: e });
567
+ const r = Q({
589
568
  routeQuery: e,
590
569
  locationPathname: window.location.pathname,
591
570
  locationSearch: window.location.search,
@@ -593,55 +572,55 @@ function kr(e) {
593
572
  });
594
573
  return {
595
574
  ...r,
596
- userId: r.userId || Ve(window)
575
+ userId: r.userId || qe(window)
597
576
  };
598
577
  }
599
578
  function s(e) {
600
579
  return Array.isArray(e) ? s(e[0]) : typeof e == "string" ? e.trim() : "";
601
580
  }
602
581
  function c(e, r) {
603
- var n;
604
- return e && ((n = new URLSearchParams(e.startsWith("?") ? e.slice(1) : e).get(r)) == null ? void 0 : n.trim()) || "";
582
+ var t;
583
+ return e && ((t = new URLSearchParams(e.startsWith("?") ? e.slice(1) : e).get(r)) == null ? void 0 : t.trim()) || "";
605
584
  }
606
585
  function u(e, r) {
607
586
  if (!e) return "";
608
- const n = e.indexOf("?");
609
- if (n < 0) return "";
610
- const t = e.indexOf("#", n + 1), o = t >= 0 ? e.slice(n + 1, t) : e.slice(n + 1);
587
+ const t = e.indexOf("?");
588
+ if (t < 0) return "";
589
+ const n = e.indexOf("#", t + 1), o = n >= 0 ? e.slice(t + 1, n) : e.slice(t + 1);
611
590
  return c(o, r);
612
591
  }
613
592
  function f(e, r) {
614
593
  if (!e || !e.includes("=")) return "";
615
- const n = e.split("/").filter(Boolean).find((t) => t.includes("="));
616
- return n ? c(n, r) : "";
594
+ const t = e.split("/").filter(Boolean).find((n) => n.includes("="));
595
+ return t ? c(t, r) : "";
617
596
  }
618
- function z(e, r) {
619
- return l(r.flatMap((n) => {
620
- var t;
597
+ function j(e, r) {
598
+ return l(r.flatMap((t) => {
599
+ var n;
621
600
  return [
622
- s((t = e.routeQuery) == null ? void 0 : t[n]),
623
- c(e.locationSearch, n),
624
- u(e.locationHash, n),
625
- f(e.locationPathname, n)
601
+ s((n = e.routeQuery) == null ? void 0 : n[t]),
602
+ c(e.locationSearch, t),
603
+ u(e.locationHash, t),
604
+ f(e.locationPathname, t)
626
605
  ];
627
606
  }));
628
607
  }
629
608
  function l(e) {
630
609
  return e.find((r) => r.trim()) || "";
631
610
  }
632
- function Ve(e) {
611
+ function qe(e) {
633
612
  const r = [
634
613
  e.__BT_WORKBENCH_USER__,
635
614
  e.__BT_RUNTIME_IDENTITY__,
636
615
  e.__BT_RUNTIME_CONTEXT__
637
616
  ];
638
- for (const n of r) {
639
- const t = Qe(n);
640
- if (t) return t;
617
+ for (const t of r) {
618
+ const n = xe(t);
619
+ if (n) return n;
641
620
  }
642
621
  return "";
643
622
  }
644
- function Qe(e) {
623
+ function xe(e) {
645
624
  if (!e || typeof e != "object" || Array.isArray(e)) return "";
646
625
  const r = e;
647
626
  return l([
@@ -652,8 +631,8 @@ function Qe(e) {
652
631
  s(r["ego-userinfo"])
653
632
  ]);
654
633
  }
655
- function je(e) {
656
- if (!ze(e)) return e;
634
+ function Le(e) {
635
+ if (!Ue(e)) return e;
657
636
  const r = e.fdeResourceId || e.resourceId;
658
637
  return {
659
638
  ...e,
@@ -663,9 +642,9 @@ function je(e) {
663
642
  fdeResourceId: r
664
643
  };
665
644
  }
666
- function ze(e) {
667
- const r = e.mode.trim().toLowerCase(), n = e.fdeMode.trim().toLowerCase();
668
- return r === "fde" || n === "true" || n === "1" || n === "yes";
645
+ function Ue(e) {
646
+ const r = e.mode.trim().toLowerCase(), t = e.fdeMode.trim().toLowerCase();
647
+ return r === "fde" || t === "true" || t === "1" || t === "yes";
669
648
  }
670
649
  const i = {
671
650
  radius: "standard",
@@ -675,7 +654,7 @@ const i = {
675
654
  textureColor: "#ffffff",
676
655
  motion: "none",
677
656
  density: "standard"
678
- }, Sr = [
657
+ }, hr = [
679
658
  {
680
659
  key: "radius",
681
660
  label: "圆角",
@@ -732,7 +711,7 @@ const i = {
732
711
  { value: "compact", label: "高密度紧凑版" }
733
712
  ]
734
713
  }
735
- ], Ke = {
714
+ ], Ve = {
736
715
  radius: ["square", "small", "standard", "large"],
737
716
  border: ["none", "light", "strong"],
738
717
  shadow: ["none", "soft", "strong"],
@@ -744,10 +723,10 @@ function D(e) {
744
723
  return e && typeof e == "object" && !Array.isArray(e) ? e : {};
745
724
  }
746
725
  function I(e, r) {
747
- const n = i[e];
748
- return typeof r == "string" && Ke[e].includes(r) ? r : n;
726
+ const t = i[e];
727
+ return typeof r == "string" && Ve[e].includes(r) ? r : t;
749
728
  }
750
- function Ge(e) {
729
+ function Qe(e) {
751
730
  return typeof e == "string" && /^#[0-9a-fA-F]{6}$/.test(e) ? e.toLowerCase() : i.textureColor;
752
731
  }
753
732
  function E(e) {
@@ -757,36 +736,36 @@ function E(e) {
757
736
  border: I("border", r.border),
758
737
  shadow: I("shadow", r.shadow),
759
738
  texture: I("texture", r.texture),
760
- textureColor: Ge(r.textureColor),
739
+ textureColor: Qe(r.textureColor),
761
740
  motion: I("motion", r.motion),
762
741
  density: I("density", r.density)
763
742
  };
764
743
  }
765
- function Cr(e) {
744
+ function pr(e) {
766
745
  const r = E(e);
767
746
  return r.radius === i.radius && r.border === i.border && r.shadow === i.shadow && r.texture === i.texture && r.textureColor === i.textureColor && r.motion === i.motion && r.density === i.density;
768
747
  }
769
- const Ye = {
748
+ const je = {
770
749
  square: 0,
771
750
  small: 4,
772
751
  standard: 8,
773
752
  large: 16
774
- }, Je = {
753
+ }, ze = {
775
754
  none: "none",
776
755
  soft: "soft",
777
756
  standard: "soft",
778
757
  strong: "strong"
779
- }, Xe = {
758
+ }, Ke = {
780
759
  thumbnail: "compact",
781
760
  compact: "compact",
782
761
  standard: "standard",
783
762
  expanded: "loose"
784
763
  };
785
- function Ar(e) {
764
+ function yr(e) {
786
765
  const r = E(e);
787
766
  return {
788
767
  cardStyle: {
789
- cardRadius: Ye[r.radius],
768
+ cardRadius: je[r.radius],
790
769
  cardShadow: r.shadow === "strong" ? "strong" : r.shadow,
791
770
  density: r.density === "loose" ? "expanded" : r.density,
792
771
  ...r.texture === "color" ? { backgroundColor: r.textureColor } : {},
@@ -794,13 +773,13 @@ function Ar(e) {
794
773
  }
795
774
  };
796
775
  }
797
- function Rr(e) {
798
- const r = D(e == null ? void 0 : e.cardStyle), n = D(r.shell);
799
- if (Object.keys(n).length > 0)
800
- return E(n);
801
- const t = typeof r.cardRadius == "number" ? r.cardRadius <= 0 ? "square" : r.cardRadius <= 4 ? "small" : r.cardRadius >= 16 ? "large" : "standard" : i.radius, o = typeof r.cardShadow == "string" && Je[r.cardShadow] || i.shadow, d = typeof r.density == "string" && Xe[r.density] || i.density, h = typeof r.backgroundColor == "string" ? r.backgroundColor : void 0;
776
+ function br(e) {
777
+ const r = D(e == null ? void 0 : e.cardStyle), t = D(r.shell);
778
+ if (Object.keys(t).length > 0)
779
+ return E(t);
780
+ const n = typeof r.cardRadius == "number" ? r.cardRadius <= 0 ? "square" : r.cardRadius <= 4 ? "small" : r.cardRadius >= 16 ? "large" : "standard" : i.radius, o = typeof r.cardShadow == "string" && ze[r.cardShadow] || i.shadow, d = typeof r.density == "string" && Ke[r.density] || i.density, h = typeof r.backgroundColor == "string" ? r.backgroundColor : void 0;
802
781
  return E({
803
- radius: t,
782
+ radius: n,
804
783
  border: i.border,
805
784
  shadow: o,
806
785
  texture: h ? "color" : i.texture,
@@ -809,42 +788,38 @@ function Rr(e) {
809
788
  density: d
810
789
  });
811
790
  }
812
- const Pr = "@fses/workbench-app";
791
+ const gr = "@fses/workbench-app";
813
792
  export {
814
- pe as A,
793
+ Ce as A,
815
794
  fr as B,
816
- Pe as C,
795
+ er as C,
817
796
  i as D,
818
- S as E,
819
- Ee as F,
820
- Ir as G,
821
- or as H,
822
- Sr as W,
823
- Se as _,
824
- br as a,
825
- cr as b,
826
- De as c,
827
- mr as d,
828
- pr as e,
829
- wr as f,
830
- yr as g,
831
- sr as h,
832
- ir as i,
833
- kr as j,
834
- ar as k,
835
- Rr as l,
836
- Cr as m,
797
+ hr as W,
798
+ Ie as _,
799
+ We as a,
800
+ ar as b,
801
+ ir as c,
802
+ dr as d,
803
+ mr as e,
804
+ ur as f,
805
+ rr as g,
806
+ br as h,
807
+ pr as i,
808
+ yr as j,
809
+ G as k,
810
+ gr as l,
811
+ ue as m,
837
812
  E as n,
838
- Ar as o,
839
- hr as p,
840
- Y as q,
841
- dr as r,
842
- gr as s,
843
- Pr as t,
844
- me as u,
845
- lr as v,
846
- Fe as w,
847
- Ce as x,
848
- ge as y,
849
- ur as z
813
+ tr as o,
814
+ sr as p,
815
+ ke as q,
816
+ lr as r,
817
+ cr as s,
818
+ pe as t,
819
+ nr as u,
820
+ me as v,
821
+ ve as w,
822
+ or as x,
823
+ Se as y,
824
+ S as z
850
825
  };