@jupyterlab/debugger 3.3.0-alpha.1 → 3.3.0-alpha.13
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.
- package/lib/config.d.ts +6 -0
- package/lib/config.js +8 -0
- package/lib/config.js.map +1 -1
- package/lib/debugger.d.ts +9 -1
- package/lib/debugger.js +10 -1
- package/lib/debugger.js.map +1 -1
- package/lib/handler.d.ts +32 -3
- package/lib/handler.js +63 -70
- package/lib/handler.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/model.d.ts +8 -1
- package/lib/model.js +10 -0
- package/lib/model.js.map +1 -1
- package/lib/panels/breakpoints/index.d.ts +2 -1
- package/lib/panels/breakpoints/index.js +10 -15
- package/lib/panels/breakpoints/index.js.map +1 -1
- package/lib/panels/callstack/index.d.ts +2 -1
- package/lib/panels/callstack/index.js +22 -20
- package/lib/panels/callstack/index.js.map +1 -1
- package/lib/panels/callstack/model.d.ts +3 -3
- package/lib/panels/callstack/model.js +3 -1
- package/lib/panels/callstack/model.js.map +1 -1
- package/lib/panels/panelbody.d.ts +27 -0
- package/lib/panels/panelbody.js +47 -0
- package/lib/panels/panelbody.js.map +1 -0
- package/lib/panels/panelwithtoolbar.d.ts +57 -0
- package/lib/panels/panelwithtoolbar.js +55 -0
- package/lib/panels/panelwithtoolbar.js.map +1 -0
- package/lib/panels/sources/index.d.ts +2 -2
- package/lib/panels/sources/index.js +14 -11
- package/lib/panels/sources/index.js.map +1 -1
- package/lib/panels/sources/model.d.ts +2 -2
- package/lib/panels/sources/sourcepath.d.ts +11 -0
- package/lib/panels/sources/sourcepath.js +17 -0
- package/lib/panels/sources/sourcepath.js.map +1 -0
- package/lib/panels/variables/grid.d.ts +9 -0
- package/lib/panels/variables/grid.js +83 -9
- package/lib/panels/variables/grid.js.map +1 -1
- package/lib/panels/variables/index.d.ts +10 -2
- package/lib/panels/variables/index.js +39 -16
- package/lib/panels/variables/index.js.map +1 -1
- package/lib/panels/variables/mimerenderer.d.ts +31 -0
- package/lib/panels/variables/mimerenderer.js +44 -0
- package/lib/panels/variables/mimerenderer.js.map +1 -0
- package/lib/panels/variables/tree.d.ts +17 -0
- package/lib/panels/variables/tree.js +44 -8
- package/lib/panels/variables/tree.js.map +1 -1
- package/lib/service.d.ts +33 -0
- package/lib/service.js +99 -11
- package/lib/service.js.map +1 -1
- package/lib/sidebar.js +5 -2
- package/lib/sidebar.js.map +1 -1
- package/lib/tokens.d.ts +130 -10
- package/lib/tokens.js +4 -0
- package/lib/tokens.js.map +1 -1
- package/package.json +19 -20
- package/style/accordionpanel.css +40 -0
- package/style/base.css +5 -0
- package/style/breakpoints.css +2 -0
- package/style/callstack.css +2 -0
- package/style/sidebar.css +16 -5
- package/style/sources.css +6 -1
- package/style/variables.css +35 -1
- package/lib/panels/breakpoints/header.d.ts +0 -16
- package/lib/panels/breakpoints/header.js +0 -30
- package/lib/panels/breakpoints/header.js.map +0 -1
- package/lib/panels/callstack/header.d.ts +0 -16
- package/lib/panels/callstack/header.js +0 -30
- package/lib/panels/callstack/header.js.map +0 -1
- package/lib/panels/sources/header.d.ts +0 -19
- package/lib/panels/sources/header.js +0 -48
- package/lib/panels/sources/header.js.map +0 -1
- package/lib/panels/variables/header.d.ts +0 -16
- package/lib/panels/variables/header.js +0 -30
- package/lib/panels/variables/header.js.map +0 -1
|
@@ -4,6 +4,7 @@ import { BasicKeyHandler, BasicMouseHandler, BasicSelectionModel, DataGrid, Data
|
|
|
4
4
|
import { Signal } from '@lumino/signaling';
|
|
5
5
|
import { Panel } from '@lumino/widgets';
|
|
6
6
|
import { Debugger } from '../../';
|
|
7
|
+
import { nullTranslator } from '@jupyterlab/translation';
|
|
7
8
|
/**
|
|
8
9
|
* A data grid that displays variables in a debugger session.
|
|
9
10
|
*/
|
|
@@ -15,8 +16,8 @@ export class VariablesBodyGrid extends Panel {
|
|
|
15
16
|
*/
|
|
16
17
|
constructor(options) {
|
|
17
18
|
super();
|
|
18
|
-
const { model, commands, themeManager, scopes } = options;
|
|
19
|
-
this._grid = new Grid({ commands, themeManager });
|
|
19
|
+
const { model, commands, themeManager, scopes, translator } = options;
|
|
20
|
+
this._grid = new Grid({ commands, themeManager, translator });
|
|
20
21
|
this._grid.addClass('jp-DebuggerVariables-grid');
|
|
21
22
|
this._model = model;
|
|
22
23
|
this._model.changed.connect((model) => {
|
|
@@ -26,6 +27,12 @@ export class VariablesBodyGrid extends Panel {
|
|
|
26
27
|
this.addWidget(this._grid);
|
|
27
28
|
this.addClass('jp-DebuggerVariables-body');
|
|
28
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Get the latest hit variable
|
|
32
|
+
*/
|
|
33
|
+
get latestSelection() {
|
|
34
|
+
return this._grid.latestSelection;
|
|
35
|
+
}
|
|
29
36
|
/**
|
|
30
37
|
* Set the variable filter list.
|
|
31
38
|
*
|
|
@@ -63,14 +70,24 @@ class Grid extends Panel {
|
|
|
63
70
|
*/
|
|
64
71
|
constructor(options) {
|
|
65
72
|
super();
|
|
73
|
+
this._latestSelection = null;
|
|
66
74
|
const { commands, themeManager } = options;
|
|
67
|
-
const dataModel = new GridModel();
|
|
75
|
+
const dataModel = new GridModel(options.translator);
|
|
68
76
|
const grid = new DataGrid();
|
|
69
77
|
const mouseHandler = new Private.MouseHandler();
|
|
70
78
|
mouseHandler.doubleClicked.connect((_, hit) => commands.execute(Debugger.CommandIDs.inspectVariable, {
|
|
71
79
|
variableReference: dataModel.getVariableReference(hit.row),
|
|
72
|
-
|
|
80
|
+
name: dataModel.getVariableName(hit.row)
|
|
73
81
|
}));
|
|
82
|
+
mouseHandler.selected.connect((_, hit) => {
|
|
83
|
+
const { row } = hit;
|
|
84
|
+
this._latestSelection = {
|
|
85
|
+
name: dataModel.getVariableName(row),
|
|
86
|
+
value: dataModel.data('body', row, 1),
|
|
87
|
+
type: dataModel.data('body', row, 2),
|
|
88
|
+
variablesReference: dataModel.getVariableReference(row)
|
|
89
|
+
};
|
|
90
|
+
});
|
|
74
91
|
grid.dataModel = dataModel;
|
|
75
92
|
grid.keyHandler = new BasicKeyHandler();
|
|
76
93
|
grid.mouseHandler = mouseHandler;
|
|
@@ -110,6 +127,12 @@ class Grid extends Panel {
|
|
|
110
127
|
get dataModel() {
|
|
111
128
|
return this._grid.dataModel;
|
|
112
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Get the latest hit variable
|
|
132
|
+
*/
|
|
133
|
+
get latestSelection() {
|
|
134
|
+
return this._latestSelection;
|
|
135
|
+
}
|
|
113
136
|
/**
|
|
114
137
|
* Handle `after-attach` messages.
|
|
115
138
|
*
|
|
@@ -132,8 +155,12 @@ class Grid extends Panel {
|
|
|
132
155
|
* A data grid model for variables.
|
|
133
156
|
*/
|
|
134
157
|
class GridModel extends DataModel {
|
|
135
|
-
|
|
136
|
-
|
|
158
|
+
/**
|
|
159
|
+
* Create gird model
|
|
160
|
+
* @param translator optional translator
|
|
161
|
+
*/
|
|
162
|
+
constructor(translator) {
|
|
163
|
+
super();
|
|
137
164
|
this._filter = new Set();
|
|
138
165
|
this._scope = '';
|
|
139
166
|
this._data = {
|
|
@@ -142,6 +169,8 @@ class GridModel extends DataModel {
|
|
|
142
169
|
value: [],
|
|
143
170
|
variablesReference: []
|
|
144
171
|
};
|
|
172
|
+
translator = translator || nullTranslator;
|
|
173
|
+
this._trans = translator.load('jupyterlab');
|
|
145
174
|
}
|
|
146
175
|
/**
|
|
147
176
|
* Set the variable filter list.
|
|
@@ -189,10 +218,10 @@ class GridModel extends DataModel {
|
|
|
189
218
|
return this._data.name[row];
|
|
190
219
|
}
|
|
191
220
|
if (region === 'column-header') {
|
|
192
|
-
return column === 1 ? 'Value' : 'Type';
|
|
221
|
+
return column === 1 ? this._trans.__('Value') : this._trans.__('Type');
|
|
193
222
|
}
|
|
194
223
|
if (region === 'corner-header') {
|
|
195
|
-
return 'Name';
|
|
224
|
+
return this._trans.__('Name');
|
|
196
225
|
}
|
|
197
226
|
return column === 1 ? this._data.value[row] : this._data.type[row];
|
|
198
227
|
}
|
|
@@ -215,7 +244,7 @@ class GridModel extends DataModel {
|
|
|
215
244
|
/**
|
|
216
245
|
* Set the datagrid model data from the list of variables.
|
|
217
246
|
*
|
|
218
|
-
* @param
|
|
247
|
+
* @param scopes The list of variables.
|
|
219
248
|
*/
|
|
220
249
|
setData(scopes) {
|
|
221
250
|
var _a, _b;
|
|
@@ -324,6 +353,7 @@ var Private;
|
|
|
324
353
|
constructor() {
|
|
325
354
|
super(...arguments);
|
|
326
355
|
this._doubleClicked = new Signal(this);
|
|
356
|
+
this._selected = new Signal(this);
|
|
327
357
|
}
|
|
328
358
|
/**
|
|
329
359
|
* A signal emitted when the variables grid is double clicked.
|
|
@@ -331,6 +361,22 @@ var Private;
|
|
|
331
361
|
get doubleClicked() {
|
|
332
362
|
return this._doubleClicked;
|
|
333
363
|
}
|
|
364
|
+
/**
|
|
365
|
+
* A signal emitted when the variables grid received mouse down or context menu event.
|
|
366
|
+
*/
|
|
367
|
+
get selected() {
|
|
368
|
+
return this._selected;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Dispose of the resources held by the mouse handler.
|
|
372
|
+
*/
|
|
373
|
+
dispose() {
|
|
374
|
+
if (this.isDisposed) {
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
Signal.disconnectSender(this);
|
|
378
|
+
super.dispose();
|
|
379
|
+
}
|
|
334
380
|
/**
|
|
335
381
|
* Handle a mouse double-click event.
|
|
336
382
|
*
|
|
@@ -341,6 +387,34 @@ var Private;
|
|
|
341
387
|
const hit = grid.hitTest(event.clientX, event.clientY);
|
|
342
388
|
this._doubleClicked.emit(hit);
|
|
343
389
|
}
|
|
390
|
+
/**
|
|
391
|
+
* Handle the mouse down event for the data grid.
|
|
392
|
+
*
|
|
393
|
+
* @param grid - The data grid of interest.
|
|
394
|
+
*
|
|
395
|
+
* @param event - The mouse down event of interest.
|
|
396
|
+
*/
|
|
397
|
+
onMouseDown(grid, event) {
|
|
398
|
+
// Unpack the event.
|
|
399
|
+
let { clientX, clientY } = event;
|
|
400
|
+
// Hit test the grid.
|
|
401
|
+
let hit = grid.hitTest(clientX, clientY);
|
|
402
|
+
this._selected.emit(hit);
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Handle the context menu event for the data grid.
|
|
406
|
+
*
|
|
407
|
+
* @param grid - The data grid of interest.
|
|
408
|
+
*
|
|
409
|
+
* @param event - The context menu event of interest.
|
|
410
|
+
*/
|
|
411
|
+
onContextMenu(grid, event) {
|
|
412
|
+
// Unpack the event.
|
|
413
|
+
let { clientX, clientY } = event;
|
|
414
|
+
// Hit test the grid.
|
|
415
|
+
let hit = grid.hitTest(clientX, clientY);
|
|
416
|
+
this._selected.emit(hit);
|
|
417
|
+
}
|
|
344
418
|
}
|
|
345
419
|
Private.MouseHandler = MouseHandler;
|
|
346
420
|
})(Private || (Private = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../src/panels/variables/grid.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAM3D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../src/panels/variables/grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,25 @@ import { ITranslator } from '@jupyterlab/translation';
|
|
|
3
3
|
import { CommandRegistry } from '@lumino/commands';
|
|
4
4
|
import { Panel, Widget } from '@lumino/widgets';
|
|
5
5
|
import { IDebugger } from '../../tokens';
|
|
6
|
+
import { PanelWithToolbar } from '../panelwithtoolbar';
|
|
6
7
|
/**
|
|
7
8
|
* A Panel to show a variable explorer.
|
|
8
9
|
*/
|
|
9
|
-
export declare class Variables extends
|
|
10
|
+
export declare class Variables extends PanelWithToolbar implements IDebugger.IVariablesPanel {
|
|
10
11
|
/**
|
|
11
12
|
* Instantiate a new Variables Panel.
|
|
12
13
|
*
|
|
13
14
|
* @param options The instantiation options for a Variables Panel.
|
|
14
15
|
*/
|
|
15
16
|
constructor(options: Variables.IOptions);
|
|
17
|
+
/**
|
|
18
|
+
* Latest variable selected.
|
|
19
|
+
*/
|
|
20
|
+
get latestSelection(): IDebugger.IVariableSelection | null;
|
|
21
|
+
/**
|
|
22
|
+
* Get the variable explorer view mode
|
|
23
|
+
*/
|
|
24
|
+
get viewMode(): 'tree' | 'table';
|
|
16
25
|
/**
|
|
17
26
|
* Set the variable filter for both the tree and table views.
|
|
18
27
|
*/
|
|
@@ -29,7 +38,6 @@ export declare class Variables extends Panel {
|
|
|
29
38
|
* @param msg The resize message.
|
|
30
39
|
*/
|
|
31
40
|
private _resizeBody;
|
|
32
|
-
private _header;
|
|
33
41
|
private _tree;
|
|
34
42
|
private _table;
|
|
35
43
|
}
|
|
@@ -2,30 +2,39 @@
|
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
3
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
4
4
|
import { tableRowsIcon, ToolbarButton, treeViewIcon } from '@jupyterlab/ui-components';
|
|
5
|
-
import {
|
|
5
|
+
import { PanelWithToolbar } from '../panelwithtoolbar';
|
|
6
6
|
import { VariablesBodyGrid } from './grid';
|
|
7
|
-
import { VariablesHeader } from './header';
|
|
8
7
|
import { ScopeSwitcher } from './scope';
|
|
9
8
|
import { VariablesBodyTree } from './tree';
|
|
10
9
|
/**
|
|
11
10
|
* A Panel to show a variable explorer.
|
|
12
11
|
*/
|
|
13
|
-
export class Variables extends
|
|
12
|
+
export class Variables extends PanelWithToolbar {
|
|
14
13
|
/**
|
|
15
14
|
* Instantiate a new Variables Panel.
|
|
16
15
|
*
|
|
17
16
|
* @param options The instantiation options for a Variables Panel.
|
|
18
17
|
*/
|
|
19
18
|
constructor(options) {
|
|
20
|
-
super();
|
|
19
|
+
super(options);
|
|
21
20
|
const { model, service, commands, themeManager } = options;
|
|
22
21
|
const translator = options.translator || nullTranslator;
|
|
23
|
-
|
|
24
|
-
this.
|
|
25
|
-
this._tree = new VariablesBodyTree({
|
|
26
|
-
|
|
22
|
+
this.title.label = this.trans.__('Variables');
|
|
23
|
+
this.toolbar.addClass('jp-DebuggerVariables-toolbar');
|
|
24
|
+
this._tree = new VariablesBodyTree({
|
|
25
|
+
model,
|
|
26
|
+
service,
|
|
27
|
+
commands,
|
|
28
|
+
translator
|
|
29
|
+
});
|
|
30
|
+
this._table = new VariablesBodyGrid({
|
|
31
|
+
model,
|
|
32
|
+
commands,
|
|
33
|
+
themeManager,
|
|
34
|
+
translator
|
|
35
|
+
});
|
|
27
36
|
this._table.hide();
|
|
28
|
-
this.
|
|
37
|
+
this.toolbar.addItem('scope-switcher', new ScopeSwitcher({
|
|
29
38
|
translator,
|
|
30
39
|
model,
|
|
31
40
|
tree: this._tree,
|
|
@@ -50,13 +59,13 @@ export class Variables extends Panel {
|
|
|
50
59
|
icon: treeViewIcon,
|
|
51
60
|
className: 'jp-TreeView',
|
|
52
61
|
onClick: onViewChange,
|
|
53
|
-
tooltip: trans.__('Tree View')
|
|
62
|
+
tooltip: this.trans.__('Tree View')
|
|
54
63
|
});
|
|
55
64
|
const tableViewButton = new ToolbarButton({
|
|
56
65
|
icon: tableRowsIcon,
|
|
57
66
|
className: 'jp-TableView',
|
|
58
67
|
onClick: onViewChange,
|
|
59
|
-
tooltip: trans.__('Table View')
|
|
68
|
+
tooltip: this.trans.__('Table View')
|
|
60
69
|
});
|
|
61
70
|
const markViewButtonSelection = (selectedView) => {
|
|
62
71
|
const viewModeClassName = 'jp-ViewModeSelected';
|
|
@@ -69,14 +78,28 @@ export class Variables extends Panel {
|
|
|
69
78
|
tableViewButton.addClass(viewModeClassName);
|
|
70
79
|
}
|
|
71
80
|
};
|
|
72
|
-
markViewButtonSelection(this.
|
|
73
|
-
this.
|
|
74
|
-
this.
|
|
75
|
-
this.addWidget(this.
|
|
81
|
+
markViewButtonSelection(this.viewMode);
|
|
82
|
+
this.toolbar.addItem('view-VariableTreeView', treeViewButton);
|
|
83
|
+
this.toolbar.addItem('view-VariableTableView', tableViewButton);
|
|
84
|
+
this.addWidget(this.toolbar);
|
|
76
85
|
this.addWidget(this._tree);
|
|
77
86
|
this.addWidget(this._table);
|
|
78
87
|
this.addClass('jp-DebuggerVariables');
|
|
79
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Latest variable selected.
|
|
91
|
+
*/
|
|
92
|
+
get latestSelection() {
|
|
93
|
+
return this._table.isHidden
|
|
94
|
+
? this._tree.latestSelection
|
|
95
|
+
: this._table.latestSelection;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get the variable explorer view mode
|
|
99
|
+
*/
|
|
100
|
+
get viewMode() {
|
|
101
|
+
return this._table.isHidden ? 'tree' : 'table';
|
|
102
|
+
}
|
|
80
103
|
/**
|
|
81
104
|
* Set the variable filter for both the tree and table views.
|
|
82
105
|
*/
|
|
@@ -99,7 +122,7 @@ export class Variables extends Panel {
|
|
|
99
122
|
* @param msg The resize message.
|
|
100
123
|
*/
|
|
101
124
|
_resizeBody(msg) {
|
|
102
|
-
const height = msg.height - this.
|
|
125
|
+
const height = msg.height - this.toolbar.node.offsetHeight;
|
|
103
126
|
this._tree.node.style.height = `${height}px`;
|
|
104
127
|
}
|
|
105
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/variables/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAG3D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACb,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panels/variables/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAG3D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACb,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,SACX,SAAQ,gBAAgB;IAExB;;;;OAIG;IACH,YAAY,OAA2B;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC;YACjC,KAAK;YACL,OAAO;YACP,QAAQ;YACR,UAAU;SACX,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAiB,CAAC;YAClC,KAAK;YACL,QAAQ;YACR,YAAY;YACZ,UAAU;SACX,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,gBAAgB,EAChB,IAAI,aAAa,CAAC;YAChB,UAAU;YACV,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC,CACH,CAAC;QAEF,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBAChD,uBAAuB,CAAC,OAAO,CAAC,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;gBAC3C,uBAAuB,CAAC,MAAM,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,aAAa,CAAC;YACvC,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,aAAa;YACxB,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;SACpC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC;YACxC,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,cAAc;YACzB,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC;SACrC,CAAC,CAAC;QAEH,MAAM,uBAAuB,GAAG,CAAC,YAAoB,EAAQ,EAAE;YAC7D,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;YAEhD,IAAI,YAAY,KAAK,MAAM,EAAE;gBAC3B,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;gBAC/C,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;aAC5C;iBAAM;gBACL,cAAc,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;gBAC9C,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;aAC7C;QACH,CAAC,CAAC;QAEF,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;QAEhE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ;YACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe;YAC5B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,MAAmB;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACO,QAAQ,CAAC,GAAyB;QAC1C,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,GAAyB;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;IAC/C,CAAC;CAIF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAA6B,EAAmB,EAAE;;IAC5E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IACjC,QAAQ,IAAI,EAAE;QACZ,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,KAAK;YACR,gBAAI,QAAQ,CAAC,gBAAgB,0CAAE,UAAU,0CAAE,QAAQ,CAAC,WAAW,GAAG;gBAChE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACzC;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH;YACE,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,KAAK,CAAC;KACxB;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MainAreaWidget } from '@jupyterlab/apputils';
|
|
2
|
+
import { IRenderMimeRegistry } from '@jupyterlab/rendermime';
|
|
3
|
+
import { Panel } from '@lumino/widgets';
|
|
4
|
+
import { IDebugger } from '../../tokens';
|
|
5
|
+
/**
|
|
6
|
+
* Debugger variable mime type renderer
|
|
7
|
+
*/
|
|
8
|
+
export declare class VariableMimeRenderer extends MainAreaWidget<Panel> {
|
|
9
|
+
/**
|
|
10
|
+
* Instantiate a new VariableMimeRenderer.
|
|
11
|
+
*/
|
|
12
|
+
constructor(options: VariableMimeRenderer.IOptions);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Debugger variable mime type renderer namespace
|
|
16
|
+
*/
|
|
17
|
+
export declare namespace VariableMimeRenderer {
|
|
18
|
+
/**
|
|
19
|
+
* Constructor options
|
|
20
|
+
*/
|
|
21
|
+
interface IOptions {
|
|
22
|
+
/**
|
|
23
|
+
* Variable to be rendered
|
|
24
|
+
*/
|
|
25
|
+
dataLoader: Promise<IDebugger.IRichVariable>;
|
|
26
|
+
/**
|
|
27
|
+
* Render mime type registry
|
|
28
|
+
*/
|
|
29
|
+
rendermime: IRenderMimeRegistry;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { MainAreaWidget } from '@jupyterlab/apputils';
|
|
2
|
+
import { MimeModel } from '@jupyterlab/rendermime';
|
|
3
|
+
import { PromiseDelegate } from '@lumino/coreutils';
|
|
4
|
+
import { Panel } from '@lumino/widgets';
|
|
5
|
+
/**
|
|
6
|
+
* Debugger variable mime type renderer
|
|
7
|
+
*/
|
|
8
|
+
export class VariableMimeRenderer extends MainAreaWidget {
|
|
9
|
+
/**
|
|
10
|
+
* Instantiate a new VariableMimeRenderer.
|
|
11
|
+
*/
|
|
12
|
+
constructor(options) {
|
|
13
|
+
const { dataLoader, rendermime } = options;
|
|
14
|
+
const content = new Panel();
|
|
15
|
+
const loaded = new PromiseDelegate();
|
|
16
|
+
super({
|
|
17
|
+
content,
|
|
18
|
+
reveal: Promise.all([dataLoader, loaded.promise])
|
|
19
|
+
});
|
|
20
|
+
dataLoader
|
|
21
|
+
.then(async (data) => {
|
|
22
|
+
if (data.data) {
|
|
23
|
+
const mimeType = rendermime.preferredMimeType(data.data, 'any');
|
|
24
|
+
if (mimeType) {
|
|
25
|
+
const widget = rendermime.createRenderer(mimeType);
|
|
26
|
+
const model = new MimeModel(data);
|
|
27
|
+
await widget.renderModel(model);
|
|
28
|
+
content.addWidget(widget);
|
|
29
|
+
loaded.resolve();
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
loaded.reject('Unable to determine the preferred mime type.');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
loaded.reject('Unable to get a view on the variable.');
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
.catch(reason => {
|
|
40
|
+
loaded.reject(reason);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=mimerenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mimerenderer.js","sourceRoot":"","sources":["../../../src/panels/variables/mimerenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAuB,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,cAAqB;IAC7D;;OAEG;IACH,YAAY,OAAsC;QAChD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAQ,CAAC;QAC3C,KAAK,CAAC;YACJ,OAAO;YACP,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;SAClD,CAAC,CAAC;QAEH,UAAU;aACP,IAAI,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACjB,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEhE,IAAI,QAAQ,EAAE;oBACZ,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACnD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;oBAClC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAEhC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAC1B,MAAM,CAAC,OAAO,EAAE,CAAC;iBAClB;qBAAM;oBACL,MAAM,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC;iBAC/D;aACF;iBAAM;gBACL,MAAM,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;aACxD;QACH,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,EAAE;YACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;CACF"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { ITranslator } from '@jupyterlab/translation';
|
|
2
3
|
import { ReactWidget } from '@jupyterlab/ui-components';
|
|
4
|
+
import { CommandRegistry } from '@lumino/commands';
|
|
3
5
|
import { IDebugger } from '../../tokens';
|
|
4
6
|
/**
|
|
5
7
|
* The body for tree of variables.
|
|
@@ -15,6 +17,10 @@ export declare class VariablesBodyTree extends ReactWidget {
|
|
|
15
17
|
* Render the VariablesBodyTree.
|
|
16
18
|
*/
|
|
17
19
|
render(): JSX.Element;
|
|
20
|
+
/**
|
|
21
|
+
* Get the latest hit variable
|
|
22
|
+
*/
|
|
23
|
+
get latestSelection(): IDebugger.IVariableSelection | null;
|
|
18
24
|
/**
|
|
19
25
|
* Set the variable filter list.
|
|
20
26
|
*/
|
|
@@ -29,10 +35,13 @@ export declare class VariablesBodyTree extends ReactWidget {
|
|
|
29
35
|
* @param model The variables model.
|
|
30
36
|
*/
|
|
31
37
|
private _updateScopes;
|
|
38
|
+
private _commands;
|
|
32
39
|
private _scope;
|
|
33
40
|
private _scopes;
|
|
34
41
|
private _filter;
|
|
42
|
+
private _latestSelection;
|
|
35
43
|
private _service;
|
|
44
|
+
private _translator;
|
|
36
45
|
}
|
|
37
46
|
/**
|
|
38
47
|
* A namespace for VariablesBodyTree `statics`.
|
|
@@ -50,6 +59,14 @@ declare namespace VariablesBodyTree {
|
|
|
50
59
|
* The debugger service.
|
|
51
60
|
*/
|
|
52
61
|
service: IDebugger;
|
|
62
|
+
/**
|
|
63
|
+
* The commands registry.
|
|
64
|
+
*/
|
|
65
|
+
commands: CommandRegistry;
|
|
66
|
+
/**
|
|
67
|
+
* The application language translator
|
|
68
|
+
*/
|
|
69
|
+
translator?: ITranslator;
|
|
53
70
|
}
|
|
54
71
|
}
|
|
55
72
|
export {};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import {
|
|
3
|
+
import { nullTranslator } from '@jupyterlab/translation';
|
|
4
|
+
import { caretDownEmptyIcon, ReactWidget, searchIcon } from '@jupyterlab/ui-components';
|
|
4
5
|
import { ArrayExt } from '@lumino/algorithm';
|
|
5
6
|
import React, { useEffect, useState } from 'react';
|
|
6
7
|
import { convertType } from '.';
|
|
8
|
+
import { Debugger } from '../../debugger';
|
|
7
9
|
/**
|
|
8
10
|
* The body for tree of variables.
|
|
9
11
|
*/
|
|
@@ -18,7 +20,10 @@ export class VariablesBodyTree extends ReactWidget {
|
|
|
18
20
|
this._scope = '';
|
|
19
21
|
this._scopes = [];
|
|
20
22
|
this._filter = new Set();
|
|
23
|
+
this._latestSelection = null;
|
|
24
|
+
this._commands = options.commands;
|
|
21
25
|
this._service = options.service;
|
|
26
|
+
this._translator = options.translator;
|
|
22
27
|
const model = options.model;
|
|
23
28
|
model.changed.connect(this._updateScopes, this);
|
|
24
29
|
this.addClass('jp-DebuggerVariables-body');
|
|
@@ -29,7 +34,15 @@ export class VariablesBodyTree extends ReactWidget {
|
|
|
29
34
|
render() {
|
|
30
35
|
var _a;
|
|
31
36
|
const scope = (_a = this._scopes.find(scope => scope.name === this._scope)) !== null && _a !== void 0 ? _a : this._scopes[0];
|
|
32
|
-
return scope ? (React.createElement(VariablesComponent, { key: scope.name, service: this._service, data: scope.variables, filter: this._filter
|
|
37
|
+
return scope ? (React.createElement(VariablesComponent, { key: scope.name, commands: this._commands, service: this._service, data: scope.variables, filter: this._filter, translator: this._translator, handleSelectVariable: variable => {
|
|
38
|
+
this._latestSelection = variable;
|
|
39
|
+
} })) : (React.createElement("div", null));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get the latest hit variable
|
|
43
|
+
*/
|
|
44
|
+
get latestSelection() {
|
|
45
|
+
return this._latestSelection;
|
|
33
46
|
}
|
|
34
47
|
/**
|
|
35
48
|
* Set the variable filter list.
|
|
@@ -66,14 +79,15 @@ export class VariablesBodyTree extends ReactWidget {
|
|
|
66
79
|
* @param props.service The debugger service.
|
|
67
80
|
* @param props.filter Optional variable filter list.
|
|
68
81
|
*/
|
|
69
|
-
const VariablesComponent = (
|
|
82
|
+
const VariablesComponent = (props) => {
|
|
83
|
+
const { commands, data, service, filter, translator, handleSelectVariable } = props;
|
|
70
84
|
const [variables, setVariables] = useState(data);
|
|
71
85
|
useEffect(() => {
|
|
72
86
|
setVariables(data);
|
|
73
87
|
}, [data]);
|
|
74
88
|
return (React.createElement("ul", null, variables === null || variables === void 0 ? void 0 : variables.filter(variable => !(filter || new Set()).has(variable.evaluateName || '')).map(variable => {
|
|
75
|
-
const key = `${variable.name}-${variable.evaluateName}-${variable.type}-${variable.value}`;
|
|
76
|
-
return (React.createElement(VariableComponent, { key: key, data: variable, service: service, filter: filter }));
|
|
89
|
+
const key = `${variable.name}-${variable.evaluateName}-${variable.type}-${variable.value}-${variable.variablesReference}`;
|
|
90
|
+
return (React.createElement(VariableComponent, { key: key, commands: commands, data: variable, service: service, filter: filter, translator: translator, onSelect: handleSelectVariable }));
|
|
77
91
|
})));
|
|
78
92
|
};
|
|
79
93
|
/**
|
|
@@ -84,7 +98,8 @@ const VariablesComponent = ({ data, service, filter }) => {
|
|
|
84
98
|
* @param props.service The debugger service.
|
|
85
99
|
* @param props.filter Optional variable filter list.
|
|
86
100
|
*/
|
|
87
|
-
const VariableComponent = (
|
|
101
|
+
const VariableComponent = (props) => {
|
|
102
|
+
const { commands, data, service, filter, translator, onSelect } = props;
|
|
88
103
|
const [variable] = useState(data);
|
|
89
104
|
const [expanded, setExpanded] = useState();
|
|
90
105
|
const [variables, setVariables] = useState();
|
|
@@ -94,7 +109,9 @@ const VariableComponent = ({ data, service, filter }) => {
|
|
|
94
109
|
const styleType = {
|
|
95
110
|
color: 'var(--jp-mirror-editor-string-color)'
|
|
96
111
|
};
|
|
112
|
+
const onSelection = onSelect !== null && onSelect !== void 0 ? onSelect : (() => void 0);
|
|
97
113
|
const expandable = variable.variablesReference !== 0 || variable.type === 'function';
|
|
114
|
+
const trans = (translator !== null && translator !== void 0 ? translator : nullTranslator).load('jupyterlab');
|
|
98
115
|
const onVariableClicked = async (e) => {
|
|
99
116
|
if (!expandable) {
|
|
100
117
|
return;
|
|
@@ -104,11 +121,30 @@ const VariableComponent = ({ data, service, filter }) => {
|
|
|
104
121
|
setExpanded(!expanded);
|
|
105
122
|
setVariables(variables);
|
|
106
123
|
};
|
|
107
|
-
return (React.createElement("li", { onClick: (e) => onVariableClicked(e)
|
|
124
|
+
return (React.createElement("li", { onClick: (e) => onVariableClicked(e), onMouseDown: () => {
|
|
125
|
+
onSelection(variable);
|
|
126
|
+
} },
|
|
108
127
|
React.createElement(caretDownEmptyIcon.react, { visibility: expandable ? 'visible' : 'hidden', stylesheet: "menuItem", tag: "span", transform: expanded ? 'rotate(0deg)' : 'rotate(-90deg)' }),
|
|
109
128
|
React.createElement("span", { style: styleName }, variable.name),
|
|
110
129
|
React.createElement("span", null, ": "),
|
|
111
130
|
React.createElement("span", { style: styleType }, convertType(variable)),
|
|
112
|
-
|
|
131
|
+
React.createElement("span", { className: "jp-DebuggerVariables-hspacer" }),
|
|
132
|
+
service.model.hasRichVariableRendering && (React.createElement("button", { className: "jp-DebuggerVariables-renderVariable", disabled: !commands.isEnabled(Debugger.CommandIDs.renderMimeVariable, {
|
|
133
|
+
name: variable.name,
|
|
134
|
+
variablesReference: variable.variablesReference
|
|
135
|
+
}), onClick: e => {
|
|
136
|
+
e.stopPropagation();
|
|
137
|
+
onSelection(variable);
|
|
138
|
+
commands
|
|
139
|
+
.execute(Debugger.CommandIDs.renderMimeVariable, {
|
|
140
|
+
name: variable.name,
|
|
141
|
+
variablesReference: variable.variablesReference
|
|
142
|
+
})
|
|
143
|
+
.catch(reason => {
|
|
144
|
+
console.error(`Failed to render variable ${variable.name}`, reason);
|
|
145
|
+
});
|
|
146
|
+
}, title: trans.__('Render variable') },
|
|
147
|
+
React.createElement(searchIcon.react, { stylesheet: "menuItem", tag: "span" }))),
|
|
148
|
+
expanded && variables && (React.createElement(VariablesComponent, { key: variable.name, commands: commands, data: variables, service: service, filter: filter, translator: translator }))));
|
|
113
149
|
};
|
|
114
150
|
//# sourceMappingURL=tree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/panels/variables/tree.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/panels/variables/tree.tsx"],"names":[],"mappings":"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"}
|