@xpert-ai/plugin-lucidchart 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/package.json +4 -4
  2. package/dist/index.js +0 -153
  3. package/dist/index.js.map +0 -1
  4. package/dist/lib/constants.js +0 -44
  5. package/dist/lib/constants.js.map +0 -1
  6. package/dist/lib/entities/index.js +0 -4
  7. package/dist/lib/entities/index.js.map +0 -1
  8. package/dist/lib/entities/lucidchart-action-log.entity.js +0 -69
  9. package/dist/lib/entities/lucidchart-action-log.entity.js.map +0 -1
  10. package/dist/lib/entities/lucidchart-document-version.entity.js +0 -102
  11. package/dist/lib/entities/lucidchart-document-version.entity.js.map +0 -1
  12. package/dist/lib/entities/lucidchart-document.entity.js +0 -118
  13. package/dist/lib/entities/lucidchart-document.entity.js.map +0 -1
  14. package/dist/lib/lucidchart-view.provider.js +0 -460
  15. package/dist/lib/lucidchart-view.provider.js.map +0 -1
  16. package/dist/lib/lucidchart.middleware.js +0 -193
  17. package/dist/lib/lucidchart.middleware.js.map +0 -1
  18. package/dist/lib/lucidchart.plugin.js +0 -27
  19. package/dist/lib/lucidchart.plugin.js.map +0 -1
  20. package/dist/lib/lucidchart.service.js +0 -548
  21. package/dist/lib/lucidchart.service.js.map +0 -1
  22. package/dist/lib/lucidchart.templates.js +0 -78
  23. package/dist/lib/lucidchart.templates.js.map +0 -1
  24. package/dist/lib/remote-components/lucidchart-workbench/src/i18n.js +0 -115
  25. package/dist/lib/remote-components/lucidchart-workbench/src/i18n.js.map +0 -1
  26. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.js +0 -4
  27. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.js.map +0 -1
  28. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.js +0 -11
  29. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.js.map +0 -1
  30. package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.js +0 -8
  31. package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.js.map +0 -1
  32. package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.js +0 -36
  33. package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.js.map +0 -1
  34. package/dist/lib/remote-components/lucidchart-workbench/src/runtime.js +0 -198
  35. package/dist/lib/remote-components/lucidchart-workbench/src/runtime.js.map +0 -1
  36. package/dist/lib/remote-components/lucidchart-workbench/src/styles.js +0 -383
  37. package/dist/lib/remote-components/lucidchart-workbench/src/styles.js.map +0 -1
  38. package/dist/lib/remote-components/lucidchart-workbench/src/vendor.js +0 -4
  39. package/dist/lib/remote-components/lucidchart-workbench/src/vendor.js.map +0 -1
  40. package/dist/lib/types.js +0 -2
  41. package/dist/lib/types.js.map +0 -1
