@jxsuite/studio 3.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/chunks/{2020-xp8vnwma.js → 2020-n6tfwnda.js} +2 -2
- package/dist/chunks/Overlay.dev-etqjwyf9.js +23 -0
- package/dist/chunks/cf-account-picker-en86v7x7.js +163 -0
- package/dist/chunks/{cf-settings-zj2cj1ar.js → cf-settings-45fgyx8y.js} +6 -5
- package/dist/chunks/{components-z6cnkyy1.js → components-zmx10t62.js} +6 -5
- package/dist/chunks/content-source-48xg86wj.js +49 -0
- package/dist/chunks/{convert-to-repeater-6vvx96n2.js → convert-to-repeater-43tfn7cs.js} +33 -25
- package/dist/chunks/entry-commands-e63f1xc0.js +46 -0
- package/dist/chunks/{extension-sections-kwzvpemr.js → extension-sections-txv08xxg.js} +34 -26
- package/dist/chunks/file-ops-wbh4hhsx.js +48 -0
- package/dist/chunks/files-3kfkwhk4.js +93 -0
- package/dist/chunks/{focus-trap.esm-ggawf1hy.js → focus-trap.esm-9t2drp0g.js} +6 -5
- package/dist/chunks/{format-host-8fr3545e.js → format-host-w16q81tf.js} +3 -3
- package/dist/chunks/fs-events-hrrg328g.js +21 -0
- package/dist/chunks/{git-panel-g01d93vc.js → git-panel-532whr1y.js} +22 -16
- package/dist/chunks/{index-nj44jpzj.js → index-wcnt3r9g.js} +2 -2
- package/dist/chunks/{jx-validate-jj9rnt4n.js → jx-validate-8er6gbxy.js} +6 -4
- package/dist/chunks/layers-panel-07hm7g5j.js +67 -0
- package/dist/chunks/layers-q75tj2mf.js +45 -0
- package/dist/chunks/lit-html-j055mkh8.js +22 -0
- package/dist/chunks/monaco-buffer-dqw0xxpx.js +25 -0
- package/dist/chunks/{monaco-setup-a5wkmbgh.js → monaco-setup-vx9bhp1d.js} +4 -4
- package/dist/chunks/notify-yjm79n4s.js +30 -0
- package/dist/chunks/parse-24d0gay3.js +19 -0
- package/dist/chunks/platform-ba1j1gbh.js +16 -0
- package/dist/chunks/publish-panel-v9st96ja.js +29 -0
- package/dist/chunks/quick-search-zccjp6gv.js +66 -0
- package/dist/chunks/references-3qx8fkyp.js +29 -0
- package/dist/chunks/right-panel-vm3b6kwy.js +46 -0
- package/dist/chunks/sp-overlay.dev-qgvhnxf4.js +18 -0
- package/dist/chunks/sp-popover.dev-n2etmqdp.js +9 -0
- package/dist/chunks/sp-progress-circle.dev-hryhj0es.js +15 -0
- package/dist/chunks/sp-tooltip.dev-4sastdnw.js +15 -0
- package/dist/chunks/{sp-tray.dev-64v4pxw8.js → sp-tray.dev-tkbscm06.js} +5 -5
- package/dist/chunks/{studio-wdt9y92a.js → studio-0bq6eh7v.js} +2 -2
- package/dist/chunks/studio-1ngbejft.js +181 -0
- package/dist/chunks/studio-1wagb550.js +118 -0
- package/dist/chunks/{studio-j595e748.js → studio-2b946z26.js} +172 -95
- package/dist/chunks/{studio-pkp61mh8.js → studio-3bqpr0zh.js} +25 -17
- package/dist/chunks/{studio-k4jvjcfx.js → studio-4b5z1x43.js} +46 -12
- package/dist/chunks/{studio-ry1vz5sv.js → studio-4n2b5gzb.js} +15 -13
- package/dist/chunks/{studio-p5dja96s.js → studio-4r1pv6zf.js} +2 -2
- package/dist/chunks/{studio-kvfx9z2c.js → studio-4rzyrtjz.js} +70 -31
- package/dist/chunks/{studio-tzx3xmvx.js → studio-5fx3g9jg.js} +33 -52
- package/dist/chunks/{studio-rh1cnamv.js → studio-5myknm0a.js} +565 -135
- package/dist/chunks/studio-6yw4y3my.js +91 -0
- package/dist/chunks/{studio-0rqqhrdy.js → studio-7nte2hj4.js} +2 -2
- package/dist/chunks/studio-92ab2jqe.js +282 -0
- package/dist/chunks/{studio-6z5eyjwn.js → studio-950k0dx6.js} +72 -135
- package/dist/chunks/{studio-sas7mt3k.js → studio-9ab8gqsm.js} +2 -2
- package/dist/chunks/studio-9n4mrmnb.js +184 -0
- package/dist/chunks/{studio-hcxzyk3x.js → studio-ahn3pdgx.js} +6 -6
- package/dist/chunks/studio-b55y6ewx.js +498 -0
- package/dist/chunks/{studio-s519zc99.js → studio-bgxt93ga.js} +3 -3
- package/dist/chunks/studio-cft9r4r7.js +119 -0
- package/dist/chunks/{studio-dc8s8heb.js → studio-cmb03bg5.js} +6904 -8321
- package/dist/chunks/studio-dm19q43r.js +195 -0
- package/dist/chunks/{studio-2x9zbxmx.js → studio-ef49pnzx.js} +11 -9
- package/dist/chunks/{studio-ay8wcr2b.js → studio-eqq1w638.js} +7 -9
- package/dist/chunks/{studio-5efrtn1m.js → studio-ew0djmhg.js} +23 -19
- package/dist/chunks/{studio-tr20m8g8.js → studio-f3wqjtk5.js} +39 -3
- package/dist/chunks/{studio-xntfdy1x.js → studio-fbf92ckf.js} +36 -23
- package/dist/chunks/{studio-4q0wznzf.js → studio-gcye7qka.js} +442 -126
- package/dist/chunks/{studio-7p35254k.js → studio-gfgb8pe6.js} +36 -193
- package/dist/chunks/studio-jc994dnr.js +1066 -0
- package/dist/chunks/{studio-hj2se583.js → studio-jkftxyvz.js} +69 -3423
- package/dist/chunks/{studio-5x5774ak.js → studio-kryvsw6j.js} +3 -3
- package/dist/chunks/{studio-kfpek536.js → studio-kyh9avvv.js} +2 -2
- package/dist/chunks/{studio-twsafr1e.js → studio-m3hwn7y1.js} +3 -3
- package/dist/chunks/studio-msd847zn.js +1315 -0
- package/dist/chunks/{studio-g5gdqnyd.js → studio-mtfnaqs9.js} +19 -19
- package/dist/chunks/{studio-7ejemhej.js → studio-n6j9t10q.js} +6 -6
- package/dist/chunks/{studio-vhk5fmfv.js → studio-n8b9wqwy.js} +5 -5
- package/dist/chunks/{studio-cjm7fdjf.js → studio-p4ngc046.js} +8 -104
- package/dist/chunks/studio-q43a5y9h.js +394 -0
- package/dist/chunks/studio-q7v10cg2.js +106 -0
- package/dist/chunks/{studio-6kv3apa9.js → studio-q9jd1a60.js} +27 -11
- package/dist/chunks/studio-qcy05dp8.js +1743 -0
- package/dist/chunks/{studio-a0yp7syn.js → studio-qjy2z9bv.js} +29 -132
- package/dist/chunks/{studio-2w11grav.js → studio-qq6jym04.js} +3 -3
- package/dist/chunks/{studio-3fk1ac9z.js → studio-rdx8jcxy.js} +4 -4
- package/dist/chunks/{studio-4mqb9a0j.js → studio-rn9ta2mz.js} +4 -4
- package/dist/chunks/studio-t7qb9db8.js +665 -0
- package/dist/chunks/studio-tmc5emrw.js +8 -0
- package/dist/chunks/{studio-r5xbtctf.js → studio-trxrabqf.js} +292 -2297
- package/dist/chunks/studio-wcy8trfx.js +263 -0
- package/dist/chunks/{studio-3dkcd4c5.js → studio-x4qkdat5.js} +62 -57
- package/dist/chunks/studio-x813zp48.js +195 -0
- package/dist/chunks/{studio-qpfq7xhm.js → studio-xrapxwwc.js} +22 -285
- package/dist/chunks/{studio-xm3dbxvn.js → studio-zczps70q.js} +2 -2
- package/dist/chunks/{studio-8ezdegcx.js → studio-zqazsct2.js} +40 -36
- package/dist/chunks/workspace-fjx52ryv.js +89 -0
- package/dist/iframe-entry.js +141 -56
- package/dist/manifest.json +7 -0
- package/dist/studio.js +2605 -1950
- package/favicon.ico +0 -0
- package/index.html +1 -0
- package/package.json +20 -18
- package/src/about/about-modal.ts +4 -3
- package/src/browse/library-pane.ts +57 -3
- package/src/canvas/canvas-render.ts +23 -1
- package/src/canvas/iframe-patch.ts +47 -21
- package/src/canvas/iframe-render.ts +22 -6
- package/src/commands/app-commands.ts +4 -0
- package/src/commands/command-args.ts +29 -0
- package/src/commands/context.ts +15 -1
- package/src/commands/defaults.ts +29 -1
- package/src/commands/levels.ts +16 -0
- package/src/commands/live-context.ts +3 -0
- package/src/content/collection-match.ts +267 -0
- package/src/content/entry-commands.ts +38 -29
- package/src/content/entry-fields.ts +6 -0
- package/src/editor/shortcuts.ts +5 -0
- package/src/files/file-ops.ts +10 -42
- package/src/files/files.ts +487 -59
- package/src/files/fs-events.ts +9 -0
- package/src/files/gitignore.ts +432 -0
- package/src/files/media-paths.ts +13 -42
- package/src/files/media-usage.ts +41 -131
- package/src/files/serialize-document.ts +60 -0
- package/src/format/convert-file.ts +511 -0
- package/src/format/format-choices.ts +199 -0
- package/src/grid/grid-view.ts +16 -2
- package/src/hosting/document.ts +2 -0
- package/src/hosting/layout.ts +8 -0
- package/src/media/media-open.ts +58 -0
- package/src/media/media-pane.ts +310 -0
- package/src/new-project/import-tab.ts +357 -163
- package/src/new-project/location-fields.ts +8 -5
- package/src/new-project/new-project-modal.ts +27 -34
- package/src/packages/ensure-deps.ts +14 -7
- package/src/packages/jxsuite-update.ts +11 -11
- package/src/page-params.ts +10 -46
- package/src/panels/activity-bar.ts +45 -16
- package/src/panels/ai-chat/attached-context.ts +6 -1
- package/src/panels/ai-chat/chat-view.ts +255 -13
- package/src/panels/ai-chat/composer.ts +31 -97
- package/src/panels/ai-panel.ts +116 -2
- package/src/panels/navigator-panels.ts +7 -6
- package/src/panels/settings-menu.ts +799 -0
- package/src/panels/toolbar.ts +135 -15
- package/src/platforms/cloud.ts +261 -70
- package/src/platforms/devserver.ts +67 -33
- package/src/preview/preview-overlay.ts +226 -0
- package/src/publish/publish-panel.ts +62 -2
- package/src/services/ai-ask.ts +247 -0
- package/src/services/ai-import-tools.ts +532 -0
- package/src/services/ai-models.ts +108 -1
- package/src/services/ai-project-tools.ts +20 -26
- package/src/services/ai-system-prompt.ts +88 -2
- package/src/services/ai-turn-signal.ts +70 -0
- package/src/services/connection.ts +74 -0
- package/src/services/context-manager.ts +101 -1
- package/src/services/document-assistant.ts +45 -4
- package/src/services/import-client.ts +33 -6
- package/src/services/import-run.ts +158 -0
- package/src/services/import-seed.ts +120 -0
- package/src/services/jx-validate.ts +58 -6
- package/src/services/project-adoption.ts +71 -0
- package/src/services/references.ts +0 -0
- package/src/services/settings/definitions.ts +17 -0
- package/src/services/tool-executor.ts +45 -2
- package/src/settings/contexts-section.ts +45 -3
- package/src/settings/dependencies-editor.ts +43 -23
- package/src/settings/general-settings.ts +30 -12
- package/src/settings/preferences-accounts.ts +193 -12
- package/src/settings/preferences-dialog.ts +93 -59
- package/src/settings/preferences-sections.ts +57 -0
- package/src/settings/settings-document.ts +65 -9
- package/src/studio.ts +33 -6
- package/src/tabs/transact.ts +42 -19
- package/src/types.ts +129 -7
- package/src/ui/ai-managed-connect.ts +62 -13
- package/src/ui/ai-model-picker.ts +189 -0
- package/src/ui/cf-account-picker.ts +200 -0
- package/src/ui/choice-field.ts +72 -0
- package/src/ui/layers.ts +83 -5
- package/src/utils/studio-utils.ts +22 -52
- package/styles/forced-colors.css +7 -0
- package/styles/overlays.css +256 -0
- package/styles/panels.css +13 -1
- package/styles/shell.css +147 -0
- package/dist/chunks/Overlay.dev-d2ajy6sj.js +0 -23
- package/dist/chunks/content-source-7fy9qrm0.js +0 -40
- package/dist/chunks/files-xcybanxe.js +0 -70
- package/dist/chunks/layers-panel-27essgkc.js +0 -60
- package/dist/chunks/publish-panel-09sy2bab.js +0 -22
- package/dist/chunks/quick-search-sefb61v8.js +0 -55
- package/dist/chunks/right-panel-9r32jd5j.js +0 -39
- package/dist/chunks/sp-overlay.dev-s18hymn9.js +0 -18
- package/dist/chunks/sp-popover.dev-dj9x7e7a.js +0 -9
- package/dist/chunks/sp-progress-circle.dev-0zxcyz3r.js +0 -15
- package/dist/chunks/sp-tooltip.dev-5c6d1kjz.js +0 -15
- package/dist/chunks/studio-bw5dz6km.js +0 -608
- package/dist/chunks/studio-c31yb4t6.js +0 -55
- package/src/canvas/site-style-css.ts +0 -117
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// ../schema/src/guards.ts
|
|
2
|
+
function isJsonObject(value) {
|
|
3
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4
|
+
}
|
|
5
|
+
function isRef(value) {
|
|
6
|
+
return isJsonObject(value) && typeof value.$ref === "string";
|
|
7
|
+
}
|
|
8
|
+
function isFunctionDef(value) {
|
|
9
|
+
return isJsonObject(value) && value.$prototype === "Function";
|
|
10
|
+
}
|
|
11
|
+
function isExpressionDef(value) {
|
|
12
|
+
return isJsonObject(value) && isJsonObject(value.$expression);
|
|
13
|
+
}
|
|
14
|
+
function isNamedFormulaDef(value) {
|
|
15
|
+
return isExpressionDef(value) && Array.isArray(value.parameters) && value.parameters.length > 0;
|
|
16
|
+
}
|
|
17
|
+
function hasStructuredBody(value) {
|
|
18
|
+
return isFunctionDef(value) && Array.isArray(value.body);
|
|
19
|
+
}
|
|
20
|
+
function isPrototypeDef(value) {
|
|
21
|
+
return isJsonObject(value) && typeof value.$prototype === "string" && value.$prototype !== "Function";
|
|
22
|
+
}
|
|
23
|
+
function isServerFnDef(value) {
|
|
24
|
+
return isJsonObject(value) && value.timing === "server" && typeof value.$src === "string" && typeof value.$export === "string" && !value.$prototype;
|
|
25
|
+
}
|
|
26
|
+
var SCHEMA_KEYWORDS = new Set([
|
|
27
|
+
"type",
|
|
28
|
+
"enum",
|
|
29
|
+
"minimum",
|
|
30
|
+
"maximum",
|
|
31
|
+
"minLength",
|
|
32
|
+
"maxLength",
|
|
33
|
+
"pattern",
|
|
34
|
+
"format",
|
|
35
|
+
"items",
|
|
36
|
+
"properties",
|
|
37
|
+
"required",
|
|
38
|
+
"description",
|
|
39
|
+
"title",
|
|
40
|
+
"$comment"
|
|
41
|
+
]);
|
|
42
|
+
function isMappedArray(value) {
|
|
43
|
+
return isJsonObject(value) && value.$prototype === "Array";
|
|
44
|
+
}
|
|
45
|
+
function isTemplateString(value) {
|
|
46
|
+
return typeof value === "string" && value.includes("${");
|
|
47
|
+
}
|
|
48
|
+
function bodyReturnsValue(body) {
|
|
49
|
+
return /\breturn\b[^\S\n]*(?![;}\s]|$)/.test(body);
|
|
50
|
+
}
|
|
51
|
+
function isNestedStyle(value) {
|
|
52
|
+
return typeof value === "object" && value !== null;
|
|
53
|
+
}
|
|
54
|
+
function getNestedStyle(style, key) {
|
|
55
|
+
const value = style?.[key];
|
|
56
|
+
return isNestedStyle(value) ? value : undefined;
|
|
57
|
+
}
|
|
58
|
+
function ensureNestedStyle(style, key) {
|
|
59
|
+
const existing = style[key];
|
|
60
|
+
if (isNestedStyle(existing)) {
|
|
61
|
+
return existing;
|
|
62
|
+
}
|
|
63
|
+
const created = {};
|
|
64
|
+
style[key] = created;
|
|
65
|
+
return created;
|
|
66
|
+
}
|
|
67
|
+
function isEventBinding(value) {
|
|
68
|
+
return isRef(value) || isFunctionDef(value) || isExpressionDef(value);
|
|
69
|
+
}
|
|
70
|
+
function getEventBinding(node, key) {
|
|
71
|
+
const value = node[key];
|
|
72
|
+
return isEventBinding(value) ? value : undefined;
|
|
73
|
+
}
|
|
74
|
+
function paramNames(parameters) {
|
|
75
|
+
if (!parameters) {
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
return parameters.map((p) => typeof p === "string" ? p : p.name);
|
|
79
|
+
}
|
|
80
|
+
function isTagExpression(tagName) {
|
|
81
|
+
return isJsonObject(tagName) && isJsonObject(tagName.$expression);
|
|
82
|
+
}
|
|
83
|
+
function tagNameCandidates(tagName) {
|
|
84
|
+
if (typeof tagName === "string") {
|
|
85
|
+
return [tagName];
|
|
86
|
+
}
|
|
87
|
+
if (!isTagExpression(tagName)) {
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
const expression = tagName.$expression;
|
|
91
|
+
if (expression.operator === "?:") {
|
|
92
|
+
return [...new Set([expression.value, expression.initial])];
|
|
93
|
+
}
|
|
94
|
+
return [...new Set([...Object.values(expression.cases), expression.default])];
|
|
95
|
+
}
|
|
96
|
+
function displayTagName(tagName) {
|
|
97
|
+
return typeof tagName === "string" ? tagName : tagNameCandidates(tagName).join("|");
|
|
98
|
+
}
|
|
99
|
+
function isPrivateStateKey(key) {
|
|
100
|
+
return key.startsWith("#");
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export { isJsonObject, isRef, isFunctionDef, isExpressionDef, isNamedFormulaDef, hasStructuredBody, isPrototypeDef, isServerFnDef, isMappedArray, isTemplateString, bodyReturnsValue, getNestedStyle, ensureNestedStyle, isEventBinding, getEventBinding, paramNames, isTagExpression, tagNameCandidates, displayTagName, isPrivateStateKey };
|
|
104
|
+
|
|
105
|
+
//# debugId=8B99E181A008FB9464756E2164756E21
|
|
106
|
+
//# sourceMappingURL=studio-q7v10cg2.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
project_schema_default,
|
|
3
3
|
schema_default
|
|
4
|
-
} from "./studio-
|
|
4
|
+
} from "./studio-f3wqjtk5.js";
|
|
5
5
|
import {
|
|
6
6
|
__require,
|
|
7
7
|
__toESM
|
|
@@ -21,8 +21,8 @@ var reportedFailure = false;
|
|
|
21
21
|
function getValidator(kind) {
|
|
22
22
|
compiling[kind] ??= (async () => {
|
|
23
23
|
try {
|
|
24
|
-
const { default: Ajv2020 } = await import("./2020-
|
|
25
|
-
const { default: addFormats } = await import("./index-
|
|
24
|
+
const { default: Ajv2020 } = await import("./2020-n6tfwnda.js").then((m)=>__toESM(m.default,1));
|
|
25
|
+
const { default: addFormats } = await import("./index-wcnt3r9g.js").then((m)=>__toESM(m.default,1));
|
|
26
26
|
const ajv = new Ajv2020({ allErrors: true, strict: false, allowUnionTypes: true });
|
|
27
27
|
addFormats(ajv);
|
|
28
28
|
return ajv.compile(active[kind]);
|
|
@@ -36,23 +36,32 @@ function getValidator(kind) {
|
|
|
36
36
|
})();
|
|
37
37
|
return compiling[kind];
|
|
38
38
|
}
|
|
39
|
+
function asSchema(value) {
|
|
40
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) && Object.keys(value).length > 0 ? value : undefined;
|
|
41
|
+
}
|
|
39
42
|
function applyProjectSchemas(schemas) {
|
|
40
|
-
const document = schemas?.document ?? CORE.document;
|
|
41
|
-
const project = schemas?.project ?? CORE.project;
|
|
43
|
+
const document = asSchema(schemas?.document) ?? CORE.document;
|
|
44
|
+
const project = asSchema(schemas?.project) ?? CORE.project;
|
|
45
|
+
const applied = document !== CORE.document || project !== CORE.project;
|
|
42
46
|
if (document === active.document && project === active.project) {
|
|
43
|
-
return
|
|
47
|
+
return applied;
|
|
44
48
|
}
|
|
45
49
|
active.document = document;
|
|
46
50
|
active.project = project;
|
|
47
51
|
compiling.document = null;
|
|
48
52
|
compiling.project = null;
|
|
49
|
-
return
|
|
53
|
+
return applied;
|
|
50
54
|
}
|
|
51
55
|
function resetProjectSchemas() {
|
|
52
56
|
applyProjectSchemas(null);
|
|
53
57
|
}
|
|
58
|
+
var ERROR_PROPERTY_KEYS = ["unevaluatedProperty", "additionalProperty", "missingProperty"];
|
|
54
59
|
function formatErrors(validate) {
|
|
55
|
-
return (validate.errors || []).map((e) =>
|
|
60
|
+
return (validate.errors || []).map((e) => {
|
|
61
|
+
const key = ERROR_PROPERTY_KEYS.find((name) => typeof e.params?.[name] === "string");
|
|
62
|
+
const property = key ? ` (${String(e.params?.[key])})` : "";
|
|
63
|
+
return `${e.instancePath || "(root)"}: ${e.message}${property}`;
|
|
64
|
+
});
|
|
56
65
|
}
|
|
57
66
|
async function validateDoc(doc) {
|
|
58
67
|
const validate = await getValidator("document");
|
|
@@ -61,6 +70,13 @@ async function validateDoc(doc) {
|
|
|
61
70
|
}
|
|
62
71
|
return formatErrors(validate);
|
|
63
72
|
}
|
|
73
|
+
async function validateDocOrNull(doc) {
|
|
74
|
+
const validate = await getValidator("document");
|
|
75
|
+
if (!validate) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
return validate(doc) ? [] : formatErrors(validate);
|
|
79
|
+
}
|
|
64
80
|
async function validateProjectConfig(config) {
|
|
65
81
|
const validate = await getValidator("project");
|
|
66
82
|
if (!validate || validate(config)) {
|
|
@@ -69,7 +85,7 @@ async function validateProjectConfig(config) {
|
|
|
69
85
|
return formatErrors(validate);
|
|
70
86
|
}
|
|
71
87
|
|
|
72
|
-
export { applyProjectSchemas, resetProjectSchemas, validateDoc, validateProjectConfig };
|
|
88
|
+
export { applyProjectSchemas, resetProjectSchemas, validateDoc, validateDocOrNull, validateProjectConfig };
|
|
73
89
|
|
|
74
|
-
//# debugId=
|
|
75
|
-
//# sourceMappingURL=studio-
|
|
90
|
+
//# debugId=8C68AEE13E72EFF064756E2164756E21
|
|
91
|
+
//# sourceMappingURL=studio-q9jd1a60.js.map
|