@@ -1,460 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from '@nestjs/common';
3
- import { existsSync } from 'node:fs';
4
- import { readFile } from 'node:fs/promises';
5
- import { createRequire } from 'node:module';
6
- import { dirname, join } from 'node:path';
7
- import { fileURLToPath } from 'node:url';
8
- import { renderRemoteReactIframeHtml, ViewExtensionProvider } from '@xpert-ai/plugin-sdk';
9
- import { AGENT_WORKBENCH_FIXED_SLOT, AGENT_WORKBENCH_MAIN_SLOT, ASSISTANT_CHAT_SEND_MESSAGE_COMMAND, LUCIDCHART_FEATURE, LUCIDCHART_ICON, LUCIDCHART_MIDDLEWARE_TOOL_NAMES, LUCIDCHART_PLUGIN_NAME, LUCIDCHART_PROVIDER_KEY, LUCIDCHART_REMOTE_ENTRY_KEY, LUCIDCHART_WORKBENCH_VIEW_KEY } from './constants.js';
10
- import { LucidchartService } from './lucidchart.service.js';
11
- const __filename = fileURLToPath(import.meta.url);
12
- const __dirname = dirname(__filename);
13
- const requireFromHere = createRequire(__filename);
14
- const text = (en_US, zh_Hans) => ({ en_US, zh_Hans });
15
- let LucidchartViewProvider = class LucidchartViewProvider {
16
- constructor(service) {
17
- this.service = service;
18
- }
19
- supports(context) {
20
- return context.hostType === 'agent';
21
- }
22
- getViewManifests(context, slot) {
23
- if (context.hostType !== 'agent' || (slot !== AGENT_WORKBENCH_MAIN_SLOT && slot !== AGENT_WORKBENCH_FIXED_SLOT)) {
24
- return [];
25
- }
26
- const fixed = slot === AGENT_WORKBENCH_FIXED_SLOT;
27
- return [
28
- {
29
- key: LUCIDCHART_WORKBENCH_VIEW_KEY,
30
- title: text('Lucidchart Workbench', 'Lucidchart 工作台'),
31
- description: text('Review, version, import, export, and register Agent-generated Lucidchart Standard Import drafts.', '审核、版本化、导入导出并登记 Agent 生成的 Lucidchart Standard Import 草稿。'),
32
- icon: {
33
- type: 'svg',
34
- value: LUCIDCHART_ICON,
35
- color: '#2563eb',
36
- alt: 'Lucidchart'
37
- },
38
- hostType: 'agent',
39
- slot,
40
- order: 41,
41
- refreshable: true,
42
- activation: {
43
- requiredFeatures: [LUCIDCHART_FEATURE]
44
- },
45
- ...(fixed
46
- ? {
47
- workbench: {
48
- fixed: true,
49
- menu: {
50
- enabled: true,
51
- label: text('Lucidchart', 'Lucidchart'),
52
- order: 41,
53
- icon: {
54
- type: 'svg',
55
- value: LUCIDCHART_ICON,
56
- alt: 'Lucidchart'
57
- }
58
- }
59
- }
60
- }
61
- : {}),
62
- source: {
63
- provider: LUCIDCHART_PROVIDER_KEY,
64
- plugin: LUCIDCHART_PLUGIN_NAME
65
- },
66
- view: {
67
- type: 'remote_component',
68
- runtime: 'react',
69
- protocolVersion: 1,
70
- component: {
71
- isolation: 'iframe',
72
- entry: LUCIDCHART_REMOTE_ENTRY_KEY
73
- },
74
- dataSource: {
75
- mode: 'platform'
76
- }
77
- },
78
- dataSource: {
79
- mode: 'platform',
80
- querySchema: {
81
- supportsPagination: true,
82
- supportsSearch: true,
83
- supportsParameters: true,
84
- defaultPageSize: 20
85
- },
86
- cache: {
87
- enabled: false
88
- }
89
- },
90
- hostEvents: {
91
- subscriptions: [
92
- {
93
- key: 'lucidchart-tool-completed',
94
- event: 'assistant.tool.completed',
95
- filter: {
96
- sources: ['chatkit'],
97
- toolNames: [...LUCIDCHART_MIDDLEWARE_TOOL_NAMES]
98
- },
99
- action: {
100
- type: 'refresh-and-forward',
101
- debounceMs: 800
102
- }
103
- }
104
- ]
105
- },
106
- clientCommands: [
107
- {
108
- key: ASSISTANT_CHAT_SEND_MESSAGE_COMMAND,
109
- label: text('Send to Assistant Chat', '发送到 Assistant 对话')
110
- }
111
- ],
112
- actions: [
113
- { key: 'refresh', label: text('Refresh', '刷新'), icon: 'ri-refresh-line', placement: 'toolbar', actionType: 'refresh' },
114
- { key: 'create_document', label: text('New Document', '新建文档'), icon: 'ri-add-line', placement: 'toolbar', actionType: 'invoke' },
115
- { key: 'save_standard_import_version', label: text('Save Standard Import', '保存 Standard Import'), icon: 'ri-save-line', placement: 'toolbar', actionType: 'invoke' },
116
- { key: 'save_mermaid_draft', label: text('Save Mermaid Draft', '保存 Mermaid 草稿'), icon: 'ri-git-branch-line', actionType: 'invoke' },
117
- { key: 'register_external_document', label: text('Register Lucid Document', '登记 Lucid 文档'), icon: 'ri-link', actionType: 'invoke' },
118
- { key: 'restore_version', label: text('Restore Version', '恢复版本'), icon: 'ri-history-line', actionType: 'invoke' },
119
- { key: 'mark_reviewed', label: text('Mark Reviewed', '标记已审核'), icon: 'ri-check-line', actionType: 'invoke' },
120
- { key: 'mark_draft', label: text('Move Back to Draft', '退回草稿'), icon: 'ri-edit-line', actionType: 'invoke' },
121
- { key: 'archive_document', label: text('Archive Document', '归档文档'), icon: 'ri-archive-line', actionType: 'invoke' },
122
- {
123
- key: 'import_standard_import_file',
124
- label: text('Import document.json', '导入 document.json'),
125
- icon: 'ri-upload-cloud-line',
126
- placement: 'toolbar',
127
- actionType: 'invoke',
128
- transport: 'file'
129
- },
130
- {
131
- key: 'prepare_agent_draw_message',
132
- label: text('Ask Assistant to Draw', '让 Assistant 绘图'),
133
- icon: 'ri-send-plane-line',
134
- placement: 'toolbar',
135
- actionType: 'invoke'
136
- }
137
- ]
138
- }
139
- ];
140
- }
141
- async getRemoteComponentEntry(_context, viewKey, component) {
142
- if (viewKey !== LUCIDCHART_WORKBENCH_VIEW_KEY || component.entry !== LUCIDCHART_REMOTE_ENTRY_KEY) {
143
- return {
144
- html: '<!doctype html><html><body>Unsupported Lucidchart component.</body></html>',
145
- contentType: 'text/html; charset=utf-8'
146
- };
147
- }
148
- const componentDir = join(__dirname, 'remote-components', LUCIDCHART_REMOTE_ENTRY_KEY);
149
- const appScript = await readFile(join(componentDir, 'app.js'), 'utf8');
150
- const appCssPath = join(componentDir, 'app.css');
151
- const appCss = existsSync(appCssPath) ? await readFile(appCssPath, 'utf8') : '';
152
- const react = await readPackageFile('react', 'umd/react.production.min.js');
153
- const reactDom = await readPackageFile('react-dom', 'umd/react-dom.production.min.js');
154
- return {
155
- html: renderRemoteReactIframeHtml({
156
- title: 'Lucidchart Workbench',
157
- lang: 'zh-Hans',
158
- reactUmd: react,
159
- reactDomUmd: reactDom,
160
- appScript,
161
- appCss
162
- }),
163
- contentType: 'text/html; charset=utf-8'
164
- };
165
- }
166
- async getViewData(context, viewKey, query) {
167
- if (viewKey !== LUCIDCHART_WORKBENCH_VIEW_KEY) {
168
- return {};
169
- }
170
- return this.service.getWorkbenchData(scopeFromContext(context), {
171
- documentId: getStringParameter(query.parameters, 'documentId') ?? query.selectionId,
172
- status: getStringParameter(query.parameters, 'status'),
173
- kind: getStringParameter(query.parameters, 'kind'),
174
- search: query.search,
175
- page: query.page,
176
- pageSize: query.pageSize
177
- });
178
- }
179
- async executeViewAction(context, viewKey, actionKey, request) {
180
- if (viewKey !== LUCIDCHART_WORKBENCH_VIEW_KEY) {
181
- return failure('Unsupported view', '不支持的视图');
182
- }
183
- try {
184
- const scope = scopeFromContext(context);
185
- if (actionKey === 'refresh') {
186
- return success('Lucidchart view refreshed', 'Lucidchart 视图已刷新');
187
- }
188
- if (actionKey === 'create_document') {
189
- const result = await this.service.createDocument(scope, {
190
- title: requireStringInput(request.input, 'title', 'Lucidchart document title is required.'),
191
- description: getStringInput(request.input, 'description'),
192
- kind: getStringInput(request.input, 'kind'),
193
- tags: getStringArrayInput(request.input, 'tags'),
194
- source: 'workbench'
195
- });
196
- return {
197
- ...success('Lucidchart document created', 'Lucidchart 文档已创建'),
198
- data: result
199
- };
200
- }
201
- if (actionKey === 'save_standard_import_version') {
202
- const documentId = requireDocumentId(request);
203
- const result = await this.service.saveStandardImportVersion(scope, {
204
- documentId,
205
- standardImport: getRecordInput(request.input, 'standardImport'),
206
- mermaidSource: getStringInput(request.input, 'mermaidSource'),
207
- lucidDocumentId: getStringInput(request.input, 'lucidDocumentId'),
208
- lucidDocumentUrl: getStringInput(request.input, 'lucidDocumentUrl'),
209
- embedUrl: getStringInput(request.input, 'embedUrl'),
210
- embedId: getStringInput(request.input, 'embedId'),
211
- previewUrl: getStringInput(request.input, 'previewUrl'),
212
- product: getStringInput(request.input, 'product'),
213
- importFileName: getStringInput(request.input, 'importFileName'),
214
- sourceType: 'workbench',
215
- changeSummary: getStringInput(request.input, 'changeSummary')
216
- });
217
- return {
218
- ...success('Lucidchart Standard Import version saved', 'Lucidchart Standard Import 版本已保存'),
219
- data: result
220
- };
221
- }
222
- if (actionKey === 'save_mermaid_draft') {
223
- const result = await this.service.saveMermaidDraft(scope, {
224
- documentId: getStringInput(request.input, 'documentId') ?? getStringParameter(request.parameters, 'documentId') ?? request.targetId,
225
- title: getStringInput(request.input, 'title'),
226
- description: getStringInput(request.input, 'description'),
227
- kind: getStringInput(request.input, 'kind'),
228
- mermaidSource: requireStringInput(request.input, 'mermaidSource', 'Mermaid source is required.'),
229
- changeSummary: getStringInput(request.input, 'changeSummary')
230
- });
231
- return {
232
- ...success('Mermaid draft saved', 'Mermaid 草稿已保存'),
233
- data: result
234
- };
235
- }
236
- if (actionKey === 'register_external_document') {
237
- const result = await this.service.registerExternalDocument(scope, {
238
- documentId: getStringInput(request.input, 'documentId') ?? getStringParameter(request.parameters, 'documentId') ?? request.targetId,
239
- title: getStringInput(request.input, 'title'),
240
- description: getStringInput(request.input, 'description'),
241
- kind: getStringInput(request.input, 'kind'),
242
- lucidDocumentId: getStringInput(request.input, 'lucidDocumentId'),
243
- lucidDocumentUrl: getStringInput(request.input, 'lucidDocumentUrl'),
244
- embedUrl: getStringInput(request.input, 'embedUrl'),
245
- embedId: getStringInput(request.input, 'embedId'),
246
- previewUrl: getStringInput(request.input, 'previewUrl'),
247
- product: getStringInput(request.input, 'product'),
248
- changeSummary: getStringInput(request.input, 'changeSummary')
249
- });
250
- return {
251
- ...success('Lucid document registered', 'Lucid 文档已登记'),
252
- data: result
253
- };
254
- }
255
- if (actionKey === 'restore_version') {
256
- const result = await this.service.restoreVersion(scope, requireDocumentId(request), requireStringInput(request.input, 'versionId', 'Version id is required.'), getStringInput(request.input, 'changeSummary'));
257
- return {
258
- ...success('Lucidchart version restored', 'Lucidchart 版本已恢复'),
259
- data: result
260
- };
261
- }
262
- if (actionKey === 'archive_document') {
263
- const result = await this.service.updateDocumentStatus(scope, {
264
- documentId: requireDocumentId(request),
265
- status: 'archived',
266
- reason: getStringInput(request.input, 'reason')
267
- });
268
- return {
269
- ...success('Lucidchart document archived', 'Lucidchart 文档已归档'),
270
- data: result
271
- };
272
- }
273
- if (actionKey === 'mark_reviewed' || actionKey === 'mark_draft') {
274
- const status = actionKey === 'mark_reviewed' ? 'reviewed' : 'draft';
275
- const result = await this.service.updateDocumentStatus(scope, {
276
- documentId: requireDocumentId(request),
277
- status,
278
- reason: getStringInput(request.input, 'reason')
279
- });
280
- return {
281
- ...success(status === 'reviewed' ? 'Lucidchart document marked as reviewed' : 'Lucidchart document moved back to draft', status === 'reviewed' ? 'Lucidchart 文档已标记为已审核' : 'Lucidchart 文档已退回草稿'),
282
- data: result
283
- };
284
- }
285
- if (actionKey === 'prepare_agent_draw_message') {
286
- const prompt = requireStringInput(request.input, 'prompt', 'Drawing request is required.');
287
- return {
288
- ...success('Assistant draw request prepared', 'Assistant 绘图请求已准备'),
289
- data: {
290
- commandKey: ASSISTANT_CHAT_SEND_MESSAGE_COMMAND,
291
- payload: {
292
- text: buildAgentDrawPrompt(prompt, getStringInput(request.input, 'documentId'))
293
- }
294
- },
295
- refresh: false
296
- };
297
- }
298
- return failure('Unsupported action', '不支持的操作');
299
- }
300
- catch (error) {
301
- const message = getActionErrorMessage(error, 'Lucidchart action failed');
302
- return {
303
- success: false,
304
- message: text(message, message)
305
- };
306
- }
307
- }
308
- async executeViewFileAction(context, viewKey, actionKey, request, file) {
309
- if (viewKey !== LUCIDCHART_WORKBENCH_VIEW_KEY) {
310
- return failure('Unsupported view', '不支持的视图');
311
- }
312
- if (actionKey !== 'import_standard_import_file') {
313
- return failure('Unsupported file action', '不支持的文件操作');
314
- }
315
- try {
316
- const imported = parseStandardImportFile(file);
317
- const documentId = getStringInput(request.input, 'documentId') ?? getStringParameter(request.parameters, 'documentId');
318
- const scope = scopeFromContext(context);
319
- const result = documentId
320
- ? await this.service.saveStandardImportVersion(scope, {
321
- documentId,
322
- standardImport: imported.standardImport,
323
- mermaidSource: imported.mermaidSource,
324
- sourceType: 'import',
325
- importFileName: file.originalname ?? 'document.json',
326
- changeSummary: `Imported ${file.originalname ?? 'document.json'}`
327
- })
328
- : await this.service.createDocument(scope, {
329
- title: getStringInput(request.input, 'title') ?? removeLucidchartExtension(file.originalname) ?? 'Imported Lucidchart Document',
330
- description: getStringInput(request.input, 'description'),
331
- kind: 'diagram',
332
- source: 'import',
333
- standardImport: imported.standardImport,
334
- mermaidSource: imported.mermaidSource,
335
- importFileName: file.originalname ?? 'document.json',
336
- changeSummary: `Imported ${file.originalname ?? 'document.json'}`
337
- });
338
- return {
339
- ...success('Lucidchart Standard Import file imported', 'Lucidchart Standard Import 文件已导入'),
340
- data: result
341
- };
342
- }
343
- catch (error) {
344
- const message = getActionErrorMessage(error, 'Failed to import Lucidchart Standard Import file');
345
- return {
346
- success: false,
347
- message: text(message, message)
348
- };
349
- }
350
- }
351
- };
352
- LucidchartViewProvider = __decorate([
353
- Injectable(),
354
- ViewExtensionProvider(LUCIDCHART_PROVIDER_KEY),
355
- __metadata("design:paramtypes", [LucidchartService])
356
- ], LucidchartViewProvider);
357
- export { LucidchartViewProvider };
358
- async function readPackageFile(packageName, relativePath) {
359
- const packageRoot = dirname(requireFromHere.resolve(`${packageName}/package.json`));
360
- return readFile(join(packageRoot, relativePath), 'utf8');
361
- }
362
- function scopeFromContext(context) {
363
- return {
364
- tenantId: context.tenantId,
365
- organizationId: context.organizationId ?? null,
366
- workspaceId: context.workspaceId ?? null,
367
- projectId: null,
368
- userId: context.userId,
369
- assistantId: context.hostType === 'agent' ? context.hostId : null
370
- };
371
- }
372
- function success(en_US, zh_Hans) {
373
- return {
374
- success: true,
375
- message: text(en_US, zh_Hans),
376
- refresh: true
377
- };
378
- }
379
- function failure(en_US, zh_Hans) {
380
- return {
381
- success: false,
382
- message: text(en_US, zh_Hans)
383
- };
384
- }
385
- function requireDocumentId(request) {
386
- return (getStringInput(request.input, 'documentId') ??
387
- getStringParameter(request.parameters, 'documentId') ??
388
- requireString(request.targetId, 'Lucidchart document id is required.'));
389
- }
390
- function requireStringInput(input, key, message) {
391
- return requireString(getStringInput(input, key), message);
392
- }
393
- function requireString(value, message) {
394
- const normalized = value?.trim();
395
- if (!normalized) {
396
- throw new Error(message);
397
- }
398
- return normalized;
399
- }
400
- function getStringInput(input, key) {
401
- const value = input?.[key];
402
- return typeof value === 'string' && value.trim() ? value.trim() : undefined;
403
- }
404
- function getStringArrayInput(input, key) {
405
- const value = input?.[key];
406
- if (!Array.isArray(value)) {
407
- return undefined;
408
- }
409
- return value.filter((item) => typeof item === 'string' && item.trim().length > 0).map((item) => item.trim());
410
- }
411
- function getRecordInput(input, key) {
412
- const value = input?.[key];
413
- return value && typeof value === 'object' && !Array.isArray(value) ? value : {};
414
- }
415
- function getStringParameter(parameters, key) {
416
- const value = parameters?.[key];
417
- if (typeof value === 'string' && value.trim()) {
418
- return value.trim();
419
- }
420
- return undefined;
421
- }
422
- function getActionErrorMessage(error, fallback) {
423
- return error instanceof Error && error.message ? error.message : fallback;
424
- }
425
- function parseStandardImportFile(file) {
426
- const raw = file.buffer.toString('utf8');
427
- const trimmed = raw.trim();
428
- if (!trimmed || trimmed.startsWith('PK')) {
429
- throw new Error('Please import Lucid Standard Import document.json, not a zipped .lucid file.');
430
- }
431
- const parsed = JSON.parse(trimmed);
432
- const standardImport = parsed.standardImport && typeof parsed.standardImport === 'object' && !Array.isArray(parsed.standardImport)
433
- ? parsed.standardImport
434
- : parsed;
435
- return {
436
- standardImport,
437
- mermaidSource: typeof parsed.mermaidSource === 'string' ? parsed.mermaidSource : undefined
438
- };
439
- }
440
- function removeLucidchartExtension(name) {
441
- const normalized = name?.trim();
442
- if (!normalized) {
443
- return undefined;
444
- }
445
- return normalized.replace(/\.(lucid|lucidchart|json)(?:\.json)?$/i, '').replace(/document$/i, 'Lucidchart Document') || normalized;
446
- }
447
- function buildAgentDrawPrompt(prompt, documentId) {
448
- const context = documentId ? `请更新当前 Lucidchart 文档 documentId=${documentId}。` : '请创建一份新的 Lucidchart 文档草稿。';
449
- return `${context}
450
-
451
- 用户绘图需求:
452
- ${prompt}
453
-
454
- 请优先判断路径:
455
- 1. 能直接表达为 Lucid Standard Import document.json 时,调用 lucidchart_save_standard_import_version 或 lucidchart_create_document。
456
- 2. 还需要推敲流程/结构时,先调用 lucidchart_save_mermaid_draft 保存 Mermaid 草稿。
457
- 3. 如果用户已有真实 Lucid 文档 URL 或 Embed URL,调用 lucidchart_register_external_document 登记。
458
- 更新已有文档前先调用 lucidchart_get_document。不要声称已创建真实 Lucid 文件,除非你登记了真实 Lucid 文档链接。`;
459
- }
460
- //# sourceMappingURL=lucidchart-view.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lucidchart-view.provider.js","sourceRoot":"","sources":["../../src/lib/lucidchart-view.provider.ts"],"names":[],"mappings":"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"}