Flowfile 0.3.3.1__py3-none-any.whl → 0.3.4__py3-none-any.whl
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.
Potentially problematic release.
This version of Flowfile might be problematic. Click here for more details.
- flowfile/__init__.py +2 -2
- flowfile/__main__.py +0 -2
- flowfile/api.py +94 -46
- flowfile/web/__init__.py +4 -1
- flowfile/web/static/assets/{AirbyteReader-2b1cf2d8.js → AirbyteReader-e08044e5.js} +8 -8
- flowfile/web/static/assets/{CrossJoin-cc3ab73c.js → CrossJoin-dfcf7351.js} +8 -8
- flowfile/web/static/assets/{DatabaseConnectionSettings-307c4652.js → DatabaseConnectionSettings-b2afb1d7.js} +2 -2
- flowfile/web/static/assets/{DatabaseManager-69faa6e1.js → DatabaseManager-824a49b2.js} +2 -2
- flowfile/web/static/assets/{DatabaseReader-e4134cd0.js → DatabaseReader-a48124d8.js} +9 -9
- flowfile/web/static/assets/{DatabaseWriter-d32d75b1.js → DatabaseWriter-b47cbae2.js} +9 -9
- flowfile/web/static/assets/{ExploreData-5eb48389.js → ExploreData-fdfc45a4.js} +5 -5
- flowfile/web/static/assets/{ExternalSource-29489051.js → ExternalSource-861b0e71.js} +6 -6
- flowfile/web/static/assets/{Filter-031332bb.js → Filter-f87bb897.js} +8 -9
- flowfile/web/static/assets/{Formula-3b900540.js → Formula-1e2ed720.js} +9 -10
- flowfile/web/static/assets/{FuzzyMatch-dee31153.js → FuzzyMatch-b6cc4fdd.js} +9 -9
- flowfile/web/static/assets/{GraphSolver-ca74eb47.js → GraphSolver-6a371f4c.js} +5 -5
- flowfile/web/static/assets/{GroupBy-081b6591.js → GroupBy-f7b7f472.js} +6 -6
- flowfile/web/static/assets/{Join-b467376f.js → Join-eec38203.js} +9 -9
- flowfile/web/static/assets/{ManualInput-ffffb80a.js → ManualInput-9aaa46fb.js} +5 -5
- flowfile/web/static/assets/{Output-9a87d4ba.js → Output-3b2ca045.js} +4 -4
- flowfile/web/static/assets/{Pivot-ee3e6093.js → Pivot-a4f5d88f.js} +6 -6
- flowfile/web/static/assets/PolarsCode-49ce444f.js +306 -0
- flowfile/web/static/assets/{Read-67fee3a0.js → Read-07acdc9a.js} +6 -6
- flowfile/web/static/assets/{RecordCount-a2acd02d.js → RecordCount-6a21da56.js} +5 -5
- flowfile/web/static/assets/{RecordId-0c8bcd77.js → RecordId-949bdc17.js} +6 -6
- flowfile/web/static/assets/{Sample-60594a3a.js → Sample-7afca6e1.js} +5 -5
- flowfile/web/static/assets/{SecretManager-bbcec2ac.js → SecretManager-b41c029d.js} +2 -2
- flowfile/web/static/assets/{Select-9540e6ca.js → Select-32b28406.js} +8 -8
- flowfile/web/static/assets/{SettingsSection-48f28104.js → SettingsSection-a0f15a05.js} +1 -1
- flowfile/web/static/assets/{Sort-6dbe3633.js → Sort-fc6ba0e2.js} +6 -6
- flowfile/web/static/assets/{TextToRows-27aab4a8.js → TextToRows-23127596.js} +8 -8
- flowfile/web/static/assets/{UnavailableFields-8143044b.js → UnavailableFields-c42880a3.js} +2 -2
- flowfile/web/static/assets/{Union-52460248.js → Union-39eecc6c.js} +5 -5
- flowfile/web/static/assets/{Unique-f6962644.js → Unique-a0e8fe61.js} +8 -8
- flowfile/web/static/assets/{Unpivot-1ff1e938.js → Unpivot-1e2d43f0.js} +5 -5
- flowfile/web/static/assets/{api-3b345d92.js → api-44ca9e9c.js} +1 -1
- flowfile/web/static/assets/{designer-2394122a.css → designer-186f2e71.css} +64 -9
- flowfile/web/static/assets/{designer-4736134f.js → designer-267d44f1.js} +2835 -105
- flowfile/web/static/assets/{documentation-b9545eba.js → documentation-6c0810a2.js} +1 -1
- flowfile/web/static/assets/{dropDown-d5a4014c.js → dropDown-52790b15.js} +1 -1
- flowfile/web/static/assets/{dropDownGeneric-1f4e32ec.js → dropDownGeneric-60f56a8a.js} +2 -2
- flowfile/web/static/assets/{fullEditor-f4791c23.js → fullEditor-e272b506.js} +2 -3
- flowfile/web/static/assets/{genericNodeSettings-1d456350.js → genericNodeSettings-4bdcf98e.js} +3 -3
- flowfile/web/static/assets/{index-f25c9283.js → index-e235a8bc.js} +12 -12
- flowfile/web/static/assets/{nodeTitle-cad6fd9d.js → nodeTitle-fc3fc4b7.js} +3 -3
- flowfile/web/static/assets/{secretApi-01f07e2c.js → secretApi-cdc2a3fd.js} +1 -1
- flowfile/web/static/assets/{selectDynamic-f46a4e3f.js → selectDynamic-96aa82cd.js} +3 -3
- flowfile/web/static/assets/{vue-codemirror.esm-eb98fc8b.js → vue-codemirror.esm-25e75a08.js} +610 -29
- flowfile/web/static/assets/{vue-content-loader.es-860c0380.js → vue-content-loader.es-6c4b1c24.js} +1 -1
- flowfile/web/static/index.html +1 -1
- {flowfile-0.3.3.1.dist-info → flowfile-0.3.4.dist-info}/METADATA +16 -3
- {flowfile-0.3.3.1.dist-info → flowfile-0.3.4.dist-info}/RECORD +74 -74
- flowfile_core/flowfile/code_generator/__init__.py +0 -0
- flowfile_core/flowfile/code_generator/code_generator.py +723 -0
- flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +1 -1
- flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +1 -1
- flowfile_core/flowfile/{FlowfileFlow.py → flow_graph.py} +3 -3
- flowfile_core/flowfile/flow_graph_utils.py +1 -1
- flowfile_core/flowfile/handler.py +1 -1
- flowfile_core/flowfile/manage/open_flowfile.py +1 -1
- flowfile_core/flowfile/util/calculate_layout.py +1 -1
- flowfile_core/routes/routes.py +11 -1
- flowfile_core/schemas/input_schema.py +2 -1
- flowfile_frame/adapters.py +1 -1
- flowfile_frame/expr.py +19 -0
- flowfile_frame/flow_frame.py +1 -4
- flowfile_frame/flow_frame.pyi +1 -1
- flowfile_frame/flow_frame_methods.py +1 -1
- flowfile_frame/lazy.py +1 -1
- flowfile_frame/utils.py +1 -1
- flowfile/readme.md +0 -127
- flowfile/web/static/assets/PolarsCode-03921254.js +0 -2865
- flowfile/web/static/assets/PopOver-3bdf8951.js +0 -577
- /flowfile/web/static/assets/{PopOver-bccfde04.css → vue-codemirror-bccfde04.css} +0 -0
- {flowfile-0.3.3.1.dist-info → flowfile-0.3.4.dist-info}/LICENSE +0 -0
- {flowfile-0.3.3.1.dist-info → flowfile-0.3.4.dist-info}/WHEEL +0 -0
- {flowfile-0.3.3.1.dist-info → flowfile-0.3.4.dist-info}/entry_points.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as axios, d as defineComponent, r as ref, o as onUnmounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, g as createTextVNode, u as unref, h as createBlock, i as createCommentVNode, E as ElNotification, _ as _export_sfc, j as defineStore, k as getDefaultExportFromCjs, l as computed$1, m as watch$1, n as onMounted, p as createBaseVNode, t as toDisplayString, F as Fragment, q as renderList, s as normalizeClass, v as withModifiers, x as withKeys, y as _imports_1, z as ElMessage, A as ElMessageBox, B as inject, C as effectScope, D as provide, G as getCurrentInstance, H as getCurrentScope, I as onScopeDispose, J as createPropsRestProxy, K as toRef, L as renderSlot, M as reactive, N as useSlots, O as isRef, P as toRefs$1, Q as customRef, R as nextTick, S as onBeforeMount, T as normalizeStyle, U as onBeforeUnmount, V as isMemoSame, W as toValue$1, X as shallowRef, Y as h, Z as markRaw$1, $ as readonly, a0 as useAttrs, a1 as mergeProps, a2 as resolveDynamicComponent, a3 as watchEffect, a4 as normalizeProps, a5 as withDirectives, a6 as vModelText, a7 as Teleport, a8 as guardReactiveProps, a9 as __vitePreload, aa as render, ab as vShow, ac as authService, ad as flowfileCorebaseURL } from "./index-
|
|
2
|
-
import { u as useNodeStore, P as PopOver } from "./
|
|
1
|
+
import { a as axios, d as defineComponent, r as ref, o as onUnmounted, b as resolveComponent, c as openBlock, e as createElementBlock, f as createVNode, w as withCtx, g as createTextVNode, u as unref, h as createBlock, i as createCommentVNode, E as ElNotification, _ as _export_sfc, j as defineStore, k as getDefaultExportFromCjs, l as computed$1, m as watch$1, n as onMounted, p as createBaseVNode, t as toDisplayString, F as Fragment, q as renderList, s as normalizeClass, v as withModifiers, x as withKeys, y as _imports_1, z as ElMessage, A as ElMessageBox, B as inject, C as effectScope, D as provide, G as getCurrentInstance, H as getCurrentScope, I as onScopeDispose, J as createPropsRestProxy, K as toRef, L as renderSlot, M as reactive, N as useSlots, O as isRef, P as toRefs$1, Q as customRef, R as nextTick, S as onBeforeMount, T as normalizeStyle, U as onBeforeUnmount, V as isMemoSame, W as toValue$1, X as shallowRef, Y as h, Z as markRaw$1, $ as readonly, a0 as useAttrs, a1 as mergeProps, a2 as resolveDynamicComponent, a3 as watchEffect, a4 as normalizeProps, a5 as withDirectives, a6 as vModelText, a7 as Teleport, a8 as guardReactiveProps, a9 as __vitePreload, aa as render, ab as vShow, ac as authService, ad as flowfileCorebaseURL } from "./index-e235a8bc.js";
|
|
2
|
+
import { u as useNodeStore, P as PopOver, a as Parser, N as NodeSet, b as NodeType, D as DefaultBufferLength, c as NodeProp, T as Tree, I as IterMode, s as styleTags, t as tags, L as LanguageSupport, d as syntaxTree, i as ifNotIn, e as LRLanguage, f as indentNodeProp, g as delimitedIndent, h as foldNodeProp, j as foldInside, k as completeFromList, l as NodeWeakMap, m as snippetCompletion, H as HighlightStyle, n as syntaxHighlighting, E as EditorView, o as T } from "./vue-codemirror.esm-25e75a08.js";
|
|
3
3
|
const saveFlow = async (flowId, flowPath) => {
|
|
4
4
|
try {
|
|
5
5
|
await axios.get("/save_flow", {
|
|
@@ -72,7 +72,7 @@ const updateRunStatus = async (flowId, nodeStore, showRunResults = true) => {
|
|
|
72
72
|
}
|
|
73
73
|
return response;
|
|
74
74
|
};
|
|
75
|
-
const _hoisted_1$
|
|
75
|
+
const _hoisted_1$h = { class: "button-group" };
|
|
76
76
|
const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
77
77
|
__name: "run",
|
|
78
78
|
props: {
|
|
@@ -203,7 +203,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
203
203
|
});
|
|
204
204
|
return (_ctx, _cache) => {
|
|
205
205
|
const _component_el_button = resolveComponent("el-button");
|
|
206
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
206
|
+
return openBlock(), createElementBlock("div", _hoisted_1$h, [
|
|
207
207
|
createVNode(_component_el_button, {
|
|
208
208
|
size: "small",
|
|
209
209
|
disabled: unref(nodeStore).isRunning,
|
|
@@ -730,12 +730,12 @@ var posix = {
|
|
|
730
730
|
posix.posix = posix;
|
|
731
731
|
var pathBrowserify = posix;
|
|
732
732
|
const path = /* @__PURE__ */ getDefaultExportFromCjs(pathBrowserify);
|
|
733
|
-
const _hoisted_1$
|
|
734
|
-
const _hoisted_2$
|
|
735
|
-
const _hoisted_3$
|
|
736
|
-
const _hoisted_4$
|
|
737
|
-
const _hoisted_5$
|
|
738
|
-
const _hoisted_6$
|
|
733
|
+
const _hoisted_1$g = { class: "file-browser" };
|
|
734
|
+
const _hoisted_2$d = { class: "browser-content" };
|
|
735
|
+
const _hoisted_3$c = { class: "browser-toolbar" };
|
|
736
|
+
const _hoisted_4$9 = { class: "path-navigation" };
|
|
737
|
+
const _hoisted_5$7 = ["disabled"];
|
|
738
|
+
const _hoisted_6$5 = { class: "current-path" };
|
|
739
739
|
const _hoisted_7$3 = { class: "controls-row" };
|
|
740
740
|
const _hoisted_8$1 = { class: "search-container" };
|
|
741
741
|
const _hoisted_9 = { class: "sort-controls" };
|
|
@@ -1050,16 +1050,16 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1050
1050
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
1051
1051
|
const _component_el_form = resolveComponent("el-form");
|
|
1052
1052
|
const _component_el_dialog = resolveComponent("el-dialog");
|
|
1053
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1053
|
+
return openBlock(), createElementBlock("div", _hoisted_1$g, [
|
|
1054
1054
|
_cache[17] || (_cache[17] = createBaseVNode("div", { class: "browser-header" }, [
|
|
1055
1055
|
createBaseVNode("div", { class: "browser-title" }, [
|
|
1056
1056
|
createBaseVNode("span", { class: "material-icons" }, "folder"),
|
|
1057
1057
|
createBaseVNode("span", null, "File Browser")
|
|
1058
1058
|
])
|
|
1059
1059
|
], -1)),
|
|
1060
|
-
createBaseVNode("div", _hoisted_2$
|
|
1061
|
-
createBaseVNode("div", _hoisted_3$
|
|
1062
|
-
createBaseVNode("div", _hoisted_4$
|
|
1060
|
+
createBaseVNode("div", _hoisted_2$d, [
|
|
1061
|
+
createBaseVNode("div", _hoisted_3$c, [
|
|
1062
|
+
createBaseVNode("div", _hoisted_4$9, [
|
|
1063
1063
|
createBaseVNode("button", {
|
|
1064
1064
|
class: "nav-button",
|
|
1065
1065
|
disabled: loading.value,
|
|
@@ -1067,8 +1067,8 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1067
1067
|
}, _cache[7] || (_cache[7] = [
|
|
1068
1068
|
createBaseVNode("span", { class: "material-icons" }, "arrow_upward", -1),
|
|
1069
1069
|
createBaseVNode("span", null, "Up", -1)
|
|
1070
|
-
]), 8, _hoisted_5$
|
|
1071
|
-
createBaseVNode("div", _hoisted_6$
|
|
1070
|
+
]), 8, _hoisted_5$7),
|
|
1071
|
+
createBaseVNode("div", _hoisted_6$5, toDisplayString(currentPath.value), 1)
|
|
1072
1072
|
]),
|
|
1073
1073
|
createBaseVNode("div", _hoisted_7$3, [
|
|
1074
1074
|
createBaseVNode("div", _hoisted_8$1, [
|
|
@@ -1317,11 +1317,11 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
1317
1317
|
});
|
|
1318
1318
|
const fileBrowser_vue_vue_type_style_index_0_scoped_d5bb1173_lang = "";
|
|
1319
1319
|
const FileBrowser = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-d5bb1173"]]);
|
|
1320
|
-
const _hoisted_1$
|
|
1321
|
-
const _hoisted_2$
|
|
1322
|
-
const _hoisted_3$
|
|
1323
|
-
const _hoisted_4$
|
|
1324
|
-
const _hoisted_5$
|
|
1320
|
+
const _hoisted_1$f = { class: "action-buttons" };
|
|
1321
|
+
const _hoisted_2$c = { key: 0 };
|
|
1322
|
+
const _hoisted_3$b = { class: "settings-modal-content" };
|
|
1323
|
+
const _hoisted_4$8 = { class: "form-group" };
|
|
1324
|
+
const _hoisted_5$6 = { class: "form-group" };
|
|
1325
1325
|
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
1326
1326
|
__name: "HeaderButtons",
|
|
1327
1327
|
emits: ["openFlow", "refreshFlow", "logs-start", "logs-stop"],
|
|
@@ -1391,6 +1391,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1391
1391
|
(_a = runButton.value) == null ? void 0 : _a.runFlow();
|
|
1392
1392
|
}
|
|
1393
1393
|
};
|
|
1394
|
+
const toggleCodeGenerator = () => {
|
|
1395
|
+
nodeStore.toggleCodeGenerator();
|
|
1396
|
+
};
|
|
1394
1397
|
const handleCreateAction = async (flowPath, _1, _2) => {
|
|
1395
1398
|
const pathWithoutExtension = flowPath.replace(/\.[^/.]+$/, "");
|
|
1396
1399
|
const normalizedPath = `${pathWithoutExtension}.flowfile`;
|
|
@@ -1429,7 +1432,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1429
1432
|
const _component_el_select = resolveComponent("el-select");
|
|
1430
1433
|
const _component_el_checkbox = resolveComponent("el-checkbox");
|
|
1431
1434
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
1432
|
-
createBaseVNode("div", _hoisted_1$
|
|
1435
|
+
createBaseVNode("div", _hoisted_1$f, [
|
|
1433
1436
|
createBaseVNode("button", {
|
|
1434
1437
|
class: "action-btn",
|
|
1435
1438
|
onClick: openSaveModal
|
|
@@ -1462,7 +1465,15 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1462
1465
|
ref_key: "runButton",
|
|
1463
1466
|
ref: runButton,
|
|
1464
1467
|
"flow-id": unref(nodeStore).flow_id
|
|
1465
|
-
}, null, 8, ["flow-id"])
|
|
1468
|
+
}, null, 8, ["flow-id"]),
|
|
1469
|
+
createBaseVNode("button", {
|
|
1470
|
+
class: normalizeClass(["action-btn", { active: unref(nodeStore).showCodeGenerator }]),
|
|
1471
|
+
title: "Generate Python Code (Ctrl+G)",
|
|
1472
|
+
onClick: toggleCodeGenerator
|
|
1473
|
+
}, _cache[12] || (_cache[12] = [
|
|
1474
|
+
createBaseVNode("span", { class: "material-icons btn-icon" }, "code", -1),
|
|
1475
|
+
createBaseVNode("span", { class: "btn-text" }, "Generate code", -1)
|
|
1476
|
+
]), 2)
|
|
1466
1477
|
]),
|
|
1467
1478
|
createVNode(_component_el_dialog, {
|
|
1468
1479
|
modelValue: modalVisibleForOpen.value,
|
|
@@ -1521,10 +1532,10 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1521
1532
|
width: "30%"
|
|
1522
1533
|
}, {
|
|
1523
1534
|
default: withCtx(() => [
|
|
1524
|
-
flowSettings.value ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
1525
|
-
createBaseVNode("div", _hoisted_3$
|
|
1526
|
-
createBaseVNode("div", _hoisted_4$
|
|
1527
|
-
_cache[
|
|
1535
|
+
flowSettings.value ? (openBlock(), createElementBlock("div", _hoisted_2$c, [
|
|
1536
|
+
createBaseVNode("div", _hoisted_3$b, [
|
|
1537
|
+
createBaseVNode("div", _hoisted_4$8, [
|
|
1538
|
+
_cache[13] || (_cache[13] = createBaseVNode("label", null, "Execution Mode:", -1)),
|
|
1528
1539
|
createVNode(_component_el_select, {
|
|
1529
1540
|
modelValue: flowSettings.value.execution_mode,
|
|
1530
1541
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => flowSettings.value.execution_mode = $event),
|
|
@@ -1545,7 +1556,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1545
1556
|
_: 1
|
|
1546
1557
|
}, 8, ["modelValue"])
|
|
1547
1558
|
]),
|
|
1548
|
-
createBaseVNode("div", _hoisted_5$
|
|
1559
|
+
createBaseVNode("div", _hoisted_5$6, [
|
|
1549
1560
|
createVNode(_component_el_checkbox, {
|
|
1550
1561
|
modelValue: flowSettings.value.show_detailed_progress,
|
|
1551
1562
|
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => flowSettings.value.show_detailed_progress = $event),
|
|
@@ -1563,8 +1574,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
1563
1574
|
};
|
|
1564
1575
|
}
|
|
1565
1576
|
});
|
|
1566
|
-
const
|
|
1567
|
-
const HeaderButtons = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-
|
|
1577
|
+
const HeaderButtons_vue_vue_type_style_index_0_scoped_7b6ecb3e_lang = "";
|
|
1578
|
+
const HeaderButtons = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-7b6ecb3e"]]);
|
|
1568
1579
|
/*! Element Plus Icons Vue v2.3.1 */
|
|
1569
1580
|
var arrow_down_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
1570
1581
|
name: "ArrowDown",
|
|
@@ -1662,9 +1673,9 @@ var warning_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
1662
1673
|
}
|
|
1663
1674
|
});
|
|
1664
1675
|
var warning_filled_default = warning_filled_vue_vue_type_script_setup_true_lang_default;
|
|
1665
|
-
const _hoisted_1$
|
|
1666
|
-
const _hoisted_2$
|
|
1667
|
-
const _hoisted_3$
|
|
1676
|
+
const _hoisted_1$e = { class: "status-wrapper" };
|
|
1677
|
+
const _hoisted_2$b = { class: "flow-card" };
|
|
1678
|
+
const _hoisted_3$a = ["title"];
|
|
1668
1679
|
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
1669
1680
|
__name: "status",
|
|
1670
1681
|
setup(__props) {
|
|
@@ -1707,14 +1718,14 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1707
1718
|
};
|
|
1708
1719
|
return (_ctx, _cache) => {
|
|
1709
1720
|
const _component_el_icon = resolveComponent("el-icon");
|
|
1710
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1721
|
+
return openBlock(), createElementBlock("div", _hoisted_1$e, [
|
|
1711
1722
|
createVNode(PopOver, {
|
|
1712
1723
|
content: tooltipContent.value,
|
|
1713
1724
|
title: isRunning.value ? "Processing Flow" : "Flow Idle",
|
|
1714
1725
|
placement: "left"
|
|
1715
1726
|
}, {
|
|
1716
1727
|
default: withCtx(() => [
|
|
1717
|
-
createBaseVNode("div", _hoisted_2$
|
|
1728
|
+
createBaseVNode("div", _hoisted_2$b, [
|
|
1718
1729
|
(openBlock(), createElementBlock("svg", {
|
|
1719
1730
|
viewBox: "0 0 100 100",
|
|
1720
1731
|
class: normalizeClass(["flow-animation", { "is-flowing": isRunning.value }])
|
|
@@ -1803,7 +1814,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
1803
1814
|
]),
|
|
1804
1815
|
_: 1
|
|
1805
1816
|
})) : createCommentVNode("", true)
|
|
1806
|
-
], 10, _hoisted_3$
|
|
1817
|
+
], 10, _hoisted_3$a)
|
|
1807
1818
|
]),
|
|
1808
1819
|
_: 1
|
|
1809
1820
|
})
|
|
@@ -2231,17 +2242,17 @@ function parseTypenames$1$1(typenames, types) {
|
|
|
2231
2242
|
Dispatch$1.prototype = dispatch$1.prototype = {
|
|
2232
2243
|
constructor: Dispatch$1,
|
|
2233
2244
|
on: function(typename, callback) {
|
|
2234
|
-
var _2 = this._,
|
|
2245
|
+
var _2 = this._, T3 = parseTypenames$1$1(typename + "", _2), t2, i2 = -1, n = T3.length;
|
|
2235
2246
|
if (arguments.length < 2) {
|
|
2236
2247
|
while (++i2 < n)
|
|
2237
|
-
if ((t2 = (typename =
|
|
2248
|
+
if ((t2 = (typename = T3[i2]).type) && (t2 = get$1$1(_2[t2], typename.name)))
|
|
2238
2249
|
return t2;
|
|
2239
2250
|
return;
|
|
2240
2251
|
}
|
|
2241
2252
|
if (callback != null && typeof callback !== "function")
|
|
2242
2253
|
throw new Error("invalid callback: " + callback);
|
|
2243
2254
|
while (++i2 < n) {
|
|
2244
|
-
if (t2 = (typename =
|
|
2255
|
+
if (t2 = (typename = T3[i2]).type)
|
|
2245
2256
|
_2[t2] = set$1$1(_2[t2], typename.name, callback);
|
|
2246
2257
|
else if (callback == null)
|
|
2247
2258
|
for (t2 in _2)
|
|
@@ -2983,13 +2994,13 @@ function Selection$1$1(groups, parents) {
|
|
|
2983
2994
|
this._groups = groups;
|
|
2984
2995
|
this._parents = parents;
|
|
2985
2996
|
}
|
|
2986
|
-
function selection$
|
|
2997
|
+
function selection$2() {
|
|
2987
2998
|
return new Selection$1$1([[document.documentElement]], root$1);
|
|
2988
2999
|
}
|
|
2989
3000
|
function selection_selection$1() {
|
|
2990
3001
|
return this;
|
|
2991
3002
|
}
|
|
2992
|
-
Selection$1$1.prototype = selection$
|
|
3003
|
+
Selection$1$1.prototype = selection$2.prototype = {
|
|
2993
3004
|
constructor: Selection$1$1,
|
|
2994
3005
|
select: selection_select$1,
|
|
2995
3006
|
selectAll: selection_selectAll$1,
|
|
@@ -4404,7 +4415,7 @@ function transition_selectAll$1(select2) {
|
|
|
4404
4415
|
}
|
|
4405
4416
|
return new Transition$1(subgroups, parents, name, id2);
|
|
4406
4417
|
}
|
|
4407
|
-
var Selection$2 = selection$
|
|
4418
|
+
var Selection$2 = selection$2.prototype.constructor;
|
|
4408
4419
|
function transition_selection$1() {
|
|
4409
4420
|
return new Selection$2(this._groups, this._parents);
|
|
4410
4421
|
}
|
|
@@ -4553,7 +4564,7 @@ function transition_end$1() {
|
|
|
4553
4564
|
resolve2();
|
|
4554
4565
|
});
|
|
4555
4566
|
}
|
|
4556
|
-
var id$
|
|
4567
|
+
var id$3 = 0;
|
|
4557
4568
|
function Transition$1(groups, parents, name, id2) {
|
|
4558
4569
|
this._groups = groups;
|
|
4559
4570
|
this._parents = parents;
|
|
@@ -4561,9 +4572,9 @@ function Transition$1(groups, parents, name, id2) {
|
|
|
4561
4572
|
this._id = id2;
|
|
4562
4573
|
}
|
|
4563
4574
|
function newId$1() {
|
|
4564
|
-
return ++id$
|
|
4575
|
+
return ++id$3;
|
|
4565
4576
|
}
|
|
4566
|
-
var selection_prototype$1 = selection$
|
|
4577
|
+
var selection_prototype$1 = selection$2.prototype;
|
|
4567
4578
|
Transition$1.prototype = {
|
|
4568
4579
|
constructor: Transition$1,
|
|
4569
4580
|
select: transition_select$1,
|
|
@@ -4631,8 +4642,8 @@ function selection_transition$1(name) {
|
|
|
4631
4642
|
}
|
|
4632
4643
|
return new Transition$1(groups, this._parents, name, id2);
|
|
4633
4644
|
}
|
|
4634
|
-
selection$
|
|
4635
|
-
selection$
|
|
4645
|
+
selection$2.prototype.interrupt = selection_interrupt$1;
|
|
4646
|
+
selection$2.prototype.transition = selection_transition$1;
|
|
4636
4647
|
const constant$4 = (x2) => () => x2;
|
|
4637
4648
|
function ZoomEvent$1(type, {
|
|
4638
4649
|
sourceEvent: sourceEvent2,
|
|
@@ -8697,7 +8708,7 @@ const __default__$d = {
|
|
|
8697
8708
|
inheritAttrs: false,
|
|
8698
8709
|
compatConfig: { MODE: 3 }
|
|
8699
8710
|
};
|
|
8700
|
-
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
8711
|
+
const _sfc_main$d$1 = /* @__PURE__ */ defineComponent({
|
|
8701
8712
|
...__default__$d,
|
|
8702
8713
|
props: {
|
|
8703
8714
|
id: {},
|
|
@@ -9113,7 +9124,7 @@ const StraightEdge = defineComponent({
|
|
|
9113
9124
|
setup(props2, { attrs }) {
|
|
9114
9125
|
return () => {
|
|
9115
9126
|
const [path2, labelX, labelY] = getStraightPath(props2);
|
|
9116
|
-
return h(_sfc_main$d, {
|
|
9127
|
+
return h(_sfc_main$d$1, {
|
|
9117
9128
|
path: path2,
|
|
9118
9129
|
labelX,
|
|
9119
9130
|
labelY,
|
|
@@ -9153,7 +9164,7 @@ const SmoothStepEdge = defineComponent({
|
|
|
9153
9164
|
sourcePosition: props2.sourcePosition ?? Position.Bottom,
|
|
9154
9165
|
targetPosition: props2.targetPosition ?? Position.Top
|
|
9155
9166
|
});
|
|
9156
|
-
return h(_sfc_main$d, {
|
|
9167
|
+
return h(_sfc_main$d$1, {
|
|
9157
9168
|
path: path2,
|
|
9158
9169
|
labelX,
|
|
9159
9170
|
labelY,
|
|
@@ -9216,7 +9227,7 @@ const BezierEdge = defineComponent({
|
|
|
9216
9227
|
sourcePosition: props2.sourcePosition ?? Position.Bottom,
|
|
9217
9228
|
targetPosition: props2.targetPosition ?? Position.Top
|
|
9218
9229
|
});
|
|
9219
|
-
return h(_sfc_main$d, {
|
|
9230
|
+
return h(_sfc_main$d$1, {
|
|
9220
9231
|
path: path2,
|
|
9221
9232
|
labelX,
|
|
9222
9233
|
labelY,
|
|
@@ -9254,7 +9265,7 @@ const SimpleBezierEdge = defineComponent({
|
|
|
9254
9265
|
sourcePosition: props2.sourcePosition ?? Position.Bottom,
|
|
9255
9266
|
targetPosition: props2.targetPosition ?? Position.Top
|
|
9256
9267
|
});
|
|
9257
|
-
return h(_sfc_main$d, {
|
|
9268
|
+
return h(_sfc_main$d$1, {
|
|
9258
9269
|
path: path2,
|
|
9259
9270
|
labelX,
|
|
9260
9271
|
labelY,
|
|
@@ -10191,8 +10202,8 @@ const _sfc_main$8$1 = /* @__PURE__ */ defineComponent({
|
|
|
10191
10202
|
}
|
|
10192
10203
|
});
|
|
10193
10204
|
const _hoisted_1$5$1 = ["id"];
|
|
10194
|
-
const _hoisted_2$
|
|
10195
|
-
const _hoisted_3$
|
|
10205
|
+
const _hoisted_2$a = ["id"];
|
|
10206
|
+
const _hoisted_3$9 = ["id"];
|
|
10196
10207
|
const __default__$7 = {
|
|
10197
10208
|
name: "A11yDescriptions",
|
|
10198
10209
|
compatConfig: { MODE: 3 }
|
|
@@ -10210,14 +10221,14 @@ const _sfc_main$7$1 = /* @__PURE__ */ defineComponent({
|
|
|
10210
10221
|
createBaseVNode("div", {
|
|
10211
10222
|
id: `${unref(ARIA_EDGE_DESC_KEY)}-${unref(id2)}`,
|
|
10212
10223
|
style: { "display": "none" }
|
|
10213
|
-
}, " Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ", 8, _hoisted_2$
|
|
10224
|
+
}, " Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ", 8, _hoisted_2$a),
|
|
10214
10225
|
!unref(disableKeyboardA11y) ? (openBlock(), createElementBlock("div", {
|
|
10215
10226
|
key: 0,
|
|
10216
10227
|
id: `${unref(ARIA_LIVE_MESSAGE)}-${unref(id2)}`,
|
|
10217
10228
|
"aria-live": "assertive",
|
|
10218
10229
|
"aria-atomic": "true",
|
|
10219
10230
|
style: { "position": "absolute", "width": "1px", "height": "1px", "margin": "-1px", "border": "0", "padding": "0", "overflow": "hidden", "clip": "rect(0px, 0px, 0px, 0px)", "clip-path": "inset(100%)" }
|
|
10220
|
-
}, toDisplayString(unref(ariaLiveMessage)), 9, _hoisted_3$
|
|
10231
|
+
}, toDisplayString(unref(ariaLiveMessage)), 9, _hoisted_3$9)) : createCommentVNode("", true)
|
|
10221
10232
|
], 64);
|
|
10222
10233
|
};
|
|
10223
10234
|
}
|
|
@@ -11264,7 +11275,7 @@ function useStylesLoadedWarning() {
|
|
|
11264
11275
|
}
|
|
11265
11276
|
});
|
|
11266
11277
|
}
|
|
11267
|
-
const _hoisted_1$
|
|
11278
|
+
const _hoisted_1$d = /* @__PURE__ */ createBaseVNode("div", { class: "vue-flow__edge-labels" }, null, -1);
|
|
11268
11279
|
const __default__$1$1 = {
|
|
11269
11280
|
name: "VueFlow",
|
|
11270
11281
|
compatConfig: { MODE: 3 }
|
|
@@ -11357,7 +11368,7 @@ const _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
|
|
|
11357
11368
|
createVNode(_sfc_main$8$1, null, {
|
|
11358
11369
|
default: withCtx(() => [
|
|
11359
11370
|
createVNode(_sfc_main$4$1),
|
|
11360
|
-
_hoisted_1$
|
|
11371
|
+
_hoisted_1$d,
|
|
11361
11372
|
createVNode(_sfc_main$2$1),
|
|
11362
11373
|
renderSlot(_ctx.$slots, "zoom-pane")
|
|
11363
11374
|
]),
|
|
@@ -11418,17 +11429,17 @@ function parseTypenames$1(typenames, types) {
|
|
|
11418
11429
|
Dispatch.prototype = dispatch.prototype = {
|
|
11419
11430
|
constructor: Dispatch,
|
|
11420
11431
|
on: function(typename, callback) {
|
|
11421
|
-
var _2 = this._,
|
|
11432
|
+
var _2 = this._, T3 = parseTypenames$1(typename + "", _2), t2, i2 = -1, n = T3.length;
|
|
11422
11433
|
if (arguments.length < 2) {
|
|
11423
11434
|
while (++i2 < n)
|
|
11424
|
-
if ((t2 = (typename =
|
|
11435
|
+
if ((t2 = (typename = T3[i2]).type) && (t2 = get$1(_2[t2], typename.name)))
|
|
11425
11436
|
return t2;
|
|
11426
11437
|
return;
|
|
11427
11438
|
}
|
|
11428
11439
|
if (callback != null && typeof callback !== "function")
|
|
11429
11440
|
throw new Error("invalid callback: " + callback);
|
|
11430
11441
|
while (++i2 < n) {
|
|
11431
|
-
if (t2 = (typename =
|
|
11442
|
+
if (t2 = (typename = T3[i2]).type)
|
|
11432
11443
|
_2[t2] = set$1(_2[t2], typename.name, callback);
|
|
11433
11444
|
else if (callback == null)
|
|
11434
11445
|
for (t2 in _2)
|
|
@@ -12170,13 +12181,13 @@ function Selection$1(groups, parents) {
|
|
|
12170
12181
|
this._groups = groups;
|
|
12171
12182
|
this._parents = parents;
|
|
12172
12183
|
}
|
|
12173
|
-
function selection() {
|
|
12184
|
+
function selection$1() {
|
|
12174
12185
|
return new Selection$1([[document.documentElement]], root);
|
|
12175
12186
|
}
|
|
12176
12187
|
function selection_selection() {
|
|
12177
12188
|
return this;
|
|
12178
12189
|
}
|
|
12179
|
-
Selection$1.prototype = selection.prototype = {
|
|
12190
|
+
Selection$1.prototype = selection$1.prototype = {
|
|
12180
12191
|
constructor: Selection$1,
|
|
12181
12192
|
select: selection_select,
|
|
12182
12193
|
selectAll: selection_selectAll,
|
|
@@ -13409,7 +13420,7 @@ function transition_selectAll(select2) {
|
|
|
13409
13420
|
}
|
|
13410
13421
|
return new Transition(subgroups, parents, name, id2);
|
|
13411
13422
|
}
|
|
13412
|
-
var Selection = selection.prototype.constructor;
|
|
13423
|
+
var Selection = selection$1.prototype.constructor;
|
|
13413
13424
|
function transition_selection() {
|
|
13414
13425
|
return new Selection(this._groups, this._parents);
|
|
13415
13426
|
}
|
|
@@ -13558,7 +13569,7 @@ function transition_end() {
|
|
|
13558
13569
|
resolve2();
|
|
13559
13570
|
});
|
|
13560
13571
|
}
|
|
13561
|
-
var id$
|
|
13572
|
+
var id$2 = 0;
|
|
13562
13573
|
function Transition(groups, parents, name, id2) {
|
|
13563
13574
|
this._groups = groups;
|
|
13564
13575
|
this._parents = parents;
|
|
@@ -13566,9 +13577,9 @@ function Transition(groups, parents, name, id2) {
|
|
|
13566
13577
|
this._id = id2;
|
|
13567
13578
|
}
|
|
13568
13579
|
function newId() {
|
|
13569
|
-
return ++id$
|
|
13580
|
+
return ++id$2;
|
|
13570
13581
|
}
|
|
13571
|
-
var selection_prototype = selection.prototype;
|
|
13582
|
+
var selection_prototype = selection$1.prototype;
|
|
13572
13583
|
Transition.prototype = {
|
|
13573
13584
|
constructor: Transition,
|
|
13574
13585
|
select: transition_select,
|
|
@@ -13636,8 +13647,8 @@ function selection_transition(name) {
|
|
|
13636
13647
|
}
|
|
13637
13648
|
return new Transition(groups, this._parents, name, id2);
|
|
13638
13649
|
}
|
|
13639
|
-
selection.prototype.interrupt = selection_interrupt;
|
|
13640
|
-
selection.prototype.transition = selection_transition;
|
|
13650
|
+
selection$1.prototype.interrupt = selection_interrupt;
|
|
13651
|
+
selection$1.prototype.transition = selection_transition;
|
|
13641
13652
|
const constant = (x2) => () => x2;
|
|
13642
13653
|
function ZoomEvent(type, {
|
|
13643
13654
|
sourceEvent: sourceEvent2,
|
|
@@ -14115,14 +14126,14 @@ const _sfc_main$1$1 = /* @__PURE__ */ defineComponent({
|
|
|
14115
14126
|
};
|
|
14116
14127
|
}
|
|
14117
14128
|
});
|
|
14118
|
-
const _hoisted_1$
|
|
14119
|
-
const _hoisted_2$
|
|
14120
|
-
const _hoisted_3$
|
|
14129
|
+
const _hoisted_1$c = ["width", "height", "viewBox", "aria-labelledby"];
|
|
14130
|
+
const _hoisted_2$9 = ["id"];
|
|
14131
|
+
const _hoisted_3$8 = ["d", "fill", "stroke", "stroke-width"];
|
|
14121
14132
|
const __default__ = {
|
|
14122
14133
|
name: "MiniMap",
|
|
14123
14134
|
compatConfig: { MODE: 3 }
|
|
14124
14135
|
};
|
|
14125
|
-
const _sfc_main$
|
|
14136
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
14126
14137
|
...__default__,
|
|
14127
14138
|
props: {
|
|
14128
14139
|
nodeColor: { type: [String, Function], default: "#e2e2e2" },
|
|
@@ -14303,7 +14314,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14303
14314
|
_ctx.ariaLabel ? (openBlock(), createElementBlock("title", {
|
|
14304
14315
|
key: 0,
|
|
14305
14316
|
id: `vue-flow__minimap-${unref(id2)}`
|
|
14306
|
-
}, toDisplayString(_ctx.ariaLabel), 9, _hoisted_2$
|
|
14317
|
+
}, toDisplayString(_ctx.ariaLabel), 9, _hoisted_2$9)) : createCommentVNode("", true),
|
|
14307
14318
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getNodesInitialized), (node) => {
|
|
14308
14319
|
return openBlock(), createBlock(_sfc_main$1$1, {
|
|
14309
14320
|
id: node.id,
|
|
@@ -14335,8 +14346,8 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
14335
14346
|
stroke: _ctx.maskStrokeColor,
|
|
14336
14347
|
"stroke-width": _ctx.maskStrokeWidth,
|
|
14337
14348
|
"fill-rule": "evenodd"
|
|
14338
|
-
}, null, 8, _hoisted_3$
|
|
14339
|
-
], 8, _hoisted_1$
|
|
14349
|
+
}, null, 8, _hoisted_3$8)
|
|
14350
|
+
], 8, _hoisted_1$c))
|
|
14340
14351
|
]),
|
|
14341
14352
|
_: 1
|
|
14342
14353
|
}, 8, ["position", "class"]);
|
|
@@ -14351,16 +14362,16 @@ function toSnakeCase(str) {
|
|
|
14351
14362
|
return str;
|
|
14352
14363
|
return str.replace(/([A-Z])/g, "_$1").replace(/^_/, "").toLowerCase();
|
|
14353
14364
|
}
|
|
14354
|
-
const _hoisted_1$
|
|
14355
|
-
const _hoisted_2$
|
|
14365
|
+
const _hoisted_1$b = { class: "description-text" };
|
|
14366
|
+
const _hoisted_2$8 = {
|
|
14356
14367
|
key: 0,
|
|
14357
14368
|
class: "truncated-indicator",
|
|
14358
14369
|
title: "Click to see full description"
|
|
14359
14370
|
};
|
|
14360
|
-
const _hoisted_3$
|
|
14361
|
-
const _hoisted_4$
|
|
14371
|
+
const _hoisted_3$7 = ["id"];
|
|
14372
|
+
const _hoisted_4$7 = ["id"];
|
|
14362
14373
|
const CHAR_LIMIT = 100;
|
|
14363
|
-
const _sfc_main$
|
|
14374
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
14364
14375
|
__name: "CustomNode",
|
|
14365
14376
|
props: {
|
|
14366
14377
|
data: {
|
|
@@ -14615,8 +14626,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
14615
14626
|
createBaseVNode("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })
|
|
14616
14627
|
], -1)
|
|
14617
14628
|
])),
|
|
14618
|
-
createBaseVNode("pre", _hoisted_1$
|
|
14619
|
-
isTruncated.value ? (openBlock(), createElementBlock("span", _hoisted_2$
|
|
14629
|
+
createBaseVNode("pre", _hoisted_1$b, toDisplayString(descriptionSummary.value), 1),
|
|
14630
|
+
isTruncated.value ? (openBlock(), createElementBlock("span", _hoisted_2$8, "...")) : createCommentVNode("", true)
|
|
14620
14631
|
], 4)) : (openBlock(), createElementBlock("div", {
|
|
14621
14632
|
key: 1,
|
|
14622
14633
|
id: props2.data.id.toLocaleString(),
|
|
@@ -14630,10 +14641,10 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
14630
14641
|
class: "description-input",
|
|
14631
14642
|
data: "description_input",
|
|
14632
14643
|
onBlur: _cache[2] || (_cache[2] = ($event) => toggleEditMode(false))
|
|
14633
|
-
}, null, 40, _hoisted_4$
|
|
14644
|
+
}, null, 40, _hoisted_4$7), [
|
|
14634
14645
|
[vModelText, description.value]
|
|
14635
14646
|
])
|
|
14636
|
-
], 12, _hoisted_3$
|
|
14647
|
+
], 12, _hoisted_3$7))
|
|
14637
14648
|
])
|
|
14638
14649
|
], 32),
|
|
14639
14650
|
createBaseVNode("div", {
|
|
@@ -14741,7 +14752,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
14741
14752
|
}
|
|
14742
14753
|
});
|
|
14743
14754
|
const CustomNode_vue_vue_type_style_index_0_scoped_74411a9e_lang = "";
|
|
14744
|
-
const CustomNode = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
14755
|
+
const CustomNode = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-74411a9e"]]);
|
|
14745
14756
|
const __variableDynamicImportRuntimeHelper = (glob, path2) => {
|
|
14746
14757
|
const v = glob[path2];
|
|
14747
14758
|
if (v) {
|
|
@@ -14754,7 +14765,7 @@ const __variableDynamicImportRuntimeHelper = (glob, path2) => {
|
|
|
14754
14765
|
const componentCache = {};
|
|
14755
14766
|
function getComponent(name) {
|
|
14756
14767
|
if (!componentCache[name]) {
|
|
14757
|
-
componentCache[name] = __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../nodes/AirbyteReader.vue": () => __vitePreload(() => import("./AirbyteReader-2b1cf2d8.js"), true ? ["assets/AirbyteReader-2b1cf2d8.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/dropDownGeneric-1f4e32ec.js","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/dropDownGeneric-895680d6.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/vue-content-loader.es-860c0380.js","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/AirbyteReader-1ac35765.css"] : void 0), "../../nodes/CrossJoin.vue": () => __vitePreload(() => import("./CrossJoin-cc3ab73c.js"), true ? ["assets/CrossJoin-cc3ab73c.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/CrossJoin-41efa4cb.css"] : void 0), "../../nodes/DatabaseReader.vue": () => __vitePreload(() => import("./DatabaseReader-e4134cd0.js"), true ? ["assets/DatabaseReader-e4134cd0.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/api-3b345d92.js","assets/DatabaseConnectionSettings-307c4652.js","assets/secretApi-01f07e2c.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseReader-f50c6558.css"] : void 0), "../../nodes/DatabaseWriter.vue": () => __vitePreload(() => import("./DatabaseWriter-d32d75b1.js"), true ? ["assets/DatabaseWriter-d32d75b1.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/api-3b345d92.js","assets/DatabaseConnectionSettings-307c4652.js","assets/secretApi-01f07e2c.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseWriter-2f570e53.css"] : void 0), "../../nodes/ExploreData.vue": () => __vitePreload(() => import("./ExploreData-5eb48389.js"), true ? ["assets/ExploreData-5eb48389.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/ExploreData-5bdae813.css"] : void 0), "../../nodes/ExternalSource.vue": () => __vitePreload(() => import("./ExternalSource-29489051.js"), true ? ["assets/ExternalSource-29489051.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/ExternalSource-e37b6275.css"] : void 0), "../../nodes/Filter.vue": () => __vitePreload(() => import("./Filter-031332bb.js"), true ? ["assets/Filter-031332bb.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/fullEditor-f4791c23.js","assets/vue-codemirror.esm-eb98fc8b.js","assets/fullEditor-178376bb.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Filter-a9d08ba1.css"] : void 0), "../../nodes/Formula.vue": () => __vitePreload(() => import("./Formula-3b900540.js"), true ? ["assets/Formula-3b900540.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/fullEditor-f4791c23.js","assets/vue-codemirror.esm-eb98fc8b.js","assets/fullEditor-178376bb.css","assets/dropDownGeneric-1f4e32ec.js","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/dropDownGeneric-895680d6.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Formula-b8cefc31.css"] : void 0), "../../nodes/FuzzyMatch.vue": () => __vitePreload(() => import("./FuzzyMatch-dee31153.js"), true ? ["assets/FuzzyMatch-dee31153.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-860c0380.js","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/FuzzyMatch-6857de82.css"] : void 0), "../../nodes/GraphSolver.vue": () => __vitePreload(() => import("./GraphSolver-ca74eb47.js"), true ? ["assets/GraphSolver-ca74eb47.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/GraphSolver-17fd26db.css"] : void 0), "../../nodes/GroupBy.vue": () => __vitePreload(() => import("./GroupBy-081b6591.js"), true ? ["assets/GroupBy-081b6591.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/GroupBy-ab1ea74b.css"] : void 0), "../../nodes/Join.vue": () => __vitePreload(() => import("./Join-b467376f.js"), true ? ["assets/Join-b467376f.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Join-41c0f331.css"] : void 0), "../../nodes/ManualInput.vue": () => __vitePreload(() => import("./ManualInput-ffffb80a.js"), true ? ["assets/ManualInput-ffffb80a.js","assets/nodeTitle-cad6fd9d.js","assets/PopOver-3bdf8951.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-bccfde04.css","assets/nodeTitle-f4b12bcb.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/ManualInput-ac7b9972.css"] : void 0), "../../nodes/Output.vue": () => __vitePreload(() => import("./Output-9a87d4ba.js"), true ? ["assets/Output-9a87d4ba.js","assets/PopOver-3bdf8951.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-bccfde04.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Output-48f81019.css"] : void 0), "../../nodes/Pivot.vue": () => __vitePreload(() => import("./Pivot-ee3e6093.js"), true ? ["assets/Pivot-ee3e6093.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/SettingsSection-48f28104.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Pivot-f415e85f.css"] : void 0), "../../nodes/PolarsCode.vue": () => __vitePreload(() => import("./PolarsCode-03921254.js"), true ? ["assets/PolarsCode-03921254.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/vue-codemirror.esm-eb98fc8b.js","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/PolarsCode-650322d1.css"] : void 0), "../../nodes/Read.vue": () => __vitePreload(() => import("./Read-67fee3a0.js"), true ? ["assets/Read-67fee3a0.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Read-80dc1675.css"] : void 0), "../../nodes/RecordCount.vue": () => __vitePreload(() => import("./RecordCount-a2acd02d.js"), true ? ["assets/RecordCount-a2acd02d.js","assets/PopOver-3bdf8951.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/RecordId.vue": () => __vitePreload(() => import("./RecordId-0c8bcd77.js"), true ? ["assets/RecordId-0c8bcd77.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/SettingsSection-48f28104.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sample.vue": () => __vitePreload(() => import("./Sample-60594a3a.js"), true ? ["assets/Sample-60594a3a.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Select.vue": () => __vitePreload(() => import("./Select-9540e6ca.js"), true ? ["assets/Select-9540e6ca.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sort.vue": () => __vitePreload(() => import("./Sort-6dbe3633.js"), true ? ["assets/Sort-6dbe3633.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/vue-content-loader.es-860c0380.js","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Sort-7ccfa0fe.css"] : void 0), "../../nodes/TextToRows.vue": () => __vitePreload(() => import("./TextToRows-27aab4a8.js"), true ? ["assets/TextToRows-27aab4a8.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-860c0380.js","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/TextToRows-c92d1ec2.css"] : void 0), "../../nodes/Union.vue": () => __vitePreload(() => import("./Union-52460248.js"), true ? ["assets/Union-52460248.js","assets/PopOver-3bdf8951.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Union-8d9ac7f9.css"] : void 0), "../../nodes/Unique.vue": () => __vitePreload(() => import("./Unique-f6962644.js"), true ? ["assets/Unique-f6962644.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Unique-b5615727.css"] : void 0), "../../nodes/Unpivot.vue": () => __vitePreload(() => import("./Unpivot-1ff1e938.js"), true ? ["assets/Unpivot-1ff1e938.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Unpivot-246e9bbd.css"] : void 0) }), `../../nodes/${toTitleCase(name)}.vue`).then((module) => {
|
|
14768
|
+
componentCache[name] = __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../nodes/AirbyteReader.vue": () => __vitePreload(() => import("./AirbyteReader-e08044e5.js"), true ? ["assets/AirbyteReader-e08044e5.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/dropDownGeneric-60f56a8a.js","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/dropDownGeneric-895680d6.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/vue-content-loader.es-6c4b1c24.js","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/AirbyteReader-1ac35765.css"] : void 0), "../../nodes/CrossJoin.vue": () => __vitePreload(() => import("./CrossJoin-dfcf7351.js"), true ? ["assets/CrossJoin-dfcf7351.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/CrossJoin-41efa4cb.css"] : void 0), "../../nodes/DatabaseReader.vue": () => __vitePreload(() => import("./DatabaseReader-a48124d8.js"), true ? ["assets/DatabaseReader-a48124d8.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/api-44ca9e9c.js","assets/DatabaseConnectionSettings-b2afb1d7.js","assets/secretApi-cdc2a3fd.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseReader-f50c6558.css"] : void 0), "../../nodes/DatabaseWriter.vue": () => __vitePreload(() => import("./DatabaseWriter-b47cbae2.js"), true ? ["assets/DatabaseWriter-b47cbae2.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/api-44ca9e9c.js","assets/DatabaseConnectionSettings-b2afb1d7.js","assets/secretApi-cdc2a3fd.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseWriter-2f570e53.css"] : void 0), "../../nodes/ExploreData.vue": () => __vitePreload(() => import("./ExploreData-fdfc45a4.js"), true ? ["assets/ExploreData-fdfc45a4.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/ExploreData-5bdae813.css"] : void 0), "../../nodes/ExternalSource.vue": () => __vitePreload(() => import("./ExternalSource-861b0e71.js"), true ? ["assets/ExternalSource-861b0e71.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/ExternalSource-e37b6275.css"] : void 0), "../../nodes/Filter.vue": () => __vitePreload(() => import("./Filter-f87bb897.js"), true ? ["assets/Filter-f87bb897.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-e272b506.js","assets/fullEditor-178376bb.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Filter-a9d08ba1.css"] : void 0), "../../nodes/Formula.vue": () => __vitePreload(() => import("./Formula-1e2ed720.js"), true ? ["assets/Formula-1e2ed720.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-e272b506.js","assets/fullEditor-178376bb.css","assets/dropDownGeneric-60f56a8a.js","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/dropDownGeneric-895680d6.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Formula-b8cefc31.css"] : void 0), "../../nodes/FuzzyMatch.vue": () => __vitePreload(() => import("./FuzzyMatch-b6cc4fdd.js"), true ? ["assets/FuzzyMatch-b6cc4fdd.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-6c4b1c24.js","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/FuzzyMatch-6857de82.css"] : void 0), "../../nodes/GraphSolver.vue": () => __vitePreload(() => import("./GraphSolver-6a371f4c.js"), true ? ["assets/GraphSolver-6a371f4c.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/GraphSolver-17fd26db.css"] : void 0), "../../nodes/GroupBy.vue": () => __vitePreload(() => import("./GroupBy-f7b7f472.js"), true ? ["assets/GroupBy-f7b7f472.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/GroupBy-ab1ea74b.css"] : void 0), "../../nodes/Join.vue": () => __vitePreload(() => import("./Join-eec38203.js"), true ? ["assets/Join-eec38203.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Join-41c0f331.css"] : void 0), "../../nodes/ManualInput.vue": () => __vitePreload(() => import("./ManualInput-9aaa46fb.js"), true ? ["assets/ManualInput-9aaa46fb.js","assets/nodeTitle-fc3fc4b7.js","assets/vue-codemirror.esm-25e75a08.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-f4b12bcb.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/ManualInput-ac7b9972.css"] : void 0), "../../nodes/Output.vue": () => __vitePreload(() => import("./Output-3b2ca045.js"), true ? ["assets/Output-3b2ca045.js","assets/vue-codemirror.esm-25e75a08.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Output-48f81019.css"] : void 0), "../../nodes/Pivot.vue": () => __vitePreload(() => import("./Pivot-a4f5d88f.js"), true ? ["assets/Pivot-a4f5d88f.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/SettingsSection-a0f15a05.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Pivot-f415e85f.css"] : void 0), "../../nodes/PolarsCode.vue": () => __vitePreload(() => import("./PolarsCode-49ce444f.js"), true ? ["assets/PolarsCode-49ce444f.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/PolarsCode-650322d1.css"] : void 0), "../../nodes/Read.vue": () => __vitePreload(() => import("./Read-07acdc9a.js"), true ? ["assets/Read-07acdc9a.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Read-80dc1675.css"] : void 0), "../../nodes/RecordCount.vue": () => __vitePreload(() => import("./RecordCount-6a21da56.js"), true ? ["assets/RecordCount-6a21da56.js","assets/vue-codemirror.esm-25e75a08.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/RecordId.vue": () => __vitePreload(() => import("./RecordId-949bdc17.js"), true ? ["assets/RecordId-949bdc17.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/SettingsSection-a0f15a05.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sample.vue": () => __vitePreload(() => import("./Sample-7afca6e1.js"), true ? ["assets/Sample-7afca6e1.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Select.vue": () => __vitePreload(() => import("./Select-32b28406.js"), true ? ["assets/Select-32b28406.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sort.vue": () => __vitePreload(() => import("./Sort-fc6ba0e2.js"), true ? ["assets/Sort-fc6ba0e2.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/vue-content-loader.es-6c4b1c24.js","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Sort-7ccfa0fe.css"] : void 0), "../../nodes/TextToRows.vue": () => __vitePreload(() => import("./TextToRows-23127596.js"), true ? ["assets/TextToRows-23127596.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-6c4b1c24.js","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/TextToRows-c92d1ec2.css"] : void 0), "../../nodes/Union.vue": () => __vitePreload(() => import("./Union-39eecc6c.js"), true ? ["assets/Union-39eecc6c.js","assets/vue-codemirror.esm-25e75a08.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Union-8d9ac7f9.css"] : void 0), "../../nodes/Unique.vue": () => __vitePreload(() => import("./Unique-a0e8fe61.js"), true ? ["assets/Unique-a0e8fe61.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Unique-b5615727.css"] : void 0), "../../nodes/Unpivot.vue": () => __vitePreload(() => import("./Unpivot-1e2d43f0.js"), true ? ["assets/Unpivot-1e2d43f0.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Unpivot-246e9bbd.css"] : void 0) }), `../../nodes/${toTitleCase(name)}.vue`).then((module) => {
|
|
14758
14769
|
const component = markRaw$1(module.default);
|
|
14759
14770
|
return component;
|
|
14760
14771
|
});
|
|
@@ -14763,7 +14774,7 @@ function getComponent(name) {
|
|
|
14763
14774
|
}
|
|
14764
14775
|
function getComponentRaw(name) {
|
|
14765
14776
|
if (!componentCache[name]) {
|
|
14766
|
-
componentCache[name] = __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../nodes/AirbyteReader.vue": () => __vitePreload(() => import("./AirbyteReader-2b1cf2d8.js"), true ? ["assets/AirbyteReader-2b1cf2d8.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/dropDownGeneric-1f4e32ec.js","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/dropDownGeneric-895680d6.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/vue-content-loader.es-860c0380.js","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/AirbyteReader-1ac35765.css"] : void 0), "../../nodes/CrossJoin.vue": () => __vitePreload(() => import("./CrossJoin-cc3ab73c.js"), true ? ["assets/CrossJoin-cc3ab73c.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/CrossJoin-41efa4cb.css"] : void 0), "../../nodes/DatabaseReader.vue": () => __vitePreload(() => import("./DatabaseReader-e4134cd0.js"), true ? ["assets/DatabaseReader-e4134cd0.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/api-3b345d92.js","assets/DatabaseConnectionSettings-307c4652.js","assets/secretApi-01f07e2c.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseReader-f50c6558.css"] : void 0), "../../nodes/DatabaseWriter.vue": () => __vitePreload(() => import("./DatabaseWriter-d32d75b1.js"), true ? ["assets/DatabaseWriter-d32d75b1.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/api-3b345d92.js","assets/DatabaseConnectionSettings-307c4652.js","assets/secretApi-01f07e2c.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseWriter-2f570e53.css"] : void 0), "../../nodes/ExploreData.vue": () => __vitePreload(() => import("./ExploreData-5eb48389.js"), true ? ["assets/ExploreData-5eb48389.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/ExploreData-5bdae813.css"] : void 0), "../../nodes/ExternalSource.vue": () => __vitePreload(() => import("./ExternalSource-29489051.js"), true ? ["assets/ExternalSource-29489051.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/ExternalSource-e37b6275.css"] : void 0), "../../nodes/Filter.vue": () => __vitePreload(() => import("./Filter-031332bb.js"), true ? ["assets/Filter-031332bb.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/fullEditor-f4791c23.js","assets/vue-codemirror.esm-eb98fc8b.js","assets/fullEditor-178376bb.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Filter-a9d08ba1.css"] : void 0), "../../nodes/Formula.vue": () => __vitePreload(() => import("./Formula-3b900540.js"), true ? ["assets/Formula-3b900540.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/fullEditor-f4791c23.js","assets/vue-codemirror.esm-eb98fc8b.js","assets/fullEditor-178376bb.css","assets/dropDownGeneric-1f4e32ec.js","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/dropDownGeneric-895680d6.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Formula-b8cefc31.css"] : void 0), "../../nodes/FuzzyMatch.vue": () => __vitePreload(() => import("./FuzzyMatch-dee31153.js"), true ? ["assets/FuzzyMatch-dee31153.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-860c0380.js","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/FuzzyMatch-6857de82.css"] : void 0), "../../nodes/GraphSolver.vue": () => __vitePreload(() => import("./GraphSolver-ca74eb47.js"), true ? ["assets/GraphSolver-ca74eb47.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/GraphSolver-17fd26db.css"] : void 0), "../../nodes/GroupBy.vue": () => __vitePreload(() => import("./GroupBy-081b6591.js"), true ? ["assets/GroupBy-081b6591.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/GroupBy-ab1ea74b.css"] : void 0), "../../nodes/Join.vue": () => __vitePreload(() => import("./Join-b467376f.js"), true ? ["assets/Join-b467376f.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Join-41c0f331.css"] : void 0), "../../nodes/ManualInput.vue": () => __vitePreload(() => import("./ManualInput-ffffb80a.js"), true ? ["assets/ManualInput-ffffb80a.js","assets/nodeTitle-cad6fd9d.js","assets/PopOver-3bdf8951.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-bccfde04.css","assets/nodeTitle-f4b12bcb.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/ManualInput-ac7b9972.css"] : void 0), "../../nodes/Output.vue": () => __vitePreload(() => import("./Output-9a87d4ba.js"), true ? ["assets/Output-9a87d4ba.js","assets/PopOver-3bdf8951.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-bccfde04.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Output-48f81019.css"] : void 0), "../../nodes/Pivot.vue": () => __vitePreload(() => import("./Pivot-ee3e6093.js"), true ? ["assets/Pivot-ee3e6093.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/SettingsSection-48f28104.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Pivot-f415e85f.css"] : void 0), "../../nodes/PolarsCode.vue": () => __vitePreload(() => import("./PolarsCode-03921254.js"), true ? ["assets/PolarsCode-03921254.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/vue-codemirror.esm-eb98fc8b.js","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/PolarsCode-650322d1.css"] : void 0), "../../nodes/Read.vue": () => __vitePreload(() => import("./Read-67fee3a0.js"), true ? ["assets/Read-67fee3a0.js","assets/vue-content-loader.es-860c0380.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Read-80dc1675.css"] : void 0), "../../nodes/RecordCount.vue": () => __vitePreload(() => import("./RecordCount-a2acd02d.js"), true ? ["assets/RecordCount-a2acd02d.js","assets/PopOver-3bdf8951.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/RecordId.vue": () => __vitePreload(() => import("./RecordId-0c8bcd77.js"), true ? ["assets/RecordId-0c8bcd77.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/SettingsSection-48f28104.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sample.vue": () => __vitePreload(() => import("./Sample-60594a3a.js"), true ? ["assets/Sample-60594a3a.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Select.vue": () => __vitePreload(() => import("./Select-9540e6ca.js"), true ? ["assets/Select-9540e6ca.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sort.vue": () => __vitePreload(() => import("./Sort-6dbe3633.js"), true ? ["assets/Sort-6dbe3633.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/vue-content-loader.es-860c0380.js","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Sort-7ccfa0fe.css"] : void 0), "../../nodes/TextToRows.vue": () => __vitePreload(() => import("./TextToRows-27aab4a8.js"), true ? ["assets/TextToRows-27aab4a8.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/dropDown-d5a4014c.js","assets/dropDown-35135ba8.css","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-860c0380.js","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/TextToRows-c92d1ec2.css"] : void 0), "../../nodes/Union.vue": () => __vitePreload(() => import("./Union-52460248.js"), true ? ["assets/Union-52460248.js","assets/PopOver-3bdf8951.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Union-8d9ac7f9.css"] : void 0), "../../nodes/Unique.vue": () => __vitePreload(() => import("./Unique-f6962644.js"), true ? ["assets/Unique-f6962644.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-860c0380.js","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/selectDynamic-f46a4e3f.js","assets/UnavailableFields-8143044b.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Unique-b5615727.css"] : void 0), "../../nodes/Unpivot.vue": () => __vitePreload(() => import("./Unpivot-1ff1e938.js"), true ? ["assets/Unpivot-1ff1e938.js","assets/index-f25c9283.js","assets/index-681a3ed0.css","assets/PopOver-3bdf8951.js","assets/PopOver-bccfde04.css","assets/genericNodeSettings-1d456350.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-cad6fd9d.js","assets/nodeTitle-f4b12bcb.css","assets/Unpivot-246e9bbd.css"] : void 0) }), `../../nodes/${name}.vue`).then((module) => {
|
|
14777
|
+
componentCache[name] = __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "../../nodes/AirbyteReader.vue": () => __vitePreload(() => import("./AirbyteReader-e08044e5.js"), true ? ["assets/AirbyteReader-e08044e5.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/dropDownGeneric-60f56a8a.js","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/dropDownGeneric-895680d6.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/vue-content-loader.es-6c4b1c24.js","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/AirbyteReader-1ac35765.css"] : void 0), "../../nodes/CrossJoin.vue": () => __vitePreload(() => import("./CrossJoin-dfcf7351.js"), true ? ["assets/CrossJoin-dfcf7351.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/CrossJoin-41efa4cb.css"] : void 0), "../../nodes/DatabaseReader.vue": () => __vitePreload(() => import("./DatabaseReader-a48124d8.js"), true ? ["assets/DatabaseReader-a48124d8.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/api-44ca9e9c.js","assets/DatabaseConnectionSettings-b2afb1d7.js","assets/secretApi-cdc2a3fd.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseReader-f50c6558.css"] : void 0), "../../nodes/DatabaseWriter.vue": () => __vitePreload(() => import("./DatabaseWriter-b47cbae2.js"), true ? ["assets/DatabaseWriter-b47cbae2.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/api-44ca9e9c.js","assets/DatabaseConnectionSettings-b2afb1d7.js","assets/secretApi-cdc2a3fd.js","assets/DatabaseConnectionSettings-0c04b2e5.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/DatabaseWriter-2f570e53.css"] : void 0), "../../nodes/ExploreData.vue": () => __vitePreload(() => import("./ExploreData-fdfc45a4.js"), true ? ["assets/ExploreData-fdfc45a4.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/ExploreData-5bdae813.css"] : void 0), "../../nodes/ExternalSource.vue": () => __vitePreload(() => import("./ExternalSource-861b0e71.js"), true ? ["assets/ExternalSource-861b0e71.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/ExternalSource-e37b6275.css"] : void 0), "../../nodes/Filter.vue": () => __vitePreload(() => import("./Filter-f87bb897.js"), true ? ["assets/Filter-f87bb897.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-e272b506.js","assets/fullEditor-178376bb.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Filter-a9d08ba1.css"] : void 0), "../../nodes/Formula.vue": () => __vitePreload(() => import("./Formula-1e2ed720.js"), true ? ["assets/Formula-1e2ed720.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/fullEditor-e272b506.js","assets/fullEditor-178376bb.css","assets/dropDownGeneric-60f56a8a.js","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/dropDownGeneric-895680d6.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Formula-b8cefc31.css"] : void 0), "../../nodes/FuzzyMatch.vue": () => __vitePreload(() => import("./FuzzyMatch-b6cc4fdd.js"), true ? ["assets/FuzzyMatch-b6cc4fdd.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-6c4b1c24.js","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/FuzzyMatch-6857de82.css"] : void 0), "../../nodes/GraphSolver.vue": () => __vitePreload(() => import("./GraphSolver-6a371f4c.js"), true ? ["assets/GraphSolver-6a371f4c.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/GraphSolver-17fd26db.css"] : void 0), "../../nodes/GroupBy.vue": () => __vitePreload(() => import("./GroupBy-f7b7f472.js"), true ? ["assets/GroupBy-f7b7f472.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/GroupBy-ab1ea74b.css"] : void 0), "../../nodes/Join.vue": () => __vitePreload(() => import("./Join-eec38203.js"), true ? ["assets/Join-eec38203.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Join-41c0f331.css"] : void 0), "../../nodes/ManualInput.vue": () => __vitePreload(() => import("./ManualInput-9aaa46fb.js"), true ? ["assets/ManualInput-9aaa46fb.js","assets/nodeTitle-fc3fc4b7.js","assets/vue-codemirror.esm-25e75a08.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-f4b12bcb.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/ManualInput-ac7b9972.css"] : void 0), "../../nodes/Output.vue": () => __vitePreload(() => import("./Output-3b2ca045.js"), true ? ["assets/Output-3b2ca045.js","assets/vue-codemirror.esm-25e75a08.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Output-48f81019.css"] : void 0), "../../nodes/Pivot.vue": () => __vitePreload(() => import("./Pivot-a4f5d88f.js"), true ? ["assets/Pivot-a4f5d88f.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/SettingsSection-a0f15a05.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Pivot-f415e85f.css"] : void 0), "../../nodes/PolarsCode.vue": () => __vitePreload(() => import("./PolarsCode-49ce444f.js"), true ? ["assets/PolarsCode-49ce444f.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/PolarsCode-650322d1.css"] : void 0), "../../nodes/Read.vue": () => __vitePreload(() => import("./Read-07acdc9a.js"), true ? ["assets/Read-07acdc9a.js","assets/vue-content-loader.es-6c4b1c24.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Read-80dc1675.css"] : void 0), "../../nodes/RecordCount.vue": () => __vitePreload(() => import("./RecordCount-6a21da56.js"), true ? ["assets/RecordCount-6a21da56.js","assets/vue-codemirror.esm-25e75a08.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/RecordId.vue": () => __vitePreload(() => import("./RecordId-949bdc17.js"), true ? ["assets/RecordId-949bdc17.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/SettingsSection-a0f15a05.js","assets/SettingsSection-9c836ecc.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sample.vue": () => __vitePreload(() => import("./Sample-7afca6e1.js"), true ? ["assets/Sample-7afca6e1.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Select.vue": () => __vitePreload(() => import("./Select-32b28406.js"), true ? ["assets/Select-32b28406.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css"] : void 0), "../../nodes/Sort.vue": () => __vitePreload(() => import("./Sort-fc6ba0e2.js"), true ? ["assets/Sort-fc6ba0e2.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/vue-content-loader.es-6c4b1c24.js","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Sort-7ccfa0fe.css"] : void 0), "../../nodes/TextToRows.vue": () => __vitePreload(() => import("./TextToRows-23127596.js"), true ? ["assets/TextToRows-23127596.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/dropDown-52790b15.js","assets/dropDown-35135ba8.css","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/vue-content-loader.es-6c4b1c24.js","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/TextToRows-c92d1ec2.css"] : void 0), "../../nodes/Union.vue": () => __vitePreload(() => import("./Union-39eecc6c.js"), true ? ["assets/Union-39eecc6c.js","assets/vue-codemirror.esm-25e75a08.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Union-8d9ac7f9.css"] : void 0), "../../nodes/Unique.vue": () => __vitePreload(() => import("./Unique-a0e8fe61.js"), true ? ["assets/Unique-a0e8fe61.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-content-loader.es-6c4b1c24.js","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/selectDynamic-96aa82cd.js","assets/UnavailableFields-c42880a3.js","assets/UnavailableFields-5edd5322.css","assets/selectDynamic-b062bc9b.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Unique-b5615727.css"] : void 0), "../../nodes/Unpivot.vue": () => __vitePreload(() => import("./Unpivot-1e2d43f0.js"), true ? ["assets/Unpivot-1e2d43f0.js","assets/index-e235a8bc.js","assets/index-681a3ed0.css","assets/vue-codemirror.esm-25e75a08.js","assets/vue-codemirror-bccfde04.css","assets/genericNodeSettings-4bdcf98e.js","assets/genericNodeSettings-924759c7.css","assets/nodeTitle-fc3fc4b7.js","assets/nodeTitle-f4b12bcb.css","assets/Unpivot-246e9bbd.css"] : void 0) }), `../../nodes/${name}.vue`).then((module) => {
|
|
14767
14778
|
const component = markRaw$1(module.default);
|
|
14768
14779
|
return component;
|
|
14769
14780
|
});
|
|
@@ -14915,9 +14926,9 @@ const importSavedFlow = async (flowPath) => {
|
|
|
14915
14926
|
console.error("There was an error fetching the flow:", error);
|
|
14916
14927
|
}
|
|
14917
14928
|
};
|
|
14918
|
-
let id = 0;
|
|
14929
|
+
let id$1 = 0;
|
|
14919
14930
|
function getId() {
|
|
14920
|
-
return ++id;
|
|
14931
|
+
return ++id$1;
|
|
14921
14932
|
}
|
|
14922
14933
|
const state = {
|
|
14923
14934
|
draggedType: ref(null),
|
|
@@ -15039,7 +15050,7 @@ function useDragAndDrop() {
|
|
|
15039
15050
|
await createEmptyFlow();
|
|
15040
15051
|
const allNodes = await Promise.all(flowData.node_inputs.map((node) => getNodeToAdd(node)));
|
|
15041
15052
|
addNodes(allNodes);
|
|
15042
|
-
id = getMaxDataId(flowData.node_inputs);
|
|
15053
|
+
id$1 = getMaxDataId(flowData.node_inputs);
|
|
15043
15054
|
addEdges(flowData.node_edges);
|
|
15044
15055
|
}
|
|
15045
15056
|
function onDrop(event, flowId) {
|
|
@@ -15108,6 +15119,2702 @@ function useDragAndDrop() {
|
|
|
15108
15119
|
importFlow
|
|
15109
15120
|
};
|
|
15110
15121
|
}
|
|
15122
|
+
class Stack {
|
|
15123
|
+
/**
|
|
15124
|
+
@internal
|
|
15125
|
+
*/
|
|
15126
|
+
constructor(p, stack, state2, reducePos, pos, score, buffer, bufferBase, curContext, lookAhead = 0, parent) {
|
|
15127
|
+
this.p = p;
|
|
15128
|
+
this.stack = stack;
|
|
15129
|
+
this.state = state2;
|
|
15130
|
+
this.reducePos = reducePos;
|
|
15131
|
+
this.pos = pos;
|
|
15132
|
+
this.score = score;
|
|
15133
|
+
this.buffer = buffer;
|
|
15134
|
+
this.bufferBase = bufferBase;
|
|
15135
|
+
this.curContext = curContext;
|
|
15136
|
+
this.lookAhead = lookAhead;
|
|
15137
|
+
this.parent = parent;
|
|
15138
|
+
}
|
|
15139
|
+
/**
|
|
15140
|
+
@internal
|
|
15141
|
+
*/
|
|
15142
|
+
toString() {
|
|
15143
|
+
return `[${this.stack.filter((_2, i2) => i2 % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? "!" + this.score : ""}`;
|
|
15144
|
+
}
|
|
15145
|
+
// Start an empty stack
|
|
15146
|
+
/**
|
|
15147
|
+
@internal
|
|
15148
|
+
*/
|
|
15149
|
+
static start(p, state2, pos = 0) {
|
|
15150
|
+
let cx = p.parser.context;
|
|
15151
|
+
return new Stack(p, [], state2, pos, pos, 0, [], 0, cx ? new StackContext(cx, cx.start) : null, 0, null);
|
|
15152
|
+
}
|
|
15153
|
+
/**
|
|
15154
|
+
The stack's current [context](#lr.ContextTracker) value, if
|
|
15155
|
+
any. Its type will depend on the context tracker's type
|
|
15156
|
+
parameter, or it will be `null` if there is no context
|
|
15157
|
+
tracker.
|
|
15158
|
+
*/
|
|
15159
|
+
get context() {
|
|
15160
|
+
return this.curContext ? this.curContext.context : null;
|
|
15161
|
+
}
|
|
15162
|
+
// Push a state onto the stack, tracking its start position as well
|
|
15163
|
+
// as the buffer base at that point.
|
|
15164
|
+
/**
|
|
15165
|
+
@internal
|
|
15166
|
+
*/
|
|
15167
|
+
pushState(state2, start2) {
|
|
15168
|
+
this.stack.push(this.state, start2, this.bufferBase + this.buffer.length);
|
|
15169
|
+
this.state = state2;
|
|
15170
|
+
}
|
|
15171
|
+
// Apply a reduce action
|
|
15172
|
+
/**
|
|
15173
|
+
@internal
|
|
15174
|
+
*/
|
|
15175
|
+
reduce(action) {
|
|
15176
|
+
var _a;
|
|
15177
|
+
let depth = action >> 19, type = action & 65535;
|
|
15178
|
+
let { parser: parser2 } = this.p;
|
|
15179
|
+
let lookaheadRecord = this.reducePos < this.pos - 25;
|
|
15180
|
+
if (lookaheadRecord)
|
|
15181
|
+
this.setLookAhead(this.pos);
|
|
15182
|
+
let dPrec = parser2.dynamicPrecedence(type);
|
|
15183
|
+
if (dPrec)
|
|
15184
|
+
this.score += dPrec;
|
|
15185
|
+
if (depth == 0) {
|
|
15186
|
+
this.pushState(parser2.getGoto(this.state, type, true), this.reducePos);
|
|
15187
|
+
if (type < parser2.minRepeatTerm)
|
|
15188
|
+
this.storeNode(type, this.reducePos, this.reducePos, lookaheadRecord ? 8 : 4, true);
|
|
15189
|
+
this.reduceContext(type, this.reducePos);
|
|
15190
|
+
return;
|
|
15191
|
+
}
|
|
15192
|
+
let base = this.stack.length - (depth - 1) * 3 - (action & 262144 ? 6 : 0);
|
|
15193
|
+
let start2 = base ? this.stack[base - 2] : this.p.ranges[0].from, size = this.reducePos - start2;
|
|
15194
|
+
if (size >= 2e3 && !((_a = this.p.parser.nodeSet.types[type]) === null || _a === void 0 ? void 0 : _a.isAnonymous)) {
|
|
15195
|
+
if (start2 == this.p.lastBigReductionStart) {
|
|
15196
|
+
this.p.bigReductionCount++;
|
|
15197
|
+
this.p.lastBigReductionSize = size;
|
|
15198
|
+
} else if (this.p.lastBigReductionSize < size) {
|
|
15199
|
+
this.p.bigReductionCount = 1;
|
|
15200
|
+
this.p.lastBigReductionStart = start2;
|
|
15201
|
+
this.p.lastBigReductionSize = size;
|
|
15202
|
+
}
|
|
15203
|
+
}
|
|
15204
|
+
let bufferBase = base ? this.stack[base - 1] : 0, count = this.bufferBase + this.buffer.length - bufferBase;
|
|
15205
|
+
if (type < parser2.minRepeatTerm || action & 131072) {
|
|
15206
|
+
let pos = parser2.stateFlag(
|
|
15207
|
+
this.state,
|
|
15208
|
+
1
|
|
15209
|
+
/* StateFlag.Skipped */
|
|
15210
|
+
) ? this.pos : this.reducePos;
|
|
15211
|
+
this.storeNode(type, start2, pos, count + 4, true);
|
|
15212
|
+
}
|
|
15213
|
+
if (action & 262144) {
|
|
15214
|
+
this.state = this.stack[base];
|
|
15215
|
+
} else {
|
|
15216
|
+
let baseStateID = this.stack[base - 3];
|
|
15217
|
+
this.state = parser2.getGoto(baseStateID, type, true);
|
|
15218
|
+
}
|
|
15219
|
+
while (this.stack.length > base)
|
|
15220
|
+
this.stack.pop();
|
|
15221
|
+
this.reduceContext(type, start2);
|
|
15222
|
+
}
|
|
15223
|
+
// Shift a value into the buffer
|
|
15224
|
+
/**
|
|
15225
|
+
@internal
|
|
15226
|
+
*/
|
|
15227
|
+
storeNode(term, start2, end, size = 4, mustSink = false) {
|
|
15228
|
+
if (term == 0 && (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {
|
|
15229
|
+
let cur = this, top = this.buffer.length;
|
|
15230
|
+
if (top == 0 && cur.parent) {
|
|
15231
|
+
top = cur.bufferBase - cur.parent.bufferBase;
|
|
15232
|
+
cur = cur.parent;
|
|
15233
|
+
}
|
|
15234
|
+
if (top > 0 && cur.buffer[top - 4] == 0 && cur.buffer[top - 1] > -1) {
|
|
15235
|
+
if (start2 == end)
|
|
15236
|
+
return;
|
|
15237
|
+
if (cur.buffer[top - 2] >= start2) {
|
|
15238
|
+
cur.buffer[top - 2] = end;
|
|
15239
|
+
return;
|
|
15240
|
+
}
|
|
15241
|
+
}
|
|
15242
|
+
}
|
|
15243
|
+
if (!mustSink || this.pos == end) {
|
|
15244
|
+
this.buffer.push(term, start2, end, size);
|
|
15245
|
+
} else {
|
|
15246
|
+
let index = this.buffer.length;
|
|
15247
|
+
if (index > 0 && this.buffer[index - 4] != 0) {
|
|
15248
|
+
let mustMove = false;
|
|
15249
|
+
for (let scan = index; scan > 0 && this.buffer[scan - 2] > end; scan -= 4) {
|
|
15250
|
+
if (this.buffer[scan - 1] >= 0) {
|
|
15251
|
+
mustMove = true;
|
|
15252
|
+
break;
|
|
15253
|
+
}
|
|
15254
|
+
}
|
|
15255
|
+
if (mustMove)
|
|
15256
|
+
while (index > 0 && this.buffer[index - 2] > end) {
|
|
15257
|
+
this.buffer[index] = this.buffer[index - 4];
|
|
15258
|
+
this.buffer[index + 1] = this.buffer[index - 3];
|
|
15259
|
+
this.buffer[index + 2] = this.buffer[index - 2];
|
|
15260
|
+
this.buffer[index + 3] = this.buffer[index - 1];
|
|
15261
|
+
index -= 4;
|
|
15262
|
+
if (size > 4)
|
|
15263
|
+
size -= 4;
|
|
15264
|
+
}
|
|
15265
|
+
}
|
|
15266
|
+
this.buffer[index] = term;
|
|
15267
|
+
this.buffer[index + 1] = start2;
|
|
15268
|
+
this.buffer[index + 2] = end;
|
|
15269
|
+
this.buffer[index + 3] = size;
|
|
15270
|
+
}
|
|
15271
|
+
}
|
|
15272
|
+
// Apply a shift action
|
|
15273
|
+
/**
|
|
15274
|
+
@internal
|
|
15275
|
+
*/
|
|
15276
|
+
shift(action, type, start2, end) {
|
|
15277
|
+
if (action & 131072) {
|
|
15278
|
+
this.pushState(action & 65535, this.pos);
|
|
15279
|
+
} else if ((action & 262144) == 0) {
|
|
15280
|
+
let nextState = action, { parser: parser2 } = this.p;
|
|
15281
|
+
if (end > this.pos || type <= parser2.maxNode) {
|
|
15282
|
+
this.pos = end;
|
|
15283
|
+
if (!parser2.stateFlag(
|
|
15284
|
+
nextState,
|
|
15285
|
+
1
|
|
15286
|
+
/* StateFlag.Skipped */
|
|
15287
|
+
))
|
|
15288
|
+
this.reducePos = end;
|
|
15289
|
+
}
|
|
15290
|
+
this.pushState(nextState, start2);
|
|
15291
|
+
this.shiftContext(type, start2);
|
|
15292
|
+
if (type <= parser2.maxNode)
|
|
15293
|
+
this.buffer.push(type, start2, end, 4);
|
|
15294
|
+
} else {
|
|
15295
|
+
this.pos = end;
|
|
15296
|
+
this.shiftContext(type, start2);
|
|
15297
|
+
if (type <= this.p.parser.maxNode)
|
|
15298
|
+
this.buffer.push(type, start2, end, 4);
|
|
15299
|
+
}
|
|
15300
|
+
}
|
|
15301
|
+
// Apply an action
|
|
15302
|
+
/**
|
|
15303
|
+
@internal
|
|
15304
|
+
*/
|
|
15305
|
+
apply(action, next, nextStart, nextEnd) {
|
|
15306
|
+
if (action & 65536)
|
|
15307
|
+
this.reduce(action);
|
|
15308
|
+
else
|
|
15309
|
+
this.shift(action, next, nextStart, nextEnd);
|
|
15310
|
+
}
|
|
15311
|
+
// Add a prebuilt (reused) node into the buffer.
|
|
15312
|
+
/**
|
|
15313
|
+
@internal
|
|
15314
|
+
*/
|
|
15315
|
+
useNode(value, next) {
|
|
15316
|
+
let index = this.p.reused.length - 1;
|
|
15317
|
+
if (index < 0 || this.p.reused[index] != value) {
|
|
15318
|
+
this.p.reused.push(value);
|
|
15319
|
+
index++;
|
|
15320
|
+
}
|
|
15321
|
+
let start2 = this.pos;
|
|
15322
|
+
this.reducePos = this.pos = start2 + value.length;
|
|
15323
|
+
this.pushState(next, start2);
|
|
15324
|
+
this.buffer.push(
|
|
15325
|
+
index,
|
|
15326
|
+
start2,
|
|
15327
|
+
this.reducePos,
|
|
15328
|
+
-1
|
|
15329
|
+
/* size == -1 means this is a reused value */
|
|
15330
|
+
);
|
|
15331
|
+
if (this.curContext)
|
|
15332
|
+
this.updateContext(this.curContext.tracker.reuse(this.curContext.context, value, this, this.p.stream.reset(this.pos - value.length)));
|
|
15333
|
+
}
|
|
15334
|
+
// Split the stack. Due to the buffer sharing and the fact
|
|
15335
|
+
// that `this.stack` tends to stay quite shallow, this isn't very
|
|
15336
|
+
// expensive.
|
|
15337
|
+
/**
|
|
15338
|
+
@internal
|
|
15339
|
+
*/
|
|
15340
|
+
split() {
|
|
15341
|
+
let parent = this;
|
|
15342
|
+
let off = parent.buffer.length;
|
|
15343
|
+
while (off > 0 && parent.buffer[off - 2] > parent.reducePos)
|
|
15344
|
+
off -= 4;
|
|
15345
|
+
let buffer = parent.buffer.slice(off), base = parent.bufferBase + off;
|
|
15346
|
+
while (parent && base == parent.bufferBase)
|
|
15347
|
+
parent = parent.parent;
|
|
15348
|
+
return new Stack(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, buffer, base, this.curContext, this.lookAhead, parent);
|
|
15349
|
+
}
|
|
15350
|
+
// Try to recover from an error by 'deleting' (ignoring) one token.
|
|
15351
|
+
/**
|
|
15352
|
+
@internal
|
|
15353
|
+
*/
|
|
15354
|
+
recoverByDelete(next, nextEnd) {
|
|
15355
|
+
let isNode2 = next <= this.p.parser.maxNode;
|
|
15356
|
+
if (isNode2)
|
|
15357
|
+
this.storeNode(next, this.pos, nextEnd, 4);
|
|
15358
|
+
this.storeNode(0, this.pos, nextEnd, isNode2 ? 8 : 4);
|
|
15359
|
+
this.pos = this.reducePos = nextEnd;
|
|
15360
|
+
this.score -= 190;
|
|
15361
|
+
}
|
|
15362
|
+
/**
|
|
15363
|
+
Check if the given term would be able to be shifted (optionally
|
|
15364
|
+
after some reductions) on this stack. This can be useful for
|
|
15365
|
+
external tokenizers that want to make sure they only provide a
|
|
15366
|
+
given token when it applies.
|
|
15367
|
+
*/
|
|
15368
|
+
canShift(term) {
|
|
15369
|
+
for (let sim = new SimulatedStack(this); ; ) {
|
|
15370
|
+
let action = this.p.parser.stateSlot(
|
|
15371
|
+
sim.state,
|
|
15372
|
+
4
|
|
15373
|
+
/* ParseState.DefaultReduce */
|
|
15374
|
+
) || this.p.parser.hasAction(sim.state, term);
|
|
15375
|
+
if (action == 0)
|
|
15376
|
+
return false;
|
|
15377
|
+
if ((action & 65536) == 0)
|
|
15378
|
+
return true;
|
|
15379
|
+
sim.reduce(action);
|
|
15380
|
+
}
|
|
15381
|
+
}
|
|
15382
|
+
// Apply up to Recover.MaxNext recovery actions that conceptually
|
|
15383
|
+
// inserts some missing token or rule.
|
|
15384
|
+
/**
|
|
15385
|
+
@internal
|
|
15386
|
+
*/
|
|
15387
|
+
recoverByInsert(next) {
|
|
15388
|
+
if (this.stack.length >= 300)
|
|
15389
|
+
return [];
|
|
15390
|
+
let nextStates = this.p.parser.nextStates(this.state);
|
|
15391
|
+
if (nextStates.length > 4 << 1 || this.stack.length >= 120) {
|
|
15392
|
+
let best = [];
|
|
15393
|
+
for (let i2 = 0, s3; i2 < nextStates.length; i2 += 2) {
|
|
15394
|
+
if ((s3 = nextStates[i2 + 1]) != this.state && this.p.parser.hasAction(s3, next))
|
|
15395
|
+
best.push(nextStates[i2], s3);
|
|
15396
|
+
}
|
|
15397
|
+
if (this.stack.length < 120)
|
|
15398
|
+
for (let i2 = 0; best.length < 4 << 1 && i2 < nextStates.length; i2 += 2) {
|
|
15399
|
+
let s3 = nextStates[i2 + 1];
|
|
15400
|
+
if (!best.some((v, i3) => i3 & 1 && v == s3))
|
|
15401
|
+
best.push(nextStates[i2], s3);
|
|
15402
|
+
}
|
|
15403
|
+
nextStates = best;
|
|
15404
|
+
}
|
|
15405
|
+
let result = [];
|
|
15406
|
+
for (let i2 = 0; i2 < nextStates.length && result.length < 4; i2 += 2) {
|
|
15407
|
+
let s3 = nextStates[i2 + 1];
|
|
15408
|
+
if (s3 == this.state)
|
|
15409
|
+
continue;
|
|
15410
|
+
let stack = this.split();
|
|
15411
|
+
stack.pushState(s3, this.pos);
|
|
15412
|
+
stack.storeNode(0, stack.pos, stack.pos, 4, true);
|
|
15413
|
+
stack.shiftContext(nextStates[i2], this.pos);
|
|
15414
|
+
stack.reducePos = this.pos;
|
|
15415
|
+
stack.score -= 200;
|
|
15416
|
+
result.push(stack);
|
|
15417
|
+
}
|
|
15418
|
+
return result;
|
|
15419
|
+
}
|
|
15420
|
+
// Force a reduce, if possible. Return false if that can't
|
|
15421
|
+
// be done.
|
|
15422
|
+
/**
|
|
15423
|
+
@internal
|
|
15424
|
+
*/
|
|
15425
|
+
forceReduce() {
|
|
15426
|
+
let { parser: parser2 } = this.p;
|
|
15427
|
+
let reduce = parser2.stateSlot(
|
|
15428
|
+
this.state,
|
|
15429
|
+
5
|
|
15430
|
+
/* ParseState.ForcedReduce */
|
|
15431
|
+
);
|
|
15432
|
+
if ((reduce & 65536) == 0)
|
|
15433
|
+
return false;
|
|
15434
|
+
if (!parser2.validAction(this.state, reduce)) {
|
|
15435
|
+
let depth = reduce >> 19, term = reduce & 65535;
|
|
15436
|
+
let target = this.stack.length - depth * 3;
|
|
15437
|
+
if (target < 0 || parser2.getGoto(this.stack[target], term, false) < 0) {
|
|
15438
|
+
let backup = this.findForcedReduction();
|
|
15439
|
+
if (backup == null)
|
|
15440
|
+
return false;
|
|
15441
|
+
reduce = backup;
|
|
15442
|
+
}
|
|
15443
|
+
this.storeNode(0, this.pos, this.pos, 4, true);
|
|
15444
|
+
this.score -= 100;
|
|
15445
|
+
}
|
|
15446
|
+
this.reducePos = this.pos;
|
|
15447
|
+
this.reduce(reduce);
|
|
15448
|
+
return true;
|
|
15449
|
+
}
|
|
15450
|
+
/**
|
|
15451
|
+
Try to scan through the automaton to find some kind of reduction
|
|
15452
|
+
that can be applied. Used when the regular ForcedReduce field
|
|
15453
|
+
isn't a valid action. @internal
|
|
15454
|
+
*/
|
|
15455
|
+
findForcedReduction() {
|
|
15456
|
+
let { parser: parser2 } = this.p, seen = [];
|
|
15457
|
+
let explore = (state2, depth) => {
|
|
15458
|
+
if (seen.includes(state2))
|
|
15459
|
+
return;
|
|
15460
|
+
seen.push(state2);
|
|
15461
|
+
return parser2.allActions(state2, (action) => {
|
|
15462
|
+
if (action & (262144 | 131072))
|
|
15463
|
+
;
|
|
15464
|
+
else if (action & 65536) {
|
|
15465
|
+
let rDepth = (action >> 19) - depth;
|
|
15466
|
+
if (rDepth > 1) {
|
|
15467
|
+
let term = action & 65535, target = this.stack.length - rDepth * 3;
|
|
15468
|
+
if (target >= 0 && parser2.getGoto(this.stack[target], term, false) >= 0)
|
|
15469
|
+
return rDepth << 19 | 65536 | term;
|
|
15470
|
+
}
|
|
15471
|
+
} else {
|
|
15472
|
+
let found = explore(action, depth + 1);
|
|
15473
|
+
if (found != null)
|
|
15474
|
+
return found;
|
|
15475
|
+
}
|
|
15476
|
+
});
|
|
15477
|
+
};
|
|
15478
|
+
return explore(this.state, 0);
|
|
15479
|
+
}
|
|
15480
|
+
/**
|
|
15481
|
+
@internal
|
|
15482
|
+
*/
|
|
15483
|
+
forceAll() {
|
|
15484
|
+
while (!this.p.parser.stateFlag(
|
|
15485
|
+
this.state,
|
|
15486
|
+
2
|
|
15487
|
+
/* StateFlag.Accepting */
|
|
15488
|
+
)) {
|
|
15489
|
+
if (!this.forceReduce()) {
|
|
15490
|
+
this.storeNode(0, this.pos, this.pos, 4, true);
|
|
15491
|
+
break;
|
|
15492
|
+
}
|
|
15493
|
+
}
|
|
15494
|
+
return this;
|
|
15495
|
+
}
|
|
15496
|
+
/**
|
|
15497
|
+
Check whether this state has no further actions (assumed to be a direct descendant of the
|
|
15498
|
+
top state, since any other states must be able to continue
|
|
15499
|
+
somehow). @internal
|
|
15500
|
+
*/
|
|
15501
|
+
get deadEnd() {
|
|
15502
|
+
if (this.stack.length != 3)
|
|
15503
|
+
return false;
|
|
15504
|
+
let { parser: parser2 } = this.p;
|
|
15505
|
+
return parser2.data[parser2.stateSlot(
|
|
15506
|
+
this.state,
|
|
15507
|
+
1
|
|
15508
|
+
/* ParseState.Actions */
|
|
15509
|
+
)] == 65535 && !parser2.stateSlot(
|
|
15510
|
+
this.state,
|
|
15511
|
+
4
|
|
15512
|
+
/* ParseState.DefaultReduce */
|
|
15513
|
+
);
|
|
15514
|
+
}
|
|
15515
|
+
/**
|
|
15516
|
+
Restart the stack (put it back in its start state). Only safe
|
|
15517
|
+
when this.stack.length == 3 (state is directly below the top
|
|
15518
|
+
state). @internal
|
|
15519
|
+
*/
|
|
15520
|
+
restart() {
|
|
15521
|
+
this.storeNode(0, this.pos, this.pos, 4, true);
|
|
15522
|
+
this.state = this.stack[0];
|
|
15523
|
+
this.stack.length = 0;
|
|
15524
|
+
}
|
|
15525
|
+
/**
|
|
15526
|
+
@internal
|
|
15527
|
+
*/
|
|
15528
|
+
sameState(other) {
|
|
15529
|
+
if (this.state != other.state || this.stack.length != other.stack.length)
|
|
15530
|
+
return false;
|
|
15531
|
+
for (let i2 = 0; i2 < this.stack.length; i2 += 3)
|
|
15532
|
+
if (this.stack[i2] != other.stack[i2])
|
|
15533
|
+
return false;
|
|
15534
|
+
return true;
|
|
15535
|
+
}
|
|
15536
|
+
/**
|
|
15537
|
+
Get the parser used by this stack.
|
|
15538
|
+
*/
|
|
15539
|
+
get parser() {
|
|
15540
|
+
return this.p.parser;
|
|
15541
|
+
}
|
|
15542
|
+
/**
|
|
15543
|
+
Test whether a given dialect (by numeric ID, as exported from
|
|
15544
|
+
the terms file) is enabled.
|
|
15545
|
+
*/
|
|
15546
|
+
dialectEnabled(dialectID) {
|
|
15547
|
+
return this.p.parser.dialect.flags[dialectID];
|
|
15548
|
+
}
|
|
15549
|
+
shiftContext(term, start2) {
|
|
15550
|
+
if (this.curContext)
|
|
15551
|
+
this.updateContext(this.curContext.tracker.shift(this.curContext.context, term, this, this.p.stream.reset(start2)));
|
|
15552
|
+
}
|
|
15553
|
+
reduceContext(term, start2) {
|
|
15554
|
+
if (this.curContext)
|
|
15555
|
+
this.updateContext(this.curContext.tracker.reduce(this.curContext.context, term, this, this.p.stream.reset(start2)));
|
|
15556
|
+
}
|
|
15557
|
+
/**
|
|
15558
|
+
@internal
|
|
15559
|
+
*/
|
|
15560
|
+
emitContext() {
|
|
15561
|
+
let last2 = this.buffer.length - 1;
|
|
15562
|
+
if (last2 < 0 || this.buffer[last2] != -3)
|
|
15563
|
+
this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);
|
|
15564
|
+
}
|
|
15565
|
+
/**
|
|
15566
|
+
@internal
|
|
15567
|
+
*/
|
|
15568
|
+
emitLookAhead() {
|
|
15569
|
+
let last2 = this.buffer.length - 1;
|
|
15570
|
+
if (last2 < 0 || this.buffer[last2] != -4)
|
|
15571
|
+
this.buffer.push(this.lookAhead, this.pos, this.pos, -4);
|
|
15572
|
+
}
|
|
15573
|
+
updateContext(context) {
|
|
15574
|
+
if (context != this.curContext.context) {
|
|
15575
|
+
let newCx = new StackContext(this.curContext.tracker, context);
|
|
15576
|
+
if (newCx.hash != this.curContext.hash)
|
|
15577
|
+
this.emitContext();
|
|
15578
|
+
this.curContext = newCx;
|
|
15579
|
+
}
|
|
15580
|
+
}
|
|
15581
|
+
/**
|
|
15582
|
+
@internal
|
|
15583
|
+
*/
|
|
15584
|
+
setLookAhead(lookAhead) {
|
|
15585
|
+
if (lookAhead > this.lookAhead) {
|
|
15586
|
+
this.emitLookAhead();
|
|
15587
|
+
this.lookAhead = lookAhead;
|
|
15588
|
+
}
|
|
15589
|
+
}
|
|
15590
|
+
/**
|
|
15591
|
+
@internal
|
|
15592
|
+
*/
|
|
15593
|
+
close() {
|
|
15594
|
+
if (this.curContext && this.curContext.tracker.strict)
|
|
15595
|
+
this.emitContext();
|
|
15596
|
+
if (this.lookAhead > 0)
|
|
15597
|
+
this.emitLookAhead();
|
|
15598
|
+
}
|
|
15599
|
+
}
|
|
15600
|
+
class StackContext {
|
|
15601
|
+
constructor(tracker, context) {
|
|
15602
|
+
this.tracker = tracker;
|
|
15603
|
+
this.context = context;
|
|
15604
|
+
this.hash = tracker.strict ? tracker.hash(context) : 0;
|
|
15605
|
+
}
|
|
15606
|
+
}
|
|
15607
|
+
class SimulatedStack {
|
|
15608
|
+
constructor(start2) {
|
|
15609
|
+
this.start = start2;
|
|
15610
|
+
this.state = start2.state;
|
|
15611
|
+
this.stack = start2.stack;
|
|
15612
|
+
this.base = this.stack.length;
|
|
15613
|
+
}
|
|
15614
|
+
reduce(action) {
|
|
15615
|
+
let term = action & 65535, depth = action >> 19;
|
|
15616
|
+
if (depth == 0) {
|
|
15617
|
+
if (this.stack == this.start.stack)
|
|
15618
|
+
this.stack = this.stack.slice();
|
|
15619
|
+
this.stack.push(this.state, 0, 0);
|
|
15620
|
+
this.base += 3;
|
|
15621
|
+
} else {
|
|
15622
|
+
this.base -= (depth - 1) * 3;
|
|
15623
|
+
}
|
|
15624
|
+
let goto = this.start.p.parser.getGoto(this.stack[this.base - 3], term, true);
|
|
15625
|
+
this.state = goto;
|
|
15626
|
+
}
|
|
15627
|
+
}
|
|
15628
|
+
class StackBufferCursor {
|
|
15629
|
+
constructor(stack, pos, index) {
|
|
15630
|
+
this.stack = stack;
|
|
15631
|
+
this.pos = pos;
|
|
15632
|
+
this.index = index;
|
|
15633
|
+
this.buffer = stack.buffer;
|
|
15634
|
+
if (this.index == 0)
|
|
15635
|
+
this.maybeNext();
|
|
15636
|
+
}
|
|
15637
|
+
static create(stack, pos = stack.bufferBase + stack.buffer.length) {
|
|
15638
|
+
return new StackBufferCursor(stack, pos, pos - stack.bufferBase);
|
|
15639
|
+
}
|
|
15640
|
+
maybeNext() {
|
|
15641
|
+
let next = this.stack.parent;
|
|
15642
|
+
if (next != null) {
|
|
15643
|
+
this.index = this.stack.bufferBase - next.bufferBase;
|
|
15644
|
+
this.stack = next;
|
|
15645
|
+
this.buffer = next.buffer;
|
|
15646
|
+
}
|
|
15647
|
+
}
|
|
15648
|
+
get id() {
|
|
15649
|
+
return this.buffer[this.index - 4];
|
|
15650
|
+
}
|
|
15651
|
+
get start() {
|
|
15652
|
+
return this.buffer[this.index - 3];
|
|
15653
|
+
}
|
|
15654
|
+
get end() {
|
|
15655
|
+
return this.buffer[this.index - 2];
|
|
15656
|
+
}
|
|
15657
|
+
get size() {
|
|
15658
|
+
return this.buffer[this.index - 1];
|
|
15659
|
+
}
|
|
15660
|
+
next() {
|
|
15661
|
+
this.index -= 4;
|
|
15662
|
+
this.pos -= 4;
|
|
15663
|
+
if (this.index == 0)
|
|
15664
|
+
this.maybeNext();
|
|
15665
|
+
}
|
|
15666
|
+
fork() {
|
|
15667
|
+
return new StackBufferCursor(this.stack, this.pos, this.index);
|
|
15668
|
+
}
|
|
15669
|
+
}
|
|
15670
|
+
function decodeArray(input, Type = Uint16Array) {
|
|
15671
|
+
if (typeof input != "string")
|
|
15672
|
+
return input;
|
|
15673
|
+
let array2 = null;
|
|
15674
|
+
for (let pos = 0, out = 0; pos < input.length; ) {
|
|
15675
|
+
let value = 0;
|
|
15676
|
+
for (; ; ) {
|
|
15677
|
+
let next = input.charCodeAt(pos++), stop = false;
|
|
15678
|
+
if (next == 126) {
|
|
15679
|
+
value = 65535;
|
|
15680
|
+
break;
|
|
15681
|
+
}
|
|
15682
|
+
if (next >= 92)
|
|
15683
|
+
next--;
|
|
15684
|
+
if (next >= 34)
|
|
15685
|
+
next--;
|
|
15686
|
+
let digit = next - 32;
|
|
15687
|
+
if (digit >= 46) {
|
|
15688
|
+
digit -= 46;
|
|
15689
|
+
stop = true;
|
|
15690
|
+
}
|
|
15691
|
+
value += digit;
|
|
15692
|
+
if (stop)
|
|
15693
|
+
break;
|
|
15694
|
+
value *= 46;
|
|
15695
|
+
}
|
|
15696
|
+
if (array2)
|
|
15697
|
+
array2[out++] = value;
|
|
15698
|
+
else
|
|
15699
|
+
array2 = new Type(value);
|
|
15700
|
+
}
|
|
15701
|
+
return array2;
|
|
15702
|
+
}
|
|
15703
|
+
class CachedToken {
|
|
15704
|
+
constructor() {
|
|
15705
|
+
this.start = -1;
|
|
15706
|
+
this.value = -1;
|
|
15707
|
+
this.end = -1;
|
|
15708
|
+
this.extended = -1;
|
|
15709
|
+
this.lookAhead = 0;
|
|
15710
|
+
this.mask = 0;
|
|
15711
|
+
this.context = 0;
|
|
15712
|
+
}
|
|
15713
|
+
}
|
|
15714
|
+
const nullToken = new CachedToken();
|
|
15715
|
+
class InputStream {
|
|
15716
|
+
/**
|
|
15717
|
+
@internal
|
|
15718
|
+
*/
|
|
15719
|
+
constructor(input, ranges) {
|
|
15720
|
+
this.input = input;
|
|
15721
|
+
this.ranges = ranges;
|
|
15722
|
+
this.chunk = "";
|
|
15723
|
+
this.chunkOff = 0;
|
|
15724
|
+
this.chunk2 = "";
|
|
15725
|
+
this.chunk2Pos = 0;
|
|
15726
|
+
this.next = -1;
|
|
15727
|
+
this.token = nullToken;
|
|
15728
|
+
this.rangeIndex = 0;
|
|
15729
|
+
this.pos = this.chunkPos = ranges[0].from;
|
|
15730
|
+
this.range = ranges[0];
|
|
15731
|
+
this.end = ranges[ranges.length - 1].to;
|
|
15732
|
+
this.readNext();
|
|
15733
|
+
}
|
|
15734
|
+
/**
|
|
15735
|
+
@internal
|
|
15736
|
+
*/
|
|
15737
|
+
resolveOffset(offset, assoc) {
|
|
15738
|
+
let range = this.range, index = this.rangeIndex;
|
|
15739
|
+
let pos = this.pos + offset;
|
|
15740
|
+
while (pos < range.from) {
|
|
15741
|
+
if (!index)
|
|
15742
|
+
return null;
|
|
15743
|
+
let next = this.ranges[--index];
|
|
15744
|
+
pos -= range.from - next.to;
|
|
15745
|
+
range = next;
|
|
15746
|
+
}
|
|
15747
|
+
while (assoc < 0 ? pos > range.to : pos >= range.to) {
|
|
15748
|
+
if (index == this.ranges.length - 1)
|
|
15749
|
+
return null;
|
|
15750
|
+
let next = this.ranges[++index];
|
|
15751
|
+
pos += next.from - range.to;
|
|
15752
|
+
range = next;
|
|
15753
|
+
}
|
|
15754
|
+
return pos;
|
|
15755
|
+
}
|
|
15756
|
+
/**
|
|
15757
|
+
@internal
|
|
15758
|
+
*/
|
|
15759
|
+
clipPos(pos) {
|
|
15760
|
+
if (pos >= this.range.from && pos < this.range.to)
|
|
15761
|
+
return pos;
|
|
15762
|
+
for (let range of this.ranges)
|
|
15763
|
+
if (range.to > pos)
|
|
15764
|
+
return Math.max(pos, range.from);
|
|
15765
|
+
return this.end;
|
|
15766
|
+
}
|
|
15767
|
+
/**
|
|
15768
|
+
Look at a code unit near the stream position. `.peek(0)` equals
|
|
15769
|
+
`.next`, `.peek(-1)` gives you the previous character, and so
|
|
15770
|
+
on.
|
|
15771
|
+
|
|
15772
|
+
Note that looking around during tokenizing creates dependencies
|
|
15773
|
+
on potentially far-away content, which may reduce the
|
|
15774
|
+
effectiveness incremental parsing—when looking forward—or even
|
|
15775
|
+
cause invalid reparses when looking backward more than 25 code
|
|
15776
|
+
units, since the library does not track lookbehind.
|
|
15777
|
+
*/
|
|
15778
|
+
peek(offset) {
|
|
15779
|
+
let idx = this.chunkOff + offset, pos, result;
|
|
15780
|
+
if (idx >= 0 && idx < this.chunk.length) {
|
|
15781
|
+
pos = this.pos + offset;
|
|
15782
|
+
result = this.chunk.charCodeAt(idx);
|
|
15783
|
+
} else {
|
|
15784
|
+
let resolved = this.resolveOffset(offset, 1);
|
|
15785
|
+
if (resolved == null)
|
|
15786
|
+
return -1;
|
|
15787
|
+
pos = resolved;
|
|
15788
|
+
if (pos >= this.chunk2Pos && pos < this.chunk2Pos + this.chunk2.length) {
|
|
15789
|
+
result = this.chunk2.charCodeAt(pos - this.chunk2Pos);
|
|
15790
|
+
} else {
|
|
15791
|
+
let i2 = this.rangeIndex, range = this.range;
|
|
15792
|
+
while (range.to <= pos)
|
|
15793
|
+
range = this.ranges[++i2];
|
|
15794
|
+
this.chunk2 = this.input.chunk(this.chunk2Pos = pos);
|
|
15795
|
+
if (pos + this.chunk2.length > range.to)
|
|
15796
|
+
this.chunk2 = this.chunk2.slice(0, range.to - pos);
|
|
15797
|
+
result = this.chunk2.charCodeAt(0);
|
|
15798
|
+
}
|
|
15799
|
+
}
|
|
15800
|
+
if (pos >= this.token.lookAhead)
|
|
15801
|
+
this.token.lookAhead = pos + 1;
|
|
15802
|
+
return result;
|
|
15803
|
+
}
|
|
15804
|
+
/**
|
|
15805
|
+
Accept a token. By default, the end of the token is set to the
|
|
15806
|
+
current stream position, but you can pass an offset (relative to
|
|
15807
|
+
the stream position) to change that.
|
|
15808
|
+
*/
|
|
15809
|
+
acceptToken(token, endOffset = 0) {
|
|
15810
|
+
let end = endOffset ? this.resolveOffset(endOffset, -1) : this.pos;
|
|
15811
|
+
if (end == null || end < this.token.start)
|
|
15812
|
+
throw new RangeError("Token end out of bounds");
|
|
15813
|
+
this.token.value = token;
|
|
15814
|
+
this.token.end = end;
|
|
15815
|
+
}
|
|
15816
|
+
/**
|
|
15817
|
+
Accept a token ending at a specific given position.
|
|
15818
|
+
*/
|
|
15819
|
+
acceptTokenTo(token, endPos) {
|
|
15820
|
+
this.token.value = token;
|
|
15821
|
+
this.token.end = endPos;
|
|
15822
|
+
}
|
|
15823
|
+
getChunk() {
|
|
15824
|
+
if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {
|
|
15825
|
+
let { chunk, chunkPos } = this;
|
|
15826
|
+
this.chunk = this.chunk2;
|
|
15827
|
+
this.chunkPos = this.chunk2Pos;
|
|
15828
|
+
this.chunk2 = chunk;
|
|
15829
|
+
this.chunk2Pos = chunkPos;
|
|
15830
|
+
this.chunkOff = this.pos - this.chunkPos;
|
|
15831
|
+
} else {
|
|
15832
|
+
this.chunk2 = this.chunk;
|
|
15833
|
+
this.chunk2Pos = this.chunkPos;
|
|
15834
|
+
let nextChunk = this.input.chunk(this.pos);
|
|
15835
|
+
let end = this.pos + nextChunk.length;
|
|
15836
|
+
this.chunk = end > this.range.to ? nextChunk.slice(0, this.range.to - this.pos) : nextChunk;
|
|
15837
|
+
this.chunkPos = this.pos;
|
|
15838
|
+
this.chunkOff = 0;
|
|
15839
|
+
}
|
|
15840
|
+
}
|
|
15841
|
+
readNext() {
|
|
15842
|
+
if (this.chunkOff >= this.chunk.length) {
|
|
15843
|
+
this.getChunk();
|
|
15844
|
+
if (this.chunkOff == this.chunk.length)
|
|
15845
|
+
return this.next = -1;
|
|
15846
|
+
}
|
|
15847
|
+
return this.next = this.chunk.charCodeAt(this.chunkOff);
|
|
15848
|
+
}
|
|
15849
|
+
/**
|
|
15850
|
+
Move the stream forward N (defaults to 1) code units. Returns
|
|
15851
|
+
the new value of [`next`](#lr.InputStream.next).
|
|
15852
|
+
*/
|
|
15853
|
+
advance(n = 1) {
|
|
15854
|
+
this.chunkOff += n;
|
|
15855
|
+
while (this.pos + n >= this.range.to) {
|
|
15856
|
+
if (this.rangeIndex == this.ranges.length - 1)
|
|
15857
|
+
return this.setDone();
|
|
15858
|
+
n -= this.range.to - this.pos;
|
|
15859
|
+
this.range = this.ranges[++this.rangeIndex];
|
|
15860
|
+
this.pos = this.range.from;
|
|
15861
|
+
}
|
|
15862
|
+
this.pos += n;
|
|
15863
|
+
if (this.pos >= this.token.lookAhead)
|
|
15864
|
+
this.token.lookAhead = this.pos + 1;
|
|
15865
|
+
return this.readNext();
|
|
15866
|
+
}
|
|
15867
|
+
setDone() {
|
|
15868
|
+
this.pos = this.chunkPos = this.end;
|
|
15869
|
+
this.range = this.ranges[this.rangeIndex = this.ranges.length - 1];
|
|
15870
|
+
this.chunk = "";
|
|
15871
|
+
return this.next = -1;
|
|
15872
|
+
}
|
|
15873
|
+
/**
|
|
15874
|
+
@internal
|
|
15875
|
+
*/
|
|
15876
|
+
reset(pos, token) {
|
|
15877
|
+
if (token) {
|
|
15878
|
+
this.token = token;
|
|
15879
|
+
token.start = pos;
|
|
15880
|
+
token.lookAhead = pos + 1;
|
|
15881
|
+
token.value = token.extended = -1;
|
|
15882
|
+
} else {
|
|
15883
|
+
this.token = nullToken;
|
|
15884
|
+
}
|
|
15885
|
+
if (this.pos != pos) {
|
|
15886
|
+
this.pos = pos;
|
|
15887
|
+
if (pos == this.end) {
|
|
15888
|
+
this.setDone();
|
|
15889
|
+
return this;
|
|
15890
|
+
}
|
|
15891
|
+
while (pos < this.range.from)
|
|
15892
|
+
this.range = this.ranges[--this.rangeIndex];
|
|
15893
|
+
while (pos >= this.range.to)
|
|
15894
|
+
this.range = this.ranges[++this.rangeIndex];
|
|
15895
|
+
if (pos >= this.chunkPos && pos < this.chunkPos + this.chunk.length) {
|
|
15896
|
+
this.chunkOff = pos - this.chunkPos;
|
|
15897
|
+
} else {
|
|
15898
|
+
this.chunk = "";
|
|
15899
|
+
this.chunkOff = 0;
|
|
15900
|
+
}
|
|
15901
|
+
this.readNext();
|
|
15902
|
+
}
|
|
15903
|
+
return this;
|
|
15904
|
+
}
|
|
15905
|
+
/**
|
|
15906
|
+
@internal
|
|
15907
|
+
*/
|
|
15908
|
+
read(from, to) {
|
|
15909
|
+
if (from >= this.chunkPos && to <= this.chunkPos + this.chunk.length)
|
|
15910
|
+
return this.chunk.slice(from - this.chunkPos, to - this.chunkPos);
|
|
15911
|
+
if (from >= this.chunk2Pos && to <= this.chunk2Pos + this.chunk2.length)
|
|
15912
|
+
return this.chunk2.slice(from - this.chunk2Pos, to - this.chunk2Pos);
|
|
15913
|
+
if (from >= this.range.from && to <= this.range.to)
|
|
15914
|
+
return this.input.read(from, to);
|
|
15915
|
+
let result = "";
|
|
15916
|
+
for (let r of this.ranges) {
|
|
15917
|
+
if (r.from >= to)
|
|
15918
|
+
break;
|
|
15919
|
+
if (r.to > from)
|
|
15920
|
+
result += this.input.read(Math.max(r.from, from), Math.min(r.to, to));
|
|
15921
|
+
}
|
|
15922
|
+
return result;
|
|
15923
|
+
}
|
|
15924
|
+
}
|
|
15925
|
+
class TokenGroup {
|
|
15926
|
+
constructor(data, id2) {
|
|
15927
|
+
this.data = data;
|
|
15928
|
+
this.id = id2;
|
|
15929
|
+
}
|
|
15930
|
+
token(input, stack) {
|
|
15931
|
+
let { parser: parser2 } = stack.p;
|
|
15932
|
+
readToken(this.data, input, stack, this.id, parser2.data, parser2.tokenPrecTable);
|
|
15933
|
+
}
|
|
15934
|
+
}
|
|
15935
|
+
TokenGroup.prototype.contextual = TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;
|
|
15936
|
+
TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;
|
|
15937
|
+
class ExternalTokenizer {
|
|
15938
|
+
/**
|
|
15939
|
+
Create a tokenizer. The first argument is the function that,
|
|
15940
|
+
given an input stream, scans for the types of tokens it
|
|
15941
|
+
recognizes at the stream's position, and calls
|
|
15942
|
+
[`acceptToken`](#lr.InputStream.acceptToken) when it finds
|
|
15943
|
+
one.
|
|
15944
|
+
*/
|
|
15945
|
+
constructor(token, options = {}) {
|
|
15946
|
+
this.token = token;
|
|
15947
|
+
this.contextual = !!options.contextual;
|
|
15948
|
+
this.fallback = !!options.fallback;
|
|
15949
|
+
this.extend = !!options.extend;
|
|
15950
|
+
}
|
|
15951
|
+
}
|
|
15952
|
+
function readToken(data, input, stack, group, precTable, precOffset) {
|
|
15953
|
+
let state2 = 0, groupMask = 1 << group, { dialect } = stack.p.parser;
|
|
15954
|
+
scan:
|
|
15955
|
+
for (; ; ) {
|
|
15956
|
+
if ((groupMask & data[state2]) == 0)
|
|
15957
|
+
break;
|
|
15958
|
+
let accEnd = data[state2 + 1];
|
|
15959
|
+
for (let i2 = state2 + 3; i2 < accEnd; i2 += 2)
|
|
15960
|
+
if ((data[i2 + 1] & groupMask) > 0) {
|
|
15961
|
+
let term = data[i2];
|
|
15962
|
+
if (dialect.allows(term) && (input.token.value == -1 || input.token.value == term || overrides(term, input.token.value, precTable, precOffset))) {
|
|
15963
|
+
input.acceptToken(term);
|
|
15964
|
+
break;
|
|
15965
|
+
}
|
|
15966
|
+
}
|
|
15967
|
+
let next = input.next, low = 0, high = data[state2 + 2];
|
|
15968
|
+
if (input.next < 0 && high > low && data[accEnd + high * 3 - 3] == 65535) {
|
|
15969
|
+
state2 = data[accEnd + high * 3 - 1];
|
|
15970
|
+
continue scan;
|
|
15971
|
+
}
|
|
15972
|
+
for (; low < high; ) {
|
|
15973
|
+
let mid = low + high >> 1;
|
|
15974
|
+
let index = accEnd + mid + (mid << 1);
|
|
15975
|
+
let from = data[index], to = data[index + 1] || 65536;
|
|
15976
|
+
if (next < from)
|
|
15977
|
+
high = mid;
|
|
15978
|
+
else if (next >= to)
|
|
15979
|
+
low = mid + 1;
|
|
15980
|
+
else {
|
|
15981
|
+
state2 = data[index + 2];
|
|
15982
|
+
input.advance();
|
|
15983
|
+
continue scan;
|
|
15984
|
+
}
|
|
15985
|
+
}
|
|
15986
|
+
break;
|
|
15987
|
+
}
|
|
15988
|
+
}
|
|
15989
|
+
function findOffset(data, start2, term) {
|
|
15990
|
+
for (let i2 = start2, next; (next = data[i2]) != 65535; i2++)
|
|
15991
|
+
if (next == term)
|
|
15992
|
+
return i2 - start2;
|
|
15993
|
+
return -1;
|
|
15994
|
+
}
|
|
15995
|
+
function overrides(token, prev, tableData, tableOffset) {
|
|
15996
|
+
let iPrev = findOffset(tableData, tableOffset, prev);
|
|
15997
|
+
return iPrev < 0 || findOffset(tableData, tableOffset, token) < iPrev;
|
|
15998
|
+
}
|
|
15999
|
+
const verbose = typeof process != "undefined" && process.env && /\bparse\b/.test({}.LOG);
|
|
16000
|
+
let stackIDs = null;
|
|
16001
|
+
function cutAt(tree, pos, side) {
|
|
16002
|
+
let cursor2 = tree.cursor(IterMode.IncludeAnonymous);
|
|
16003
|
+
cursor2.moveTo(pos);
|
|
16004
|
+
for (; ; ) {
|
|
16005
|
+
if (!(side < 0 ? cursor2.childBefore(pos) : cursor2.childAfter(pos)))
|
|
16006
|
+
for (; ; ) {
|
|
16007
|
+
if ((side < 0 ? cursor2.to < pos : cursor2.from > pos) && !cursor2.type.isError)
|
|
16008
|
+
return side < 0 ? Math.max(0, Math.min(
|
|
16009
|
+
cursor2.to - 1,
|
|
16010
|
+
pos - 25
|
|
16011
|
+
/* Lookahead.Margin */
|
|
16012
|
+
)) : Math.min(tree.length, Math.max(
|
|
16013
|
+
cursor2.from + 1,
|
|
16014
|
+
pos + 25
|
|
16015
|
+
/* Lookahead.Margin */
|
|
16016
|
+
));
|
|
16017
|
+
if (side < 0 ? cursor2.prevSibling() : cursor2.nextSibling())
|
|
16018
|
+
break;
|
|
16019
|
+
if (!cursor2.parent())
|
|
16020
|
+
return side < 0 ? 0 : tree.length;
|
|
16021
|
+
}
|
|
16022
|
+
}
|
|
16023
|
+
}
|
|
16024
|
+
class FragmentCursor {
|
|
16025
|
+
constructor(fragments, nodeSet) {
|
|
16026
|
+
this.fragments = fragments;
|
|
16027
|
+
this.nodeSet = nodeSet;
|
|
16028
|
+
this.i = 0;
|
|
16029
|
+
this.fragment = null;
|
|
16030
|
+
this.safeFrom = -1;
|
|
16031
|
+
this.safeTo = -1;
|
|
16032
|
+
this.trees = [];
|
|
16033
|
+
this.start = [];
|
|
16034
|
+
this.index = [];
|
|
16035
|
+
this.nextFragment();
|
|
16036
|
+
}
|
|
16037
|
+
nextFragment() {
|
|
16038
|
+
let fr = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];
|
|
16039
|
+
if (fr) {
|
|
16040
|
+
this.safeFrom = fr.openStart ? cutAt(fr.tree, fr.from + fr.offset, 1) - fr.offset : fr.from;
|
|
16041
|
+
this.safeTo = fr.openEnd ? cutAt(fr.tree, fr.to + fr.offset, -1) - fr.offset : fr.to;
|
|
16042
|
+
while (this.trees.length) {
|
|
16043
|
+
this.trees.pop();
|
|
16044
|
+
this.start.pop();
|
|
16045
|
+
this.index.pop();
|
|
16046
|
+
}
|
|
16047
|
+
this.trees.push(fr.tree);
|
|
16048
|
+
this.start.push(-fr.offset);
|
|
16049
|
+
this.index.push(0);
|
|
16050
|
+
this.nextStart = this.safeFrom;
|
|
16051
|
+
} else {
|
|
16052
|
+
this.nextStart = 1e9;
|
|
16053
|
+
}
|
|
16054
|
+
}
|
|
16055
|
+
// `pos` must be >= any previously given `pos` for this cursor
|
|
16056
|
+
nodeAt(pos) {
|
|
16057
|
+
if (pos < this.nextStart)
|
|
16058
|
+
return null;
|
|
16059
|
+
while (this.fragment && this.safeTo <= pos)
|
|
16060
|
+
this.nextFragment();
|
|
16061
|
+
if (!this.fragment)
|
|
16062
|
+
return null;
|
|
16063
|
+
for (; ; ) {
|
|
16064
|
+
let last2 = this.trees.length - 1;
|
|
16065
|
+
if (last2 < 0) {
|
|
16066
|
+
this.nextFragment();
|
|
16067
|
+
return null;
|
|
16068
|
+
}
|
|
16069
|
+
let top = this.trees[last2], index = this.index[last2];
|
|
16070
|
+
if (index == top.children.length) {
|
|
16071
|
+
this.trees.pop();
|
|
16072
|
+
this.start.pop();
|
|
16073
|
+
this.index.pop();
|
|
16074
|
+
continue;
|
|
16075
|
+
}
|
|
16076
|
+
let next = top.children[index];
|
|
16077
|
+
let start2 = this.start[last2] + top.positions[index];
|
|
16078
|
+
if (start2 > pos) {
|
|
16079
|
+
this.nextStart = start2;
|
|
16080
|
+
return null;
|
|
16081
|
+
}
|
|
16082
|
+
if (next instanceof Tree) {
|
|
16083
|
+
if (start2 == pos) {
|
|
16084
|
+
if (start2 < this.safeFrom)
|
|
16085
|
+
return null;
|
|
16086
|
+
let end = start2 + next.length;
|
|
16087
|
+
if (end <= this.safeTo) {
|
|
16088
|
+
let lookAhead = next.prop(NodeProp.lookAhead);
|
|
16089
|
+
if (!lookAhead || end + lookAhead < this.fragment.to)
|
|
16090
|
+
return next;
|
|
16091
|
+
}
|
|
16092
|
+
}
|
|
16093
|
+
this.index[last2]++;
|
|
16094
|
+
if (start2 + next.length >= Math.max(this.safeFrom, pos)) {
|
|
16095
|
+
this.trees.push(next);
|
|
16096
|
+
this.start.push(start2);
|
|
16097
|
+
this.index.push(0);
|
|
16098
|
+
}
|
|
16099
|
+
} else {
|
|
16100
|
+
this.index[last2]++;
|
|
16101
|
+
this.nextStart = start2 + next.length;
|
|
16102
|
+
}
|
|
16103
|
+
}
|
|
16104
|
+
}
|
|
16105
|
+
}
|
|
16106
|
+
class TokenCache {
|
|
16107
|
+
constructor(parser2, stream) {
|
|
16108
|
+
this.stream = stream;
|
|
16109
|
+
this.tokens = [];
|
|
16110
|
+
this.mainToken = null;
|
|
16111
|
+
this.actions = [];
|
|
16112
|
+
this.tokens = parser2.tokenizers.map((_2) => new CachedToken());
|
|
16113
|
+
}
|
|
16114
|
+
getActions(stack) {
|
|
16115
|
+
let actionIndex = 0;
|
|
16116
|
+
let main = null;
|
|
16117
|
+
let { parser: parser2 } = stack.p, { tokenizers } = parser2;
|
|
16118
|
+
let mask = parser2.stateSlot(
|
|
16119
|
+
stack.state,
|
|
16120
|
+
3
|
|
16121
|
+
/* ParseState.TokenizerMask */
|
|
16122
|
+
);
|
|
16123
|
+
let context = stack.curContext ? stack.curContext.hash : 0;
|
|
16124
|
+
let lookAhead = 0;
|
|
16125
|
+
for (let i2 = 0; i2 < tokenizers.length; i2++) {
|
|
16126
|
+
if ((1 << i2 & mask) == 0)
|
|
16127
|
+
continue;
|
|
16128
|
+
let tokenizer = tokenizers[i2], token = this.tokens[i2];
|
|
16129
|
+
if (main && !tokenizer.fallback)
|
|
16130
|
+
continue;
|
|
16131
|
+
if (tokenizer.contextual || token.start != stack.pos || token.mask != mask || token.context != context) {
|
|
16132
|
+
this.updateCachedToken(token, tokenizer, stack);
|
|
16133
|
+
token.mask = mask;
|
|
16134
|
+
token.context = context;
|
|
16135
|
+
}
|
|
16136
|
+
if (token.lookAhead > token.end + 25)
|
|
16137
|
+
lookAhead = Math.max(token.lookAhead, lookAhead);
|
|
16138
|
+
if (token.value != 0) {
|
|
16139
|
+
let startIndex = actionIndex;
|
|
16140
|
+
if (token.extended > -1)
|
|
16141
|
+
actionIndex = this.addActions(stack, token.extended, token.end, actionIndex);
|
|
16142
|
+
actionIndex = this.addActions(stack, token.value, token.end, actionIndex);
|
|
16143
|
+
if (!tokenizer.extend) {
|
|
16144
|
+
main = token;
|
|
16145
|
+
if (actionIndex > startIndex)
|
|
16146
|
+
break;
|
|
16147
|
+
}
|
|
16148
|
+
}
|
|
16149
|
+
}
|
|
16150
|
+
while (this.actions.length > actionIndex)
|
|
16151
|
+
this.actions.pop();
|
|
16152
|
+
if (lookAhead)
|
|
16153
|
+
stack.setLookAhead(lookAhead);
|
|
16154
|
+
if (!main && stack.pos == this.stream.end) {
|
|
16155
|
+
main = new CachedToken();
|
|
16156
|
+
main.value = stack.p.parser.eofTerm;
|
|
16157
|
+
main.start = main.end = stack.pos;
|
|
16158
|
+
actionIndex = this.addActions(stack, main.value, main.end, actionIndex);
|
|
16159
|
+
}
|
|
16160
|
+
this.mainToken = main;
|
|
16161
|
+
return this.actions;
|
|
16162
|
+
}
|
|
16163
|
+
getMainToken(stack) {
|
|
16164
|
+
if (this.mainToken)
|
|
16165
|
+
return this.mainToken;
|
|
16166
|
+
let main = new CachedToken(), { pos, p } = stack;
|
|
16167
|
+
main.start = pos;
|
|
16168
|
+
main.end = Math.min(pos + 1, p.stream.end);
|
|
16169
|
+
main.value = pos == p.stream.end ? p.parser.eofTerm : 0;
|
|
16170
|
+
return main;
|
|
16171
|
+
}
|
|
16172
|
+
updateCachedToken(token, tokenizer, stack) {
|
|
16173
|
+
let start2 = this.stream.clipPos(stack.pos);
|
|
16174
|
+
tokenizer.token(this.stream.reset(start2, token), stack);
|
|
16175
|
+
if (token.value > -1) {
|
|
16176
|
+
let { parser: parser2 } = stack.p;
|
|
16177
|
+
for (let i2 = 0; i2 < parser2.specialized.length; i2++)
|
|
16178
|
+
if (parser2.specialized[i2] == token.value) {
|
|
16179
|
+
let result = parser2.specializers[i2](this.stream.read(token.start, token.end), stack);
|
|
16180
|
+
if (result >= 0 && stack.p.parser.dialect.allows(result >> 1)) {
|
|
16181
|
+
if ((result & 1) == 0)
|
|
16182
|
+
token.value = result >> 1;
|
|
16183
|
+
else
|
|
16184
|
+
token.extended = result >> 1;
|
|
16185
|
+
break;
|
|
16186
|
+
}
|
|
16187
|
+
}
|
|
16188
|
+
} else {
|
|
16189
|
+
token.value = 0;
|
|
16190
|
+
token.end = this.stream.clipPos(start2 + 1);
|
|
16191
|
+
}
|
|
16192
|
+
}
|
|
16193
|
+
putAction(action, token, end, index) {
|
|
16194
|
+
for (let i2 = 0; i2 < index; i2 += 3)
|
|
16195
|
+
if (this.actions[i2] == action)
|
|
16196
|
+
return index;
|
|
16197
|
+
this.actions[index++] = action;
|
|
16198
|
+
this.actions[index++] = token;
|
|
16199
|
+
this.actions[index++] = end;
|
|
16200
|
+
return index;
|
|
16201
|
+
}
|
|
16202
|
+
addActions(stack, token, end, index) {
|
|
16203
|
+
let { state: state2 } = stack, { parser: parser2 } = stack.p, { data } = parser2;
|
|
16204
|
+
for (let set2 = 0; set2 < 2; set2++) {
|
|
16205
|
+
for (let i2 = parser2.stateSlot(
|
|
16206
|
+
state2,
|
|
16207
|
+
set2 ? 2 : 1
|
|
16208
|
+
/* ParseState.Actions */
|
|
16209
|
+
); ; i2 += 3) {
|
|
16210
|
+
if (data[i2] == 65535) {
|
|
16211
|
+
if (data[i2 + 1] == 1) {
|
|
16212
|
+
i2 = pair(data, i2 + 2);
|
|
16213
|
+
} else {
|
|
16214
|
+
if (index == 0 && data[i2 + 1] == 2)
|
|
16215
|
+
index = this.putAction(pair(data, i2 + 2), token, end, index);
|
|
16216
|
+
break;
|
|
16217
|
+
}
|
|
16218
|
+
}
|
|
16219
|
+
if (data[i2] == token)
|
|
16220
|
+
index = this.putAction(pair(data, i2 + 1), token, end, index);
|
|
16221
|
+
}
|
|
16222
|
+
}
|
|
16223
|
+
return index;
|
|
16224
|
+
}
|
|
16225
|
+
}
|
|
16226
|
+
class Parse {
|
|
16227
|
+
constructor(parser2, input, fragments, ranges) {
|
|
16228
|
+
this.parser = parser2;
|
|
16229
|
+
this.input = input;
|
|
16230
|
+
this.ranges = ranges;
|
|
16231
|
+
this.recovering = 0;
|
|
16232
|
+
this.nextStackID = 9812;
|
|
16233
|
+
this.minStackPos = 0;
|
|
16234
|
+
this.reused = [];
|
|
16235
|
+
this.stoppedAt = null;
|
|
16236
|
+
this.lastBigReductionStart = -1;
|
|
16237
|
+
this.lastBigReductionSize = 0;
|
|
16238
|
+
this.bigReductionCount = 0;
|
|
16239
|
+
this.stream = new InputStream(input, ranges);
|
|
16240
|
+
this.tokens = new TokenCache(parser2, this.stream);
|
|
16241
|
+
this.topTerm = parser2.top[1];
|
|
16242
|
+
let { from } = ranges[0];
|
|
16243
|
+
this.stacks = [Stack.start(this, parser2.top[0], from)];
|
|
16244
|
+
this.fragments = fragments.length && this.stream.end - from > parser2.bufferLength * 4 ? new FragmentCursor(fragments, parser2.nodeSet) : null;
|
|
16245
|
+
}
|
|
16246
|
+
get parsedPos() {
|
|
16247
|
+
return this.minStackPos;
|
|
16248
|
+
}
|
|
16249
|
+
// Move the parser forward. This will process all parse stacks at
|
|
16250
|
+
// `this.pos` and try to advance them to a further position. If no
|
|
16251
|
+
// stack for such a position is found, it'll start error-recovery.
|
|
16252
|
+
//
|
|
16253
|
+
// When the parse is finished, this will return a syntax tree. When
|
|
16254
|
+
// not, it returns `null`.
|
|
16255
|
+
advance() {
|
|
16256
|
+
let stacks = this.stacks, pos = this.minStackPos;
|
|
16257
|
+
let newStacks = this.stacks = [];
|
|
16258
|
+
let stopped, stoppedTokens;
|
|
16259
|
+
if (this.bigReductionCount > 300 && stacks.length == 1) {
|
|
16260
|
+
let [s3] = stacks;
|
|
16261
|
+
while (s3.forceReduce() && s3.stack.length && s3.stack[s3.stack.length - 2] >= this.lastBigReductionStart) {
|
|
16262
|
+
}
|
|
16263
|
+
this.bigReductionCount = this.lastBigReductionSize = 0;
|
|
16264
|
+
}
|
|
16265
|
+
for (let i2 = 0; i2 < stacks.length; i2++) {
|
|
16266
|
+
let stack = stacks[i2];
|
|
16267
|
+
for (; ; ) {
|
|
16268
|
+
this.tokens.mainToken = null;
|
|
16269
|
+
if (stack.pos > pos) {
|
|
16270
|
+
newStacks.push(stack);
|
|
16271
|
+
} else if (this.advanceStack(stack, newStacks, stacks)) {
|
|
16272
|
+
continue;
|
|
16273
|
+
} else {
|
|
16274
|
+
if (!stopped) {
|
|
16275
|
+
stopped = [];
|
|
16276
|
+
stoppedTokens = [];
|
|
16277
|
+
}
|
|
16278
|
+
stopped.push(stack);
|
|
16279
|
+
let tok = this.tokens.getMainToken(stack);
|
|
16280
|
+
stoppedTokens.push(tok.value, tok.end);
|
|
16281
|
+
}
|
|
16282
|
+
break;
|
|
16283
|
+
}
|
|
16284
|
+
}
|
|
16285
|
+
if (!newStacks.length) {
|
|
16286
|
+
let finished = stopped && findFinished(stopped);
|
|
16287
|
+
if (finished) {
|
|
16288
|
+
if (verbose)
|
|
16289
|
+
console.log("Finish with " + this.stackID(finished));
|
|
16290
|
+
return this.stackToTree(finished);
|
|
16291
|
+
}
|
|
16292
|
+
if (this.parser.strict) {
|
|
16293
|
+
if (verbose && stopped)
|
|
16294
|
+
console.log("Stuck with token " + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : "none"));
|
|
16295
|
+
throw new SyntaxError("No parse at " + pos);
|
|
16296
|
+
}
|
|
16297
|
+
if (!this.recovering)
|
|
16298
|
+
this.recovering = 5;
|
|
16299
|
+
}
|
|
16300
|
+
if (this.recovering && stopped) {
|
|
16301
|
+
let finished = this.stoppedAt != null && stopped[0].pos > this.stoppedAt ? stopped[0] : this.runRecovery(stopped, stoppedTokens, newStacks);
|
|
16302
|
+
if (finished) {
|
|
16303
|
+
if (verbose)
|
|
16304
|
+
console.log("Force-finish " + this.stackID(finished));
|
|
16305
|
+
return this.stackToTree(finished.forceAll());
|
|
16306
|
+
}
|
|
16307
|
+
}
|
|
16308
|
+
if (this.recovering) {
|
|
16309
|
+
let maxRemaining = this.recovering == 1 ? 1 : this.recovering * 3;
|
|
16310
|
+
if (newStacks.length > maxRemaining) {
|
|
16311
|
+
newStacks.sort((a3, b2) => b2.score - a3.score);
|
|
16312
|
+
while (newStacks.length > maxRemaining)
|
|
16313
|
+
newStacks.pop();
|
|
16314
|
+
}
|
|
16315
|
+
if (newStacks.some((s3) => s3.reducePos > pos))
|
|
16316
|
+
this.recovering--;
|
|
16317
|
+
} else if (newStacks.length > 1) {
|
|
16318
|
+
outer:
|
|
16319
|
+
for (let i2 = 0; i2 < newStacks.length - 1; i2++) {
|
|
16320
|
+
let stack = newStacks[i2];
|
|
16321
|
+
for (let j = i2 + 1; j < newStacks.length; j++) {
|
|
16322
|
+
let other = newStacks[j];
|
|
16323
|
+
if (stack.sameState(other) || stack.buffer.length > 500 && other.buffer.length > 500) {
|
|
16324
|
+
if ((stack.score - other.score || stack.buffer.length - other.buffer.length) > 0) {
|
|
16325
|
+
newStacks.splice(j--, 1);
|
|
16326
|
+
} else {
|
|
16327
|
+
newStacks.splice(i2--, 1);
|
|
16328
|
+
continue outer;
|
|
16329
|
+
}
|
|
16330
|
+
}
|
|
16331
|
+
}
|
|
16332
|
+
}
|
|
16333
|
+
if (newStacks.length > 12)
|
|
16334
|
+
newStacks.splice(
|
|
16335
|
+
12,
|
|
16336
|
+
newStacks.length - 12
|
|
16337
|
+
/* Rec.MaxStackCount */
|
|
16338
|
+
);
|
|
16339
|
+
}
|
|
16340
|
+
this.minStackPos = newStacks[0].pos;
|
|
16341
|
+
for (let i2 = 1; i2 < newStacks.length; i2++)
|
|
16342
|
+
if (newStacks[i2].pos < this.minStackPos)
|
|
16343
|
+
this.minStackPos = newStacks[i2].pos;
|
|
16344
|
+
return null;
|
|
16345
|
+
}
|
|
16346
|
+
stopAt(pos) {
|
|
16347
|
+
if (this.stoppedAt != null && this.stoppedAt < pos)
|
|
16348
|
+
throw new RangeError("Can't move stoppedAt forward");
|
|
16349
|
+
this.stoppedAt = pos;
|
|
16350
|
+
}
|
|
16351
|
+
// Returns an updated version of the given stack, or null if the
|
|
16352
|
+
// stack can't advance normally. When `split` and `stacks` are
|
|
16353
|
+
// given, stacks split off by ambiguous operations will be pushed to
|
|
16354
|
+
// `split`, or added to `stacks` if they move `pos` forward.
|
|
16355
|
+
advanceStack(stack, stacks, split) {
|
|
16356
|
+
let start2 = stack.pos, { parser: parser2 } = this;
|
|
16357
|
+
let base = verbose ? this.stackID(stack) + " -> " : "";
|
|
16358
|
+
if (this.stoppedAt != null && start2 > this.stoppedAt)
|
|
16359
|
+
return stack.forceReduce() ? stack : null;
|
|
16360
|
+
if (this.fragments) {
|
|
16361
|
+
let strictCx = stack.curContext && stack.curContext.tracker.strict, cxHash = strictCx ? stack.curContext.hash : 0;
|
|
16362
|
+
for (let cached = this.fragments.nodeAt(start2); cached; ) {
|
|
16363
|
+
let match2 = this.parser.nodeSet.types[cached.type.id] == cached.type ? parser2.getGoto(stack.state, cached.type.id) : -1;
|
|
16364
|
+
if (match2 > -1 && cached.length && (!strictCx || (cached.prop(NodeProp.contextHash) || 0) == cxHash)) {
|
|
16365
|
+
stack.useNode(cached, match2);
|
|
16366
|
+
if (verbose)
|
|
16367
|
+
console.log(base + this.stackID(stack) + ` (via reuse of ${parser2.getName(cached.type.id)})`);
|
|
16368
|
+
return true;
|
|
16369
|
+
}
|
|
16370
|
+
if (!(cached instanceof Tree) || cached.children.length == 0 || cached.positions[0] > 0)
|
|
16371
|
+
break;
|
|
16372
|
+
let inner = cached.children[0];
|
|
16373
|
+
if (inner instanceof Tree && cached.positions[0] == 0)
|
|
16374
|
+
cached = inner;
|
|
16375
|
+
else
|
|
16376
|
+
break;
|
|
16377
|
+
}
|
|
16378
|
+
}
|
|
16379
|
+
let defaultReduce = parser2.stateSlot(
|
|
16380
|
+
stack.state,
|
|
16381
|
+
4
|
|
16382
|
+
/* ParseState.DefaultReduce */
|
|
16383
|
+
);
|
|
16384
|
+
if (defaultReduce > 0) {
|
|
16385
|
+
stack.reduce(defaultReduce);
|
|
16386
|
+
if (verbose)
|
|
16387
|
+
console.log(base + this.stackID(stack) + ` (via always-reduce ${parser2.getName(
|
|
16388
|
+
defaultReduce & 65535
|
|
16389
|
+
/* Action.ValueMask */
|
|
16390
|
+
)})`);
|
|
16391
|
+
return true;
|
|
16392
|
+
}
|
|
16393
|
+
if (stack.stack.length >= 8400) {
|
|
16394
|
+
while (stack.stack.length > 6e3 && stack.forceReduce()) {
|
|
16395
|
+
}
|
|
16396
|
+
}
|
|
16397
|
+
let actions = this.tokens.getActions(stack);
|
|
16398
|
+
for (let i2 = 0; i2 < actions.length; ) {
|
|
16399
|
+
let action = actions[i2++], term = actions[i2++], end = actions[i2++];
|
|
16400
|
+
let last2 = i2 == actions.length || !split;
|
|
16401
|
+
let localStack = last2 ? stack : stack.split();
|
|
16402
|
+
let main = this.tokens.mainToken;
|
|
16403
|
+
localStack.apply(action, term, main ? main.start : localStack.pos, end);
|
|
16404
|
+
if (verbose)
|
|
16405
|
+
console.log(base + this.stackID(localStack) + ` (via ${(action & 65536) == 0 ? "shift" : `reduce of ${parser2.getName(
|
|
16406
|
+
action & 65535
|
|
16407
|
+
/* Action.ValueMask */
|
|
16408
|
+
)}`} for ${parser2.getName(term)} @ ${start2}${localStack == stack ? "" : ", split"})`);
|
|
16409
|
+
if (last2)
|
|
16410
|
+
return true;
|
|
16411
|
+
else if (localStack.pos > start2)
|
|
16412
|
+
stacks.push(localStack);
|
|
16413
|
+
else
|
|
16414
|
+
split.push(localStack);
|
|
16415
|
+
}
|
|
16416
|
+
return false;
|
|
16417
|
+
}
|
|
16418
|
+
// Advance a given stack forward as far as it will go. Returns the
|
|
16419
|
+
// (possibly updated) stack if it got stuck, or null if it moved
|
|
16420
|
+
// forward and was given to `pushStackDedup`.
|
|
16421
|
+
advanceFully(stack, newStacks) {
|
|
16422
|
+
let pos = stack.pos;
|
|
16423
|
+
for (; ; ) {
|
|
16424
|
+
if (!this.advanceStack(stack, null, null))
|
|
16425
|
+
return false;
|
|
16426
|
+
if (stack.pos > pos) {
|
|
16427
|
+
pushStackDedup(stack, newStacks);
|
|
16428
|
+
return true;
|
|
16429
|
+
}
|
|
16430
|
+
}
|
|
16431
|
+
}
|
|
16432
|
+
runRecovery(stacks, tokens, newStacks) {
|
|
16433
|
+
let finished = null, restarted = false;
|
|
16434
|
+
for (let i2 = 0; i2 < stacks.length; i2++) {
|
|
16435
|
+
let stack = stacks[i2], token = tokens[i2 << 1], tokenEnd = tokens[(i2 << 1) + 1];
|
|
16436
|
+
let base = verbose ? this.stackID(stack) + " -> " : "";
|
|
16437
|
+
if (stack.deadEnd) {
|
|
16438
|
+
if (restarted)
|
|
16439
|
+
continue;
|
|
16440
|
+
restarted = true;
|
|
16441
|
+
stack.restart();
|
|
16442
|
+
if (verbose)
|
|
16443
|
+
console.log(base + this.stackID(stack) + " (restarted)");
|
|
16444
|
+
let done = this.advanceFully(stack, newStacks);
|
|
16445
|
+
if (done)
|
|
16446
|
+
continue;
|
|
16447
|
+
}
|
|
16448
|
+
let force = stack.split(), forceBase = base;
|
|
16449
|
+
for (let j = 0; force.forceReduce() && j < 10; j++) {
|
|
16450
|
+
if (verbose)
|
|
16451
|
+
console.log(forceBase + this.stackID(force) + " (via force-reduce)");
|
|
16452
|
+
let done = this.advanceFully(force, newStacks);
|
|
16453
|
+
if (done)
|
|
16454
|
+
break;
|
|
16455
|
+
if (verbose)
|
|
16456
|
+
forceBase = this.stackID(force) + " -> ";
|
|
16457
|
+
}
|
|
16458
|
+
for (let insert of stack.recoverByInsert(token)) {
|
|
16459
|
+
if (verbose)
|
|
16460
|
+
console.log(base + this.stackID(insert) + " (via recover-insert)");
|
|
16461
|
+
this.advanceFully(insert, newStacks);
|
|
16462
|
+
}
|
|
16463
|
+
if (this.stream.end > stack.pos) {
|
|
16464
|
+
if (tokenEnd == stack.pos) {
|
|
16465
|
+
tokenEnd++;
|
|
16466
|
+
token = 0;
|
|
16467
|
+
}
|
|
16468
|
+
stack.recoverByDelete(token, tokenEnd);
|
|
16469
|
+
if (verbose)
|
|
16470
|
+
console.log(base + this.stackID(stack) + ` (via recover-delete ${this.parser.getName(token)})`);
|
|
16471
|
+
pushStackDedup(stack, newStacks);
|
|
16472
|
+
} else if (!finished || finished.score < stack.score) {
|
|
16473
|
+
finished = stack;
|
|
16474
|
+
}
|
|
16475
|
+
}
|
|
16476
|
+
return finished;
|
|
16477
|
+
}
|
|
16478
|
+
// Convert the stack's buffer to a syntax tree.
|
|
16479
|
+
stackToTree(stack) {
|
|
16480
|
+
stack.close();
|
|
16481
|
+
return Tree.build({
|
|
16482
|
+
buffer: StackBufferCursor.create(stack),
|
|
16483
|
+
nodeSet: this.parser.nodeSet,
|
|
16484
|
+
topID: this.topTerm,
|
|
16485
|
+
maxBufferLength: this.parser.bufferLength,
|
|
16486
|
+
reused: this.reused,
|
|
16487
|
+
start: this.ranges[0].from,
|
|
16488
|
+
length: stack.pos - this.ranges[0].from,
|
|
16489
|
+
minRepeatType: this.parser.minRepeatTerm
|
|
16490
|
+
});
|
|
16491
|
+
}
|
|
16492
|
+
stackID(stack) {
|
|
16493
|
+
let id2 = (stackIDs || (stackIDs = /* @__PURE__ */ new WeakMap())).get(stack);
|
|
16494
|
+
if (!id2)
|
|
16495
|
+
stackIDs.set(stack, id2 = String.fromCodePoint(this.nextStackID++));
|
|
16496
|
+
return id2 + stack;
|
|
16497
|
+
}
|
|
16498
|
+
}
|
|
16499
|
+
function pushStackDedup(stack, newStacks) {
|
|
16500
|
+
for (let i2 = 0; i2 < newStacks.length; i2++) {
|
|
16501
|
+
let other = newStacks[i2];
|
|
16502
|
+
if (other.pos == stack.pos && other.sameState(stack)) {
|
|
16503
|
+
if (newStacks[i2].score < stack.score)
|
|
16504
|
+
newStacks[i2] = stack;
|
|
16505
|
+
return;
|
|
16506
|
+
}
|
|
16507
|
+
}
|
|
16508
|
+
newStacks.push(stack);
|
|
16509
|
+
}
|
|
16510
|
+
class Dialect {
|
|
16511
|
+
constructor(source, flags, disabled) {
|
|
16512
|
+
this.source = source;
|
|
16513
|
+
this.flags = flags;
|
|
16514
|
+
this.disabled = disabled;
|
|
16515
|
+
}
|
|
16516
|
+
allows(term) {
|
|
16517
|
+
return !this.disabled || this.disabled[term] == 0;
|
|
16518
|
+
}
|
|
16519
|
+
}
|
|
16520
|
+
const id = (x2) => x2;
|
|
16521
|
+
class ContextTracker {
|
|
16522
|
+
/**
|
|
16523
|
+
Define a context tracker.
|
|
16524
|
+
*/
|
|
16525
|
+
constructor(spec) {
|
|
16526
|
+
this.start = spec.start;
|
|
16527
|
+
this.shift = spec.shift || id;
|
|
16528
|
+
this.reduce = spec.reduce || id;
|
|
16529
|
+
this.reuse = spec.reuse || id;
|
|
16530
|
+
this.hash = spec.hash || (() => 0);
|
|
16531
|
+
this.strict = spec.strict !== false;
|
|
16532
|
+
}
|
|
16533
|
+
}
|
|
16534
|
+
class LRParser extends Parser {
|
|
16535
|
+
/**
|
|
16536
|
+
@internal
|
|
16537
|
+
*/
|
|
16538
|
+
constructor(spec) {
|
|
16539
|
+
super();
|
|
16540
|
+
this.wrappers = [];
|
|
16541
|
+
if (spec.version != 14)
|
|
16542
|
+
throw new RangeError(`Parser version (${spec.version}) doesn't match runtime version (${14})`);
|
|
16543
|
+
let nodeNames = spec.nodeNames.split(" ");
|
|
16544
|
+
this.minRepeatTerm = nodeNames.length;
|
|
16545
|
+
for (let i2 = 0; i2 < spec.repeatNodeCount; i2++)
|
|
16546
|
+
nodeNames.push("");
|
|
16547
|
+
let topTerms = Object.keys(spec.topRules).map((r) => spec.topRules[r][1]);
|
|
16548
|
+
let nodeProps = [];
|
|
16549
|
+
for (let i2 = 0; i2 < nodeNames.length; i2++)
|
|
16550
|
+
nodeProps.push([]);
|
|
16551
|
+
function setProp(nodeID, prop, value) {
|
|
16552
|
+
nodeProps[nodeID].push([prop, prop.deserialize(String(value))]);
|
|
16553
|
+
}
|
|
16554
|
+
if (spec.nodeProps)
|
|
16555
|
+
for (let propSpec of spec.nodeProps) {
|
|
16556
|
+
let prop = propSpec[0];
|
|
16557
|
+
if (typeof prop == "string")
|
|
16558
|
+
prop = NodeProp[prop];
|
|
16559
|
+
for (let i2 = 1; i2 < propSpec.length; ) {
|
|
16560
|
+
let next = propSpec[i2++];
|
|
16561
|
+
if (next >= 0) {
|
|
16562
|
+
setProp(next, prop, propSpec[i2++]);
|
|
16563
|
+
} else {
|
|
16564
|
+
let value = propSpec[i2 + -next];
|
|
16565
|
+
for (let j = -next; j > 0; j--)
|
|
16566
|
+
setProp(propSpec[i2++], prop, value);
|
|
16567
|
+
i2++;
|
|
16568
|
+
}
|
|
16569
|
+
}
|
|
16570
|
+
}
|
|
16571
|
+
this.nodeSet = new NodeSet(nodeNames.map((name, i2) => NodeType.define({
|
|
16572
|
+
name: i2 >= this.minRepeatTerm ? void 0 : name,
|
|
16573
|
+
id: i2,
|
|
16574
|
+
props: nodeProps[i2],
|
|
16575
|
+
top: topTerms.indexOf(i2) > -1,
|
|
16576
|
+
error: i2 == 0,
|
|
16577
|
+
skipped: spec.skippedNodes && spec.skippedNodes.indexOf(i2) > -1
|
|
16578
|
+
})));
|
|
16579
|
+
if (spec.propSources)
|
|
16580
|
+
this.nodeSet = this.nodeSet.extend(...spec.propSources);
|
|
16581
|
+
this.strict = false;
|
|
16582
|
+
this.bufferLength = DefaultBufferLength;
|
|
16583
|
+
let tokenArray = decodeArray(spec.tokenData);
|
|
16584
|
+
this.context = spec.context;
|
|
16585
|
+
this.specializerSpecs = spec.specialized || [];
|
|
16586
|
+
this.specialized = new Uint16Array(this.specializerSpecs.length);
|
|
16587
|
+
for (let i2 = 0; i2 < this.specializerSpecs.length; i2++)
|
|
16588
|
+
this.specialized[i2] = this.specializerSpecs[i2].term;
|
|
16589
|
+
this.specializers = this.specializerSpecs.map(getSpecializer);
|
|
16590
|
+
this.states = decodeArray(spec.states, Uint32Array);
|
|
16591
|
+
this.data = decodeArray(spec.stateData);
|
|
16592
|
+
this.goto = decodeArray(spec.goto);
|
|
16593
|
+
this.maxTerm = spec.maxTerm;
|
|
16594
|
+
this.tokenizers = spec.tokenizers.map((value) => typeof value == "number" ? new TokenGroup(tokenArray, value) : value);
|
|
16595
|
+
this.topRules = spec.topRules;
|
|
16596
|
+
this.dialects = spec.dialects || {};
|
|
16597
|
+
this.dynamicPrecedences = spec.dynamicPrecedences || null;
|
|
16598
|
+
this.tokenPrecTable = spec.tokenPrec;
|
|
16599
|
+
this.termNames = spec.termNames || null;
|
|
16600
|
+
this.maxNode = this.nodeSet.types.length - 1;
|
|
16601
|
+
this.dialect = this.parseDialect();
|
|
16602
|
+
this.top = this.topRules[Object.keys(this.topRules)[0]];
|
|
16603
|
+
}
|
|
16604
|
+
createParse(input, fragments, ranges) {
|
|
16605
|
+
let parse2 = new Parse(this, input, fragments, ranges);
|
|
16606
|
+
for (let w2 of this.wrappers)
|
|
16607
|
+
parse2 = w2(parse2, input, fragments, ranges);
|
|
16608
|
+
return parse2;
|
|
16609
|
+
}
|
|
16610
|
+
/**
|
|
16611
|
+
Get a goto table entry @internal
|
|
16612
|
+
*/
|
|
16613
|
+
getGoto(state2, term, loose = false) {
|
|
16614
|
+
let table = this.goto;
|
|
16615
|
+
if (term >= table[0])
|
|
16616
|
+
return -1;
|
|
16617
|
+
for (let pos = table[term + 1]; ; ) {
|
|
16618
|
+
let groupTag = table[pos++], last2 = groupTag & 1;
|
|
16619
|
+
let target = table[pos++];
|
|
16620
|
+
if (last2 && loose)
|
|
16621
|
+
return target;
|
|
16622
|
+
for (let end = pos + (groupTag >> 1); pos < end; pos++)
|
|
16623
|
+
if (table[pos] == state2)
|
|
16624
|
+
return target;
|
|
16625
|
+
if (last2)
|
|
16626
|
+
return -1;
|
|
16627
|
+
}
|
|
16628
|
+
}
|
|
16629
|
+
/**
|
|
16630
|
+
Check if this state has an action for a given terminal @internal
|
|
16631
|
+
*/
|
|
16632
|
+
hasAction(state2, terminal) {
|
|
16633
|
+
let data = this.data;
|
|
16634
|
+
for (let set2 = 0; set2 < 2; set2++) {
|
|
16635
|
+
for (let i2 = this.stateSlot(
|
|
16636
|
+
state2,
|
|
16637
|
+
set2 ? 2 : 1
|
|
16638
|
+
/* ParseState.Actions */
|
|
16639
|
+
), next; ; i2 += 3) {
|
|
16640
|
+
if ((next = data[i2]) == 65535) {
|
|
16641
|
+
if (data[i2 + 1] == 1)
|
|
16642
|
+
next = data[i2 = pair(data, i2 + 2)];
|
|
16643
|
+
else if (data[i2 + 1] == 2)
|
|
16644
|
+
return pair(data, i2 + 2);
|
|
16645
|
+
else
|
|
16646
|
+
break;
|
|
16647
|
+
}
|
|
16648
|
+
if (next == terminal || next == 0)
|
|
16649
|
+
return pair(data, i2 + 1);
|
|
16650
|
+
}
|
|
16651
|
+
}
|
|
16652
|
+
return 0;
|
|
16653
|
+
}
|
|
16654
|
+
/**
|
|
16655
|
+
@internal
|
|
16656
|
+
*/
|
|
16657
|
+
stateSlot(state2, slot) {
|
|
16658
|
+
return this.states[state2 * 6 + slot];
|
|
16659
|
+
}
|
|
16660
|
+
/**
|
|
16661
|
+
@internal
|
|
16662
|
+
*/
|
|
16663
|
+
stateFlag(state2, flag) {
|
|
16664
|
+
return (this.stateSlot(
|
|
16665
|
+
state2,
|
|
16666
|
+
0
|
|
16667
|
+
/* ParseState.Flags */
|
|
16668
|
+
) & flag) > 0;
|
|
16669
|
+
}
|
|
16670
|
+
/**
|
|
16671
|
+
@internal
|
|
16672
|
+
*/
|
|
16673
|
+
validAction(state2, action) {
|
|
16674
|
+
return !!this.allActions(state2, (a3) => a3 == action ? true : null);
|
|
16675
|
+
}
|
|
16676
|
+
/**
|
|
16677
|
+
@internal
|
|
16678
|
+
*/
|
|
16679
|
+
allActions(state2, action) {
|
|
16680
|
+
let deflt = this.stateSlot(
|
|
16681
|
+
state2,
|
|
16682
|
+
4
|
|
16683
|
+
/* ParseState.DefaultReduce */
|
|
16684
|
+
);
|
|
16685
|
+
let result = deflt ? action(deflt) : void 0;
|
|
16686
|
+
for (let i2 = this.stateSlot(
|
|
16687
|
+
state2,
|
|
16688
|
+
1
|
|
16689
|
+
/* ParseState.Actions */
|
|
16690
|
+
); result == null; i2 += 3) {
|
|
16691
|
+
if (this.data[i2] == 65535) {
|
|
16692
|
+
if (this.data[i2 + 1] == 1)
|
|
16693
|
+
i2 = pair(this.data, i2 + 2);
|
|
16694
|
+
else
|
|
16695
|
+
break;
|
|
16696
|
+
}
|
|
16697
|
+
result = action(pair(this.data, i2 + 1));
|
|
16698
|
+
}
|
|
16699
|
+
return result;
|
|
16700
|
+
}
|
|
16701
|
+
/**
|
|
16702
|
+
Get the states that can follow this one through shift actions or
|
|
16703
|
+
goto jumps. @internal
|
|
16704
|
+
*/
|
|
16705
|
+
nextStates(state2) {
|
|
16706
|
+
let result = [];
|
|
16707
|
+
for (let i2 = this.stateSlot(
|
|
16708
|
+
state2,
|
|
16709
|
+
1
|
|
16710
|
+
/* ParseState.Actions */
|
|
16711
|
+
); ; i2 += 3) {
|
|
16712
|
+
if (this.data[i2] == 65535) {
|
|
16713
|
+
if (this.data[i2 + 1] == 1)
|
|
16714
|
+
i2 = pair(this.data, i2 + 2);
|
|
16715
|
+
else
|
|
16716
|
+
break;
|
|
16717
|
+
}
|
|
16718
|
+
if ((this.data[i2 + 2] & 65536 >> 16) == 0) {
|
|
16719
|
+
let value = this.data[i2 + 1];
|
|
16720
|
+
if (!result.some((v, i3) => i3 & 1 && v == value))
|
|
16721
|
+
result.push(this.data[i2], value);
|
|
16722
|
+
}
|
|
16723
|
+
}
|
|
16724
|
+
return result;
|
|
16725
|
+
}
|
|
16726
|
+
/**
|
|
16727
|
+
Configure the parser. Returns a new parser instance that has the
|
|
16728
|
+
given settings modified. Settings not provided in `config` are
|
|
16729
|
+
kept from the original parser.
|
|
16730
|
+
*/
|
|
16731
|
+
configure(config) {
|
|
16732
|
+
let copy = Object.assign(Object.create(LRParser.prototype), this);
|
|
16733
|
+
if (config.props)
|
|
16734
|
+
copy.nodeSet = this.nodeSet.extend(...config.props);
|
|
16735
|
+
if (config.top) {
|
|
16736
|
+
let info = this.topRules[config.top];
|
|
16737
|
+
if (!info)
|
|
16738
|
+
throw new RangeError(`Invalid top rule name ${config.top}`);
|
|
16739
|
+
copy.top = info;
|
|
16740
|
+
}
|
|
16741
|
+
if (config.tokenizers)
|
|
16742
|
+
copy.tokenizers = this.tokenizers.map((t2) => {
|
|
16743
|
+
let found = config.tokenizers.find((r) => r.from == t2);
|
|
16744
|
+
return found ? found.to : t2;
|
|
16745
|
+
});
|
|
16746
|
+
if (config.specializers) {
|
|
16747
|
+
copy.specializers = this.specializers.slice();
|
|
16748
|
+
copy.specializerSpecs = this.specializerSpecs.map((s3, i2) => {
|
|
16749
|
+
let found = config.specializers.find((r) => r.from == s3.external);
|
|
16750
|
+
if (!found)
|
|
16751
|
+
return s3;
|
|
16752
|
+
let spec = Object.assign(Object.assign({}, s3), { external: found.to });
|
|
16753
|
+
copy.specializers[i2] = getSpecializer(spec);
|
|
16754
|
+
return spec;
|
|
16755
|
+
});
|
|
16756
|
+
}
|
|
16757
|
+
if (config.contextTracker)
|
|
16758
|
+
copy.context = config.contextTracker;
|
|
16759
|
+
if (config.dialect)
|
|
16760
|
+
copy.dialect = this.parseDialect(config.dialect);
|
|
16761
|
+
if (config.strict != null)
|
|
16762
|
+
copy.strict = config.strict;
|
|
16763
|
+
if (config.wrap)
|
|
16764
|
+
copy.wrappers = copy.wrappers.concat(config.wrap);
|
|
16765
|
+
if (config.bufferLength != null)
|
|
16766
|
+
copy.bufferLength = config.bufferLength;
|
|
16767
|
+
return copy;
|
|
16768
|
+
}
|
|
16769
|
+
/**
|
|
16770
|
+
Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)
|
|
16771
|
+
are registered for this parser.
|
|
16772
|
+
*/
|
|
16773
|
+
hasWrappers() {
|
|
16774
|
+
return this.wrappers.length > 0;
|
|
16775
|
+
}
|
|
16776
|
+
/**
|
|
16777
|
+
Returns the name associated with a given term. This will only
|
|
16778
|
+
work for all terms when the parser was generated with the
|
|
16779
|
+
`--names` option. By default, only the names of tagged terms are
|
|
16780
|
+
stored.
|
|
16781
|
+
*/
|
|
16782
|
+
getName(term) {
|
|
16783
|
+
return this.termNames ? this.termNames[term] : String(term <= this.maxNode && this.nodeSet.types[term].name || term);
|
|
16784
|
+
}
|
|
16785
|
+
/**
|
|
16786
|
+
The eof term id is always allocated directly after the node
|
|
16787
|
+
types. @internal
|
|
16788
|
+
*/
|
|
16789
|
+
get eofTerm() {
|
|
16790
|
+
return this.maxNode + 1;
|
|
16791
|
+
}
|
|
16792
|
+
/**
|
|
16793
|
+
The type of top node produced by the parser.
|
|
16794
|
+
*/
|
|
16795
|
+
get topNode() {
|
|
16796
|
+
return this.nodeSet.types[this.top[1]];
|
|
16797
|
+
}
|
|
16798
|
+
/**
|
|
16799
|
+
@internal
|
|
16800
|
+
*/
|
|
16801
|
+
dynamicPrecedence(term) {
|
|
16802
|
+
let prec = this.dynamicPrecedences;
|
|
16803
|
+
return prec == null ? 0 : prec[term] || 0;
|
|
16804
|
+
}
|
|
16805
|
+
/**
|
|
16806
|
+
@internal
|
|
16807
|
+
*/
|
|
16808
|
+
parseDialect(dialect) {
|
|
16809
|
+
let values2 = Object.keys(this.dialects), flags = values2.map(() => false);
|
|
16810
|
+
if (dialect)
|
|
16811
|
+
for (let part of dialect.split(" ")) {
|
|
16812
|
+
let id2 = values2.indexOf(part);
|
|
16813
|
+
if (id2 >= 0)
|
|
16814
|
+
flags[id2] = true;
|
|
16815
|
+
}
|
|
16816
|
+
let disabled = null;
|
|
16817
|
+
for (let i2 = 0; i2 < values2.length; i2++)
|
|
16818
|
+
if (!flags[i2]) {
|
|
16819
|
+
for (let j = this.dialects[values2[i2]], id2; (id2 = this.data[j++]) != 65535; )
|
|
16820
|
+
(disabled || (disabled = new Uint8Array(this.maxTerm + 1)))[id2] = 1;
|
|
16821
|
+
}
|
|
16822
|
+
return new Dialect(dialect, flags, disabled);
|
|
16823
|
+
}
|
|
16824
|
+
/**
|
|
16825
|
+
Used by the output of the parser generator. Not available to
|
|
16826
|
+
user code. @hide
|
|
16827
|
+
*/
|
|
16828
|
+
static deserialize(spec) {
|
|
16829
|
+
return new LRParser(spec);
|
|
16830
|
+
}
|
|
16831
|
+
}
|
|
16832
|
+
function pair(data, off) {
|
|
16833
|
+
return data[off] | data[off + 1] << 16;
|
|
16834
|
+
}
|
|
16835
|
+
function findFinished(stacks) {
|
|
16836
|
+
let best = null;
|
|
16837
|
+
for (let stack of stacks) {
|
|
16838
|
+
let stopped = stack.p.stoppedAt;
|
|
16839
|
+
if ((stack.pos == stack.p.stream.end || stopped != null && stack.pos > stopped) && stack.p.parser.stateFlag(
|
|
16840
|
+
stack.state,
|
|
16841
|
+
2
|
|
16842
|
+
/* StateFlag.Accepting */
|
|
16843
|
+
) && (!best || best.score < stack.score))
|
|
16844
|
+
best = stack;
|
|
16845
|
+
}
|
|
16846
|
+
return best;
|
|
16847
|
+
}
|
|
16848
|
+
function getSpecializer(spec) {
|
|
16849
|
+
if (spec.external) {
|
|
16850
|
+
let mask = spec.extend ? 1 : 0;
|
|
16851
|
+
return (value, stack) => spec.external(value, stack) << 1 | mask;
|
|
16852
|
+
}
|
|
16853
|
+
return spec.get;
|
|
16854
|
+
}
|
|
16855
|
+
const printKeyword = 1, indent = 194, dedent = 195, newline$1 = 196, blankLineStart = 197, newlineBracketed = 198, eof = 199, stringContent = 200, Escape = 2, replacementStart = 3, stringEnd = 201, ParenL = 24, ParenthesizedExpression = 25, TupleExpression = 49, ComprehensionExpression = 50, BracketL = 55, ArrayExpression = 56, ArrayComprehensionExpression = 57, BraceL = 59, DictionaryExpression = 60, DictionaryComprehensionExpression = 61, SetExpression = 62, SetComprehensionExpression = 63, ArgList = 65, subscript = 238, String$1 = 71, stringStart = 241, stringStartD = 242, stringStartL = 243, stringStartLD = 244, stringStartR = 245, stringStartRD = 246, stringStartRL = 247, stringStartRLD = 248, FormatString = 72, stringStartF = 249, stringStartFD = 250, stringStartFL = 251, stringStartFLD = 252, stringStartFR = 253, stringStartFRD = 254, stringStartFRL = 255, stringStartFRLD = 256, FormatReplacement = 73, nestedFormatReplacement = 77, importList = 263, TypeParamList = 112, ParamList = 130, SequencePattern = 151, MappingPattern = 152, PatternArgList = 155;
|
|
16856
|
+
const newline = 10, carriageReturn = 13, space = 32, tab = 9, hash = 35, parenOpen = 40, dot = 46, braceOpen = 123, braceClose = 125, singleQuote = 39, doubleQuote = 34, backslash = 92, letter_o = 111, letter_x = 120, letter_N = 78, letter_u = 117, letter_U = 85;
|
|
16857
|
+
const bracketed = /* @__PURE__ */ new Set([
|
|
16858
|
+
ParenthesizedExpression,
|
|
16859
|
+
TupleExpression,
|
|
16860
|
+
ComprehensionExpression,
|
|
16861
|
+
importList,
|
|
16862
|
+
ArgList,
|
|
16863
|
+
ParamList,
|
|
16864
|
+
ArrayExpression,
|
|
16865
|
+
ArrayComprehensionExpression,
|
|
16866
|
+
subscript,
|
|
16867
|
+
SetExpression,
|
|
16868
|
+
SetComprehensionExpression,
|
|
16869
|
+
FormatString,
|
|
16870
|
+
FormatReplacement,
|
|
16871
|
+
nestedFormatReplacement,
|
|
16872
|
+
DictionaryExpression,
|
|
16873
|
+
DictionaryComprehensionExpression,
|
|
16874
|
+
SequencePattern,
|
|
16875
|
+
MappingPattern,
|
|
16876
|
+
PatternArgList,
|
|
16877
|
+
TypeParamList
|
|
16878
|
+
]);
|
|
16879
|
+
function isLineBreak(ch) {
|
|
16880
|
+
return ch == newline || ch == carriageReturn;
|
|
16881
|
+
}
|
|
16882
|
+
function isHex(ch) {
|
|
16883
|
+
return ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102;
|
|
16884
|
+
}
|
|
16885
|
+
const newlines = new ExternalTokenizer((input, stack) => {
|
|
16886
|
+
let prev;
|
|
16887
|
+
if (input.next < 0) {
|
|
16888
|
+
input.acceptToken(eof);
|
|
16889
|
+
} else if (stack.context.flags & cx_Bracketed) {
|
|
16890
|
+
if (isLineBreak(input.next))
|
|
16891
|
+
input.acceptToken(newlineBracketed, 1);
|
|
16892
|
+
} else if (((prev = input.peek(-1)) < 0 || isLineBreak(prev)) && stack.canShift(blankLineStart)) {
|
|
16893
|
+
let spaces = 0;
|
|
16894
|
+
while (input.next == space || input.next == tab) {
|
|
16895
|
+
input.advance();
|
|
16896
|
+
spaces++;
|
|
16897
|
+
}
|
|
16898
|
+
if (input.next == newline || input.next == carriageReturn || input.next == hash)
|
|
16899
|
+
input.acceptToken(blankLineStart, -spaces);
|
|
16900
|
+
} else if (isLineBreak(input.next)) {
|
|
16901
|
+
input.acceptToken(newline$1, 1);
|
|
16902
|
+
}
|
|
16903
|
+
}, { contextual: true });
|
|
16904
|
+
const indentation = new ExternalTokenizer((input, stack) => {
|
|
16905
|
+
let context = stack.context;
|
|
16906
|
+
if (context.flags)
|
|
16907
|
+
return;
|
|
16908
|
+
let prev = input.peek(-1);
|
|
16909
|
+
if (prev == newline || prev == carriageReturn) {
|
|
16910
|
+
let depth = 0, chars = 0;
|
|
16911
|
+
for (; ; ) {
|
|
16912
|
+
if (input.next == space)
|
|
16913
|
+
depth++;
|
|
16914
|
+
else if (input.next == tab)
|
|
16915
|
+
depth += 8 - depth % 8;
|
|
16916
|
+
else
|
|
16917
|
+
break;
|
|
16918
|
+
input.advance();
|
|
16919
|
+
chars++;
|
|
16920
|
+
}
|
|
16921
|
+
if (depth != context.indent && input.next != newline && input.next != carriageReturn && input.next != hash) {
|
|
16922
|
+
if (depth < context.indent)
|
|
16923
|
+
input.acceptToken(dedent, -chars);
|
|
16924
|
+
else
|
|
16925
|
+
input.acceptToken(indent);
|
|
16926
|
+
}
|
|
16927
|
+
}
|
|
16928
|
+
});
|
|
16929
|
+
const cx_Bracketed = 1, cx_String = 2, cx_DoubleQuote = 4, cx_Long = 8, cx_Raw = 16, cx_Format = 32;
|
|
16930
|
+
function Context$1(parent, indent2, flags) {
|
|
16931
|
+
this.parent = parent;
|
|
16932
|
+
this.indent = indent2;
|
|
16933
|
+
this.flags = flags;
|
|
16934
|
+
this.hash = (parent ? parent.hash + parent.hash << 8 : 0) + indent2 + (indent2 << 4) + flags + (flags << 6);
|
|
16935
|
+
}
|
|
16936
|
+
const topIndent = new Context$1(null, 0, 0);
|
|
16937
|
+
function countIndent(space2) {
|
|
16938
|
+
let depth = 0;
|
|
16939
|
+
for (let i2 = 0; i2 < space2.length; i2++)
|
|
16940
|
+
depth += space2.charCodeAt(i2) == tab ? 8 - depth % 8 : 1;
|
|
16941
|
+
return depth;
|
|
16942
|
+
}
|
|
16943
|
+
const stringFlags = new Map([
|
|
16944
|
+
[stringStart, 0],
|
|
16945
|
+
[stringStartD, cx_DoubleQuote],
|
|
16946
|
+
[stringStartL, cx_Long],
|
|
16947
|
+
[stringStartLD, cx_Long | cx_DoubleQuote],
|
|
16948
|
+
[stringStartR, cx_Raw],
|
|
16949
|
+
[stringStartRD, cx_Raw | cx_DoubleQuote],
|
|
16950
|
+
[stringStartRL, cx_Raw | cx_Long],
|
|
16951
|
+
[stringStartRLD, cx_Raw | cx_Long | cx_DoubleQuote],
|
|
16952
|
+
[stringStartF, cx_Format],
|
|
16953
|
+
[stringStartFD, cx_Format | cx_DoubleQuote],
|
|
16954
|
+
[stringStartFL, cx_Format | cx_Long],
|
|
16955
|
+
[stringStartFLD, cx_Format | cx_Long | cx_DoubleQuote],
|
|
16956
|
+
[stringStartFR, cx_Format | cx_Raw],
|
|
16957
|
+
[stringStartFRD, cx_Format | cx_Raw | cx_DoubleQuote],
|
|
16958
|
+
[stringStartFRL, cx_Format | cx_Raw | cx_Long],
|
|
16959
|
+
[stringStartFRLD, cx_Format | cx_Raw | cx_Long | cx_DoubleQuote]
|
|
16960
|
+
].map(([term, flags]) => [term, flags | cx_String]));
|
|
16961
|
+
const trackIndent = new ContextTracker({
|
|
16962
|
+
start: topIndent,
|
|
16963
|
+
reduce(context, term, _2, input) {
|
|
16964
|
+
if (context.flags & cx_Bracketed && bracketed.has(term) || (term == String$1 || term == FormatString) && context.flags & cx_String)
|
|
16965
|
+
return context.parent;
|
|
16966
|
+
return context;
|
|
16967
|
+
},
|
|
16968
|
+
shift(context, term, stack, input) {
|
|
16969
|
+
if (term == indent)
|
|
16970
|
+
return new Context$1(context, countIndent(input.read(input.pos, stack.pos)), 0);
|
|
16971
|
+
if (term == dedent)
|
|
16972
|
+
return context.parent;
|
|
16973
|
+
if (term == ParenL || term == BracketL || term == BraceL || term == replacementStart)
|
|
16974
|
+
return new Context$1(context, 0, cx_Bracketed);
|
|
16975
|
+
if (stringFlags.has(term))
|
|
16976
|
+
return new Context$1(context, 0, stringFlags.get(term) | context.flags & cx_Bracketed);
|
|
16977
|
+
return context;
|
|
16978
|
+
},
|
|
16979
|
+
hash(context) {
|
|
16980
|
+
return context.hash;
|
|
16981
|
+
}
|
|
16982
|
+
});
|
|
16983
|
+
const legacyPrint = new ExternalTokenizer((input) => {
|
|
16984
|
+
for (let i2 = 0; i2 < 5; i2++) {
|
|
16985
|
+
if (input.next != "print".charCodeAt(i2))
|
|
16986
|
+
return;
|
|
16987
|
+
input.advance();
|
|
16988
|
+
}
|
|
16989
|
+
if (/\w/.test(String.fromCharCode(input.next)))
|
|
16990
|
+
return;
|
|
16991
|
+
for (let off = 0; ; off++) {
|
|
16992
|
+
let next = input.peek(off);
|
|
16993
|
+
if (next == space || next == tab)
|
|
16994
|
+
continue;
|
|
16995
|
+
if (next != parenOpen && next != dot && next != newline && next != carriageReturn && next != hash)
|
|
16996
|
+
input.acceptToken(printKeyword);
|
|
16997
|
+
return;
|
|
16998
|
+
}
|
|
16999
|
+
});
|
|
17000
|
+
const strings = new ExternalTokenizer((input, stack) => {
|
|
17001
|
+
let { flags } = stack.context;
|
|
17002
|
+
let quote = flags & cx_DoubleQuote ? doubleQuote : singleQuote;
|
|
17003
|
+
let long = (flags & cx_Long) > 0;
|
|
17004
|
+
let escapes = !(flags & cx_Raw);
|
|
17005
|
+
let format3 = (flags & cx_Format) > 0;
|
|
17006
|
+
let start2 = input.pos;
|
|
17007
|
+
for (; ; ) {
|
|
17008
|
+
if (input.next < 0) {
|
|
17009
|
+
break;
|
|
17010
|
+
} else if (format3 && input.next == braceOpen) {
|
|
17011
|
+
if (input.peek(1) == braceOpen) {
|
|
17012
|
+
input.advance(2);
|
|
17013
|
+
} else {
|
|
17014
|
+
if (input.pos == start2) {
|
|
17015
|
+
input.acceptToken(replacementStart, 1);
|
|
17016
|
+
return;
|
|
17017
|
+
}
|
|
17018
|
+
break;
|
|
17019
|
+
}
|
|
17020
|
+
} else if (escapes && input.next == backslash) {
|
|
17021
|
+
if (input.pos == start2) {
|
|
17022
|
+
input.advance();
|
|
17023
|
+
let escaped = input.next;
|
|
17024
|
+
if (escaped >= 0) {
|
|
17025
|
+
input.advance();
|
|
17026
|
+
skipEscape(input, escaped);
|
|
17027
|
+
}
|
|
17028
|
+
input.acceptToken(Escape);
|
|
17029
|
+
return;
|
|
17030
|
+
}
|
|
17031
|
+
break;
|
|
17032
|
+
} else if (input.next == backslash && !escapes && input.peek(1) > -1) {
|
|
17033
|
+
input.advance(2);
|
|
17034
|
+
} else if (input.next == quote && (!long || input.peek(1) == quote && input.peek(2) == quote)) {
|
|
17035
|
+
if (input.pos == start2) {
|
|
17036
|
+
input.acceptToken(stringEnd, long ? 3 : 1);
|
|
17037
|
+
return;
|
|
17038
|
+
}
|
|
17039
|
+
break;
|
|
17040
|
+
} else if (input.next == newline) {
|
|
17041
|
+
if (long) {
|
|
17042
|
+
input.advance();
|
|
17043
|
+
} else if (input.pos == start2) {
|
|
17044
|
+
input.acceptToken(stringEnd);
|
|
17045
|
+
return;
|
|
17046
|
+
}
|
|
17047
|
+
break;
|
|
17048
|
+
} else {
|
|
17049
|
+
input.advance();
|
|
17050
|
+
}
|
|
17051
|
+
}
|
|
17052
|
+
if (input.pos > start2)
|
|
17053
|
+
input.acceptToken(stringContent);
|
|
17054
|
+
});
|
|
17055
|
+
function skipEscape(input, ch) {
|
|
17056
|
+
if (ch == letter_o) {
|
|
17057
|
+
for (let i2 = 0; i2 < 2 && input.next >= 48 && input.next <= 55; i2++)
|
|
17058
|
+
input.advance();
|
|
17059
|
+
} else if (ch == letter_x) {
|
|
17060
|
+
for (let i2 = 0; i2 < 2 && isHex(input.next); i2++)
|
|
17061
|
+
input.advance();
|
|
17062
|
+
} else if (ch == letter_u) {
|
|
17063
|
+
for (let i2 = 0; i2 < 4 && isHex(input.next); i2++)
|
|
17064
|
+
input.advance();
|
|
17065
|
+
} else if (ch == letter_U) {
|
|
17066
|
+
for (let i2 = 0; i2 < 8 && isHex(input.next); i2++)
|
|
17067
|
+
input.advance();
|
|
17068
|
+
} else if (ch == letter_N) {
|
|
17069
|
+
if (input.next == braceOpen) {
|
|
17070
|
+
input.advance();
|
|
17071
|
+
while (input.next >= 0 && input.next != braceClose && input.next != singleQuote && input.next != doubleQuote && input.next != newline)
|
|
17072
|
+
input.advance();
|
|
17073
|
+
if (input.next == braceClose)
|
|
17074
|
+
input.advance();
|
|
17075
|
+
}
|
|
17076
|
+
}
|
|
17077
|
+
}
|
|
17078
|
+
const pythonHighlighting = styleTags({
|
|
17079
|
+
'async "*" "**" FormatConversion FormatSpec': tags.modifier,
|
|
17080
|
+
"for while if elif else try except finally return raise break continue with pass assert await yield match case": tags.controlKeyword,
|
|
17081
|
+
"in not and or is del": tags.operatorKeyword,
|
|
17082
|
+
"from def class global nonlocal lambda": tags.definitionKeyword,
|
|
17083
|
+
import: tags.moduleKeyword,
|
|
17084
|
+
"with as print": tags.keyword,
|
|
17085
|
+
Boolean: tags.bool,
|
|
17086
|
+
None: tags.null,
|
|
17087
|
+
VariableName: tags.variableName,
|
|
17088
|
+
"CallExpression/VariableName": tags.function(tags.variableName),
|
|
17089
|
+
"FunctionDefinition/VariableName": tags.function(tags.definition(tags.variableName)),
|
|
17090
|
+
"ClassDefinition/VariableName": tags.definition(tags.className),
|
|
17091
|
+
PropertyName: tags.propertyName,
|
|
17092
|
+
"CallExpression/MemberExpression/PropertyName": tags.function(tags.propertyName),
|
|
17093
|
+
Comment: tags.lineComment,
|
|
17094
|
+
Number: tags.number,
|
|
17095
|
+
String: tags.string,
|
|
17096
|
+
FormatString: tags.special(tags.string),
|
|
17097
|
+
Escape: tags.escape,
|
|
17098
|
+
UpdateOp: tags.updateOperator,
|
|
17099
|
+
"ArithOp!": tags.arithmeticOperator,
|
|
17100
|
+
BitOp: tags.bitwiseOperator,
|
|
17101
|
+
CompareOp: tags.compareOperator,
|
|
17102
|
+
AssignOp: tags.definitionOperator,
|
|
17103
|
+
Ellipsis: tags.punctuation,
|
|
17104
|
+
At: tags.meta,
|
|
17105
|
+
"( )": tags.paren,
|
|
17106
|
+
"[ ]": tags.squareBracket,
|
|
17107
|
+
"{ }": tags.brace,
|
|
17108
|
+
".": tags.derefOperator,
|
|
17109
|
+
", ;": tags.separator
|
|
17110
|
+
});
|
|
17111
|
+
const spec_identifier = { __proto__: null, await: 44, or: 54, and: 56, in: 60, not: 62, is: 64, if: 70, else: 72, lambda: 76, yield: 94, from: 96, async: 102, for: 104, None: 162, True: 164, False: 164, del: 178, pass: 182, break: 186, continue: 190, return: 194, raise: 202, import: 206, as: 208, global: 212, nonlocal: 214, assert: 218, type: 223, elif: 236, while: 240, try: 246, except: 248, finally: 250, with: 254, def: 258, class: 268, match: 279, case: 285 };
|
|
17112
|
+
const parser = LRParser.deserialize({
|
|
17113
|
+
version: 14,
|
|
17114
|
+
states: "##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LhQdO1G1dOOQS7+)T7+)TP#LmQdO'#FwO#L}QdO1G2OO#MbQdO1G2OO#MrQdO1G2OP#M}QdO'#FxO#N[QdO7+)VO#NlQdO7+)VO#NlQdO7+)VO#NtQdO7+)VO$ UQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ oQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#nQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$$XQdO<<M[OOQS,5<q,5<qO$$jQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$xQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(sQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$)QQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)cQfO7+'OO$)nQdO'#F_O$*uQdO7+'jO$+VQdO7+'jOOQS7+'j7+'jO$+bQdO<<LqO$+rQdO<<LqO$+rQdO<<LqO$+zQdO'#H^OOQS<<Lh<<LhO$,UQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,oQdO1G4RO$,wQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$-SQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-vQtO'#FaOOQS'#Fc'#FcO$.WQdO'#FbO$.xQdO'#FbOOQS'#Fb'#FbO$.}QdO'#IYO$)nQdO'#FiO$)nQdO'#FiO$/fQdO'#FjO$)nQdO'#FkO$/mQdO'#IZOOQS'#IZ'#IZO$0[QdO,5;yOOQS<<KU<<KUO$0dQdO<<KUO$0tQdOANB]O$1UQdOANB]O$1^QdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1wQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2`QdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2hQtO,5<SO$)nQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$3YQdO,5;|O$3_QdO,5;|OOQS'#Fg'#FgO$)nQdO'#G`O$4PQdO,5<QO$4kQdO,5>tO$4{QdO,5>tO1XQdO,5<PO$5^QdO,5<TO$5cQdO,5<TO$)nQdO'#I[O$5hQdO'#I[O$5mQdO,5<UOOQS,5<V,5<VO0rQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5rQdOG27wO$6SQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$6XQtO'#FaO$6`QdO'#I]O$6nQdO'#I]O$6vQdO,5<XOOQS1G1h1G1hO$6{QdO1G1hO$7QQdO,5<zOOQS-E:^-E:^O$7lQdO,5=OO$8TQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8eQdO,5>vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5<YO$8sQdO,5>wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5<ZP$)nQdO'#GcO$;XQdO1G2hO$)nQdO1G2hP$;gQdO'#GbO$;nQdO<<MhO$;xQdO1G1uO$<WQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<fQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<yQdO'#GOO'vQdO'#GtO$=WQdO,59bO$=]QdO,59bO$=dQdO,59mO$=iQdO1G/UO1sQdO'#DRO8vQdO,59j",
|
|
17115
|
+
stateData: "$>S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",
|
|
17116
|
+
goto: "!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!<S!<VP!<_!<h!=d!=g]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r{!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g}!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!P!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!R!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!T!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!V!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!Z!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&eVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0r%oXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s!Y!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aQ,^*RR-e,_X#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&dQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uQ.S-fR/q/VhUOn#d#g$j%|&_'w(p(r)t,P%U!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!Z!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",
|
|
17117
|
+
nodeNames: "⚠ print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",
|
|
17118
|
+
maxTerm: 277,
|
|
17119
|
+
context: trackIndent,
|
|
17120
|
+
nodeProps: [
|
|
17121
|
+
["isolate", -5, 4, 71, 72, 73, 77, ""],
|
|
17122
|
+
["group", -15, 6, 85, 87, 88, 90, 92, 94, 96, 98, 99, 100, 102, 105, 108, 110, "Statement Statement", -22, 8, 18, 21, 25, 40, 49, 50, 56, 57, 60, 61, 62, 63, 64, 67, 70, 71, 72, 79, 80, 81, 82, "Expression", -10, 114, 116, 119, 121, 122, 126, 128, 133, 135, 138, "Statement", -9, 143, 144, 147, 148, 150, 151, 152, 153, 154, "Pattern"],
|
|
17123
|
+
["openedBy", 23, "(", 54, "[", 58, "{"],
|
|
17124
|
+
["closedBy", 24, ")", 55, "]", 59, "}"]
|
|
17125
|
+
],
|
|
17126
|
+
propSources: [pythonHighlighting],
|
|
17127
|
+
skippedNodes: [0, 4],
|
|
17128
|
+
repeatNodeCount: 34,
|
|
17129
|
+
tokenData: "!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",
|
|
17130
|
+
tokenizers: [legacyPrint, indentation, newlines, strings, 0, 1, 2, 3, 4],
|
|
17131
|
+
topRules: { "Script": [0, 5] },
|
|
17132
|
+
specialized: [{ term: 221, get: (value) => spec_identifier[value] || -1 }],
|
|
17133
|
+
tokenPrec: 7668
|
|
17134
|
+
});
|
|
17135
|
+
const cache = /* @__PURE__ */ new NodeWeakMap();
|
|
17136
|
+
const ScopeNodes = /* @__PURE__ */ new Set([
|
|
17137
|
+
"Script",
|
|
17138
|
+
"Body",
|
|
17139
|
+
"FunctionDefinition",
|
|
17140
|
+
"ClassDefinition",
|
|
17141
|
+
"LambdaExpression",
|
|
17142
|
+
"ForStatement",
|
|
17143
|
+
"MatchClause"
|
|
17144
|
+
]);
|
|
17145
|
+
function defID(type) {
|
|
17146
|
+
return (node, def2, outer) => {
|
|
17147
|
+
if (outer)
|
|
17148
|
+
return false;
|
|
17149
|
+
let id2 = node.node.getChild("VariableName");
|
|
17150
|
+
if (id2)
|
|
17151
|
+
def2(id2, type);
|
|
17152
|
+
return true;
|
|
17153
|
+
};
|
|
17154
|
+
}
|
|
17155
|
+
const gatherCompletions = {
|
|
17156
|
+
FunctionDefinition: /* @__PURE__ */ defID("function"),
|
|
17157
|
+
ClassDefinition: /* @__PURE__ */ defID("class"),
|
|
17158
|
+
ForStatement(node, def2, outer) {
|
|
17159
|
+
if (outer)
|
|
17160
|
+
for (let child = node.node.firstChild; child; child = child.nextSibling) {
|
|
17161
|
+
if (child.name == "VariableName")
|
|
17162
|
+
def2(child, "variable");
|
|
17163
|
+
else if (child.name == "in")
|
|
17164
|
+
break;
|
|
17165
|
+
}
|
|
17166
|
+
},
|
|
17167
|
+
ImportStatement(_node, def2) {
|
|
17168
|
+
var _a, _b;
|
|
17169
|
+
let { node } = _node;
|
|
17170
|
+
let isFrom = ((_a = node.firstChild) === null || _a === void 0 ? void 0 : _a.name) == "from";
|
|
17171
|
+
for (let ch = node.getChild("import"); ch; ch = ch.nextSibling) {
|
|
17172
|
+
if (ch.name == "VariableName" && ((_b = ch.nextSibling) === null || _b === void 0 ? void 0 : _b.name) != "as")
|
|
17173
|
+
def2(ch, isFrom ? "variable" : "namespace");
|
|
17174
|
+
}
|
|
17175
|
+
},
|
|
17176
|
+
AssignStatement(node, def2) {
|
|
17177
|
+
for (let child = node.node.firstChild; child; child = child.nextSibling) {
|
|
17178
|
+
if (child.name == "VariableName")
|
|
17179
|
+
def2(child, "variable");
|
|
17180
|
+
else if (child.name == ":" || child.name == "AssignOp")
|
|
17181
|
+
break;
|
|
17182
|
+
}
|
|
17183
|
+
},
|
|
17184
|
+
ParamList(node, def2) {
|
|
17185
|
+
for (let prev = null, child = node.node.firstChild; child; child = child.nextSibling) {
|
|
17186
|
+
if (child.name == "VariableName" && (!prev || !/\*|AssignOp/.test(prev.name)))
|
|
17187
|
+
def2(child, "variable");
|
|
17188
|
+
prev = child;
|
|
17189
|
+
}
|
|
17190
|
+
},
|
|
17191
|
+
CapturePattern: /* @__PURE__ */ defID("variable"),
|
|
17192
|
+
AsPattern: /* @__PURE__ */ defID("variable"),
|
|
17193
|
+
__proto__: null
|
|
17194
|
+
};
|
|
17195
|
+
function getScope(doc, node) {
|
|
17196
|
+
let cached = cache.get(node);
|
|
17197
|
+
if (cached)
|
|
17198
|
+
return cached;
|
|
17199
|
+
let completions = [], top = true;
|
|
17200
|
+
function def2(node2, type) {
|
|
17201
|
+
let name = doc.sliceString(node2.from, node2.to);
|
|
17202
|
+
completions.push({ label: name, type });
|
|
17203
|
+
}
|
|
17204
|
+
node.cursor(IterMode.IncludeAnonymous).iterate((node2) => {
|
|
17205
|
+
if (node2.name) {
|
|
17206
|
+
let gather = gatherCompletions[node2.name];
|
|
17207
|
+
if (gather && gather(node2, def2, top) || !top && ScopeNodes.has(node2.name))
|
|
17208
|
+
return false;
|
|
17209
|
+
top = false;
|
|
17210
|
+
} else if (node2.to - node2.from > 8192) {
|
|
17211
|
+
for (let c2 of getScope(doc, node2.node))
|
|
17212
|
+
completions.push(c2);
|
|
17213
|
+
return false;
|
|
17214
|
+
}
|
|
17215
|
+
});
|
|
17216
|
+
cache.set(node, completions);
|
|
17217
|
+
return completions;
|
|
17218
|
+
}
|
|
17219
|
+
const Identifier = /^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/;
|
|
17220
|
+
const dontComplete = ["String", "FormatString", "Comment", "PropertyName"];
|
|
17221
|
+
function localCompletionSource(context) {
|
|
17222
|
+
let inner = syntaxTree(context.state).resolveInner(context.pos, -1);
|
|
17223
|
+
if (dontComplete.indexOf(inner.name) > -1)
|
|
17224
|
+
return null;
|
|
17225
|
+
let isWord = inner.name == "VariableName" || inner.to - inner.from < 20 && Identifier.test(context.state.sliceDoc(inner.from, inner.to));
|
|
17226
|
+
if (!isWord && !context.explicit)
|
|
17227
|
+
return null;
|
|
17228
|
+
let options = [];
|
|
17229
|
+
for (let pos = inner; pos; pos = pos.parent) {
|
|
17230
|
+
if (ScopeNodes.has(pos.name))
|
|
17231
|
+
options = options.concat(getScope(context.state.doc, pos));
|
|
17232
|
+
}
|
|
17233
|
+
return {
|
|
17234
|
+
options,
|
|
17235
|
+
from: isWord ? inner.from : context.pos,
|
|
17236
|
+
validFor: Identifier
|
|
17237
|
+
};
|
|
17238
|
+
}
|
|
17239
|
+
const globals = /* @__PURE__ */ [
|
|
17240
|
+
"__annotations__",
|
|
17241
|
+
"__builtins__",
|
|
17242
|
+
"__debug__",
|
|
17243
|
+
"__doc__",
|
|
17244
|
+
"__import__",
|
|
17245
|
+
"__name__",
|
|
17246
|
+
"__loader__",
|
|
17247
|
+
"__package__",
|
|
17248
|
+
"__spec__",
|
|
17249
|
+
"False",
|
|
17250
|
+
"None",
|
|
17251
|
+
"True"
|
|
17252
|
+
].map((n) => ({ label: n, type: "constant" })).concat(/* @__PURE__ */ [
|
|
17253
|
+
"ArithmeticError",
|
|
17254
|
+
"AssertionError",
|
|
17255
|
+
"AttributeError",
|
|
17256
|
+
"BaseException",
|
|
17257
|
+
"BlockingIOError",
|
|
17258
|
+
"BrokenPipeError",
|
|
17259
|
+
"BufferError",
|
|
17260
|
+
"BytesWarning",
|
|
17261
|
+
"ChildProcessError",
|
|
17262
|
+
"ConnectionAbortedError",
|
|
17263
|
+
"ConnectionError",
|
|
17264
|
+
"ConnectionRefusedError",
|
|
17265
|
+
"ConnectionResetError",
|
|
17266
|
+
"DeprecationWarning",
|
|
17267
|
+
"EOFError",
|
|
17268
|
+
"Ellipsis",
|
|
17269
|
+
"EncodingWarning",
|
|
17270
|
+
"EnvironmentError",
|
|
17271
|
+
"Exception",
|
|
17272
|
+
"FileExistsError",
|
|
17273
|
+
"FileNotFoundError",
|
|
17274
|
+
"FloatingPointError",
|
|
17275
|
+
"FutureWarning",
|
|
17276
|
+
"GeneratorExit",
|
|
17277
|
+
"IOError",
|
|
17278
|
+
"ImportError",
|
|
17279
|
+
"ImportWarning",
|
|
17280
|
+
"IndentationError",
|
|
17281
|
+
"IndexError",
|
|
17282
|
+
"InterruptedError",
|
|
17283
|
+
"IsADirectoryError",
|
|
17284
|
+
"KeyError",
|
|
17285
|
+
"KeyboardInterrupt",
|
|
17286
|
+
"LookupError",
|
|
17287
|
+
"MemoryError",
|
|
17288
|
+
"ModuleNotFoundError",
|
|
17289
|
+
"NameError",
|
|
17290
|
+
"NotADirectoryError",
|
|
17291
|
+
"NotImplemented",
|
|
17292
|
+
"NotImplementedError",
|
|
17293
|
+
"OSError",
|
|
17294
|
+
"OverflowError",
|
|
17295
|
+
"PendingDeprecationWarning",
|
|
17296
|
+
"PermissionError",
|
|
17297
|
+
"ProcessLookupError",
|
|
17298
|
+
"RecursionError",
|
|
17299
|
+
"ReferenceError",
|
|
17300
|
+
"ResourceWarning",
|
|
17301
|
+
"RuntimeError",
|
|
17302
|
+
"RuntimeWarning",
|
|
17303
|
+
"StopAsyncIteration",
|
|
17304
|
+
"StopIteration",
|
|
17305
|
+
"SyntaxError",
|
|
17306
|
+
"SyntaxWarning",
|
|
17307
|
+
"SystemError",
|
|
17308
|
+
"SystemExit",
|
|
17309
|
+
"TabError",
|
|
17310
|
+
"TimeoutError",
|
|
17311
|
+
"TypeError",
|
|
17312
|
+
"UnboundLocalError",
|
|
17313
|
+
"UnicodeDecodeError",
|
|
17314
|
+
"UnicodeEncodeError",
|
|
17315
|
+
"UnicodeError",
|
|
17316
|
+
"UnicodeTranslateError",
|
|
17317
|
+
"UnicodeWarning",
|
|
17318
|
+
"UserWarning",
|
|
17319
|
+
"ValueError",
|
|
17320
|
+
"Warning",
|
|
17321
|
+
"ZeroDivisionError"
|
|
17322
|
+
].map((n) => ({ label: n, type: "type" }))).concat(/* @__PURE__ */ [
|
|
17323
|
+
"bool",
|
|
17324
|
+
"bytearray",
|
|
17325
|
+
"bytes",
|
|
17326
|
+
"classmethod",
|
|
17327
|
+
"complex",
|
|
17328
|
+
"float",
|
|
17329
|
+
"frozenset",
|
|
17330
|
+
"int",
|
|
17331
|
+
"list",
|
|
17332
|
+
"map",
|
|
17333
|
+
"memoryview",
|
|
17334
|
+
"object",
|
|
17335
|
+
"range",
|
|
17336
|
+
"set",
|
|
17337
|
+
"staticmethod",
|
|
17338
|
+
"str",
|
|
17339
|
+
"super",
|
|
17340
|
+
"tuple",
|
|
17341
|
+
"type"
|
|
17342
|
+
].map((n) => ({ label: n, type: "class" }))).concat(/* @__PURE__ */ [
|
|
17343
|
+
"abs",
|
|
17344
|
+
"aiter",
|
|
17345
|
+
"all",
|
|
17346
|
+
"anext",
|
|
17347
|
+
"any",
|
|
17348
|
+
"ascii",
|
|
17349
|
+
"bin",
|
|
17350
|
+
"breakpoint",
|
|
17351
|
+
"callable",
|
|
17352
|
+
"chr",
|
|
17353
|
+
"compile",
|
|
17354
|
+
"delattr",
|
|
17355
|
+
"dict",
|
|
17356
|
+
"dir",
|
|
17357
|
+
"divmod",
|
|
17358
|
+
"enumerate",
|
|
17359
|
+
"eval",
|
|
17360
|
+
"exec",
|
|
17361
|
+
"exit",
|
|
17362
|
+
"filter",
|
|
17363
|
+
"format",
|
|
17364
|
+
"getattr",
|
|
17365
|
+
"globals",
|
|
17366
|
+
"hasattr",
|
|
17367
|
+
"hash",
|
|
17368
|
+
"help",
|
|
17369
|
+
"hex",
|
|
17370
|
+
"id",
|
|
17371
|
+
"input",
|
|
17372
|
+
"isinstance",
|
|
17373
|
+
"issubclass",
|
|
17374
|
+
"iter",
|
|
17375
|
+
"len",
|
|
17376
|
+
"license",
|
|
17377
|
+
"locals",
|
|
17378
|
+
"max",
|
|
17379
|
+
"min",
|
|
17380
|
+
"next",
|
|
17381
|
+
"oct",
|
|
17382
|
+
"open",
|
|
17383
|
+
"ord",
|
|
17384
|
+
"pow",
|
|
17385
|
+
"print",
|
|
17386
|
+
"property",
|
|
17387
|
+
"quit",
|
|
17388
|
+
"repr",
|
|
17389
|
+
"reversed",
|
|
17390
|
+
"round",
|
|
17391
|
+
"setattr",
|
|
17392
|
+
"slice",
|
|
17393
|
+
"sorted",
|
|
17394
|
+
"sum",
|
|
17395
|
+
"vars",
|
|
17396
|
+
"zip"
|
|
17397
|
+
].map((n) => ({ label: n, type: "function" })));
|
|
17398
|
+
const snippets = [
|
|
17399
|
+
/* @__PURE__ */ snippetCompletion("def ${name}(${params}):\n ${}", {
|
|
17400
|
+
label: "def",
|
|
17401
|
+
detail: "function",
|
|
17402
|
+
type: "keyword"
|
|
17403
|
+
}),
|
|
17404
|
+
/* @__PURE__ */ snippetCompletion("for ${name} in ${collection}:\n ${}", {
|
|
17405
|
+
label: "for",
|
|
17406
|
+
detail: "loop",
|
|
17407
|
+
type: "keyword"
|
|
17408
|
+
}),
|
|
17409
|
+
/* @__PURE__ */ snippetCompletion("while ${}:\n ${}", {
|
|
17410
|
+
label: "while",
|
|
17411
|
+
detail: "loop",
|
|
17412
|
+
type: "keyword"
|
|
17413
|
+
}),
|
|
17414
|
+
/* @__PURE__ */ snippetCompletion("try:\n ${}\nexcept ${error}:\n ${}", {
|
|
17415
|
+
label: "try",
|
|
17416
|
+
detail: "/ except block",
|
|
17417
|
+
type: "keyword"
|
|
17418
|
+
}),
|
|
17419
|
+
/* @__PURE__ */ snippetCompletion("if ${}:\n \n", {
|
|
17420
|
+
label: "if",
|
|
17421
|
+
detail: "block",
|
|
17422
|
+
type: "keyword"
|
|
17423
|
+
}),
|
|
17424
|
+
/* @__PURE__ */ snippetCompletion("if ${}:\n ${}\nelse:\n ${}", {
|
|
17425
|
+
label: "if",
|
|
17426
|
+
detail: "/ else block",
|
|
17427
|
+
type: "keyword"
|
|
17428
|
+
}),
|
|
17429
|
+
/* @__PURE__ */ snippetCompletion("class ${name}:\n def __init__(self, ${params}):\n ${}", {
|
|
17430
|
+
label: "class",
|
|
17431
|
+
detail: "definition",
|
|
17432
|
+
type: "keyword"
|
|
17433
|
+
}),
|
|
17434
|
+
/* @__PURE__ */ snippetCompletion("import ${module}", {
|
|
17435
|
+
label: "import",
|
|
17436
|
+
detail: "statement",
|
|
17437
|
+
type: "keyword"
|
|
17438
|
+
}),
|
|
17439
|
+
/* @__PURE__ */ snippetCompletion("from ${module} import ${names}", {
|
|
17440
|
+
label: "from",
|
|
17441
|
+
detail: "import",
|
|
17442
|
+
type: "keyword"
|
|
17443
|
+
})
|
|
17444
|
+
];
|
|
17445
|
+
const globalCompletion = /* @__PURE__ */ ifNotIn(dontComplete, /* @__PURE__ */ completeFromList(/* @__PURE__ */ globals.concat(snippets)));
|
|
17446
|
+
function innerBody(context) {
|
|
17447
|
+
let { node, pos } = context;
|
|
17448
|
+
let lineIndent = context.lineIndent(pos, -1);
|
|
17449
|
+
let found = null;
|
|
17450
|
+
for (; ; ) {
|
|
17451
|
+
let before = node.childBefore(pos);
|
|
17452
|
+
if (!before) {
|
|
17453
|
+
break;
|
|
17454
|
+
} else if (before.name == "Comment") {
|
|
17455
|
+
pos = before.from;
|
|
17456
|
+
} else if (before.name == "Body" || before.name == "MatchBody") {
|
|
17457
|
+
if (context.baseIndentFor(before) + context.unit <= lineIndent)
|
|
17458
|
+
found = before;
|
|
17459
|
+
node = before;
|
|
17460
|
+
} else if (before.name == "MatchClause") {
|
|
17461
|
+
node = before;
|
|
17462
|
+
} else if (before.type.is("Statement")) {
|
|
17463
|
+
node = before;
|
|
17464
|
+
} else {
|
|
17465
|
+
break;
|
|
17466
|
+
}
|
|
17467
|
+
}
|
|
17468
|
+
return found;
|
|
17469
|
+
}
|
|
17470
|
+
function indentBody(context, node) {
|
|
17471
|
+
let base = context.baseIndentFor(node);
|
|
17472
|
+
let line = context.lineAt(context.pos, -1), to = line.from + line.text.length;
|
|
17473
|
+
if (/^\s*($|#)/.test(line.text) && context.node.to < to + 100 && !/\S/.test(context.state.sliceDoc(to, context.node.to)) && context.lineIndent(context.pos, -1) <= base)
|
|
17474
|
+
return null;
|
|
17475
|
+
if (/^\s*(else:|elif |except |finally:|case\s+[^=:]+:)/.test(context.textAfter) && context.lineIndent(context.pos, -1) > base)
|
|
17476
|
+
return null;
|
|
17477
|
+
return base + context.unit;
|
|
17478
|
+
}
|
|
17479
|
+
const pythonLanguage = /* @__PURE__ */ LRLanguage.define({
|
|
17480
|
+
name: "python",
|
|
17481
|
+
parser: /* @__PURE__ */ parser.configure({
|
|
17482
|
+
props: [
|
|
17483
|
+
/* @__PURE__ */ indentNodeProp.add({
|
|
17484
|
+
Body: (context) => {
|
|
17485
|
+
var _a;
|
|
17486
|
+
let body = /^\s*(#|$)/.test(context.textAfter) && innerBody(context) || context.node;
|
|
17487
|
+
return (_a = indentBody(context, body)) !== null && _a !== void 0 ? _a : context.continue();
|
|
17488
|
+
},
|
|
17489
|
+
MatchBody: (context) => {
|
|
17490
|
+
var _a;
|
|
17491
|
+
let inner = innerBody(context);
|
|
17492
|
+
return (_a = indentBody(context, inner || context.node)) !== null && _a !== void 0 ? _a : context.continue();
|
|
17493
|
+
},
|
|
17494
|
+
IfStatement: (cx) => /^\s*(else:|elif )/.test(cx.textAfter) ? cx.baseIndent : cx.continue(),
|
|
17495
|
+
"ForStatement WhileStatement": (cx) => /^\s*else:/.test(cx.textAfter) ? cx.baseIndent : cx.continue(),
|
|
17496
|
+
TryStatement: (cx) => /^\s*(except[ :]|finally:|else:)/.test(cx.textAfter) ? cx.baseIndent : cx.continue(),
|
|
17497
|
+
MatchStatement: (cx) => {
|
|
17498
|
+
if (/^\s*case /.test(cx.textAfter))
|
|
17499
|
+
return cx.baseIndent + cx.unit;
|
|
17500
|
+
return cx.continue();
|
|
17501
|
+
},
|
|
17502
|
+
"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression": /* @__PURE__ */ delimitedIndent({ closing: ")" }),
|
|
17503
|
+
"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression": /* @__PURE__ */ delimitedIndent({ closing: "}" }),
|
|
17504
|
+
"ArrayExpression ArrayComprehensionExpression": /* @__PURE__ */ delimitedIndent({ closing: "]" }),
|
|
17505
|
+
MemberExpression: (cx) => cx.baseIndent + cx.unit,
|
|
17506
|
+
"String FormatString": () => null,
|
|
17507
|
+
Script: (context) => {
|
|
17508
|
+
var _a;
|
|
17509
|
+
let inner = innerBody(context);
|
|
17510
|
+
return (_a = inner && indentBody(context, inner)) !== null && _a !== void 0 ? _a : context.continue();
|
|
17511
|
+
}
|
|
17512
|
+
}),
|
|
17513
|
+
/* @__PURE__ */ foldNodeProp.add({
|
|
17514
|
+
"ArrayExpression DictionaryExpression SetExpression TupleExpression": foldInside,
|
|
17515
|
+
Body: (node, state2) => ({ from: node.from + 1, to: node.to - (node.to == state2.doc.length ? 0 : 1) }),
|
|
17516
|
+
"String FormatString": (node, state2) => ({ from: state2.doc.lineAt(node.from).to, to: node.to })
|
|
17517
|
+
})
|
|
17518
|
+
]
|
|
17519
|
+
}),
|
|
17520
|
+
languageData: {
|
|
17521
|
+
closeBrackets: {
|
|
17522
|
+
brackets: ["(", "[", "{", "'", '"', "'''", '"""'],
|
|
17523
|
+
stringPrefixes: [
|
|
17524
|
+
"f",
|
|
17525
|
+
"fr",
|
|
17526
|
+
"rf",
|
|
17527
|
+
"r",
|
|
17528
|
+
"u",
|
|
17529
|
+
"b",
|
|
17530
|
+
"br",
|
|
17531
|
+
"rb",
|
|
17532
|
+
"F",
|
|
17533
|
+
"FR",
|
|
17534
|
+
"RF",
|
|
17535
|
+
"R",
|
|
17536
|
+
"U",
|
|
17537
|
+
"B",
|
|
17538
|
+
"BR",
|
|
17539
|
+
"RB"
|
|
17540
|
+
]
|
|
17541
|
+
},
|
|
17542
|
+
commentTokens: { line: "#" },
|
|
17543
|
+
// Indent logic logic are triggered upon below input patterns
|
|
17544
|
+
indentOnInput: /^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/
|
|
17545
|
+
}
|
|
17546
|
+
});
|
|
17547
|
+
function python() {
|
|
17548
|
+
return new LanguageSupport(pythonLanguage, [
|
|
17549
|
+
pythonLanguage.data.of({ autocomplete: localCompletionSource }),
|
|
17550
|
+
pythonLanguage.data.of({ autocomplete: globalCompletion })
|
|
17551
|
+
]);
|
|
17552
|
+
}
|
|
17553
|
+
const chalky = "#e5c07b", coral = "#e06c75", cyan = "#56b6c2", invalid = "#ffffff", ivory = "#abb2bf", stone = "#7d8799", malibu = "#61afef", sage = "#98c379", whiskey = "#d19a66", violet = "#c678dd", darkBackground = "#21252b", highlightBackground = "#2c313a", background = "#282c34", tooltipBackground = "#353a42", selection = "#3E4451", cursor = "#528bff";
|
|
17554
|
+
const oneDarkTheme = /* @__PURE__ */ EditorView.theme({
|
|
17555
|
+
"&": {
|
|
17556
|
+
color: ivory,
|
|
17557
|
+
backgroundColor: background
|
|
17558
|
+
},
|
|
17559
|
+
".cm-content": {
|
|
17560
|
+
caretColor: cursor
|
|
17561
|
+
},
|
|
17562
|
+
".cm-cursor, .cm-dropCursor": { borderLeftColor: cursor },
|
|
17563
|
+
"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection": { backgroundColor: selection },
|
|
17564
|
+
".cm-panels": { backgroundColor: darkBackground, color: ivory },
|
|
17565
|
+
".cm-panels.cm-panels-top": { borderBottom: "2px solid black" },
|
|
17566
|
+
".cm-panels.cm-panels-bottom": { borderTop: "2px solid black" },
|
|
17567
|
+
".cm-searchMatch": {
|
|
17568
|
+
backgroundColor: "#72a1ff59",
|
|
17569
|
+
outline: "1px solid #457dff"
|
|
17570
|
+
},
|
|
17571
|
+
".cm-searchMatch.cm-searchMatch-selected": {
|
|
17572
|
+
backgroundColor: "#6199ff2f"
|
|
17573
|
+
},
|
|
17574
|
+
".cm-activeLine": { backgroundColor: "#6699ff0b" },
|
|
17575
|
+
".cm-selectionMatch": { backgroundColor: "#aafe661a" },
|
|
17576
|
+
"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket": {
|
|
17577
|
+
backgroundColor: "#bad0f847"
|
|
17578
|
+
},
|
|
17579
|
+
".cm-gutters": {
|
|
17580
|
+
backgroundColor: background,
|
|
17581
|
+
color: stone,
|
|
17582
|
+
border: "none"
|
|
17583
|
+
},
|
|
17584
|
+
".cm-activeLineGutter": {
|
|
17585
|
+
backgroundColor: highlightBackground
|
|
17586
|
+
},
|
|
17587
|
+
".cm-foldPlaceholder": {
|
|
17588
|
+
backgroundColor: "transparent",
|
|
17589
|
+
border: "none",
|
|
17590
|
+
color: "#ddd"
|
|
17591
|
+
},
|
|
17592
|
+
".cm-tooltip": {
|
|
17593
|
+
border: "none",
|
|
17594
|
+
backgroundColor: tooltipBackground
|
|
17595
|
+
},
|
|
17596
|
+
".cm-tooltip .cm-tooltip-arrow:before": {
|
|
17597
|
+
borderTopColor: "transparent",
|
|
17598
|
+
borderBottomColor: "transparent"
|
|
17599
|
+
},
|
|
17600
|
+
".cm-tooltip .cm-tooltip-arrow:after": {
|
|
17601
|
+
borderTopColor: tooltipBackground,
|
|
17602
|
+
borderBottomColor: tooltipBackground
|
|
17603
|
+
},
|
|
17604
|
+
".cm-tooltip-autocomplete": {
|
|
17605
|
+
"& > ul > li[aria-selected]": {
|
|
17606
|
+
backgroundColor: highlightBackground,
|
|
17607
|
+
color: ivory
|
|
17608
|
+
}
|
|
17609
|
+
}
|
|
17610
|
+
}, { dark: true });
|
|
17611
|
+
const oneDarkHighlightStyle = /* @__PURE__ */ HighlightStyle.define([
|
|
17612
|
+
{
|
|
17613
|
+
tag: tags.keyword,
|
|
17614
|
+
color: violet
|
|
17615
|
+
},
|
|
17616
|
+
{
|
|
17617
|
+
tag: [tags.name, tags.deleted, tags.character, tags.propertyName, tags.macroName],
|
|
17618
|
+
color: coral
|
|
17619
|
+
},
|
|
17620
|
+
{
|
|
17621
|
+
tag: [/* @__PURE__ */ tags.function(tags.variableName), tags.labelName],
|
|
17622
|
+
color: malibu
|
|
17623
|
+
},
|
|
17624
|
+
{
|
|
17625
|
+
tag: [tags.color, /* @__PURE__ */ tags.constant(tags.name), /* @__PURE__ */ tags.standard(tags.name)],
|
|
17626
|
+
color: whiskey
|
|
17627
|
+
},
|
|
17628
|
+
{
|
|
17629
|
+
tag: [/* @__PURE__ */ tags.definition(tags.name), tags.separator],
|
|
17630
|
+
color: ivory
|
|
17631
|
+
},
|
|
17632
|
+
{
|
|
17633
|
+
tag: [tags.typeName, tags.className, tags.number, tags.changed, tags.annotation, tags.modifier, tags.self, tags.namespace],
|
|
17634
|
+
color: chalky
|
|
17635
|
+
},
|
|
17636
|
+
{
|
|
17637
|
+
tag: [tags.operator, tags.operatorKeyword, tags.url, tags.escape, tags.regexp, tags.link, /* @__PURE__ */ tags.special(tags.string)],
|
|
17638
|
+
color: cyan
|
|
17639
|
+
},
|
|
17640
|
+
{
|
|
17641
|
+
tag: [tags.meta, tags.comment],
|
|
17642
|
+
color: stone
|
|
17643
|
+
},
|
|
17644
|
+
{
|
|
17645
|
+
tag: tags.strong,
|
|
17646
|
+
fontWeight: "bold"
|
|
17647
|
+
},
|
|
17648
|
+
{
|
|
17649
|
+
tag: tags.emphasis,
|
|
17650
|
+
fontStyle: "italic"
|
|
17651
|
+
},
|
|
17652
|
+
{
|
|
17653
|
+
tag: tags.strikethrough,
|
|
17654
|
+
textDecoration: "line-through"
|
|
17655
|
+
},
|
|
17656
|
+
{
|
|
17657
|
+
tag: tags.link,
|
|
17658
|
+
color: stone,
|
|
17659
|
+
textDecoration: "underline"
|
|
17660
|
+
},
|
|
17661
|
+
{
|
|
17662
|
+
tag: tags.heading,
|
|
17663
|
+
fontWeight: "bold",
|
|
17664
|
+
color: coral
|
|
17665
|
+
},
|
|
17666
|
+
{
|
|
17667
|
+
tag: [tags.atom, tags.bool, /* @__PURE__ */ tags.special(tags.variableName)],
|
|
17668
|
+
color: whiskey
|
|
17669
|
+
},
|
|
17670
|
+
{
|
|
17671
|
+
tag: [tags.processingInstruction, tags.string, tags.inserted],
|
|
17672
|
+
color: sage
|
|
17673
|
+
},
|
|
17674
|
+
{
|
|
17675
|
+
tag: tags.invalid,
|
|
17676
|
+
color: invalid
|
|
17677
|
+
}
|
|
17678
|
+
]);
|
|
17679
|
+
const oneDark = [oneDarkTheme, /* @__PURE__ */ syntaxHighlighting(oneDarkHighlightStyle)];
|
|
17680
|
+
const _hoisted_1$a = { class: "code-container" };
|
|
17681
|
+
const _hoisted_2$7 = { class: "code-header" };
|
|
17682
|
+
const _hoisted_3$6 = { class: "header-actions" };
|
|
17683
|
+
const _hoisted_4$6 = ["disabled"];
|
|
17684
|
+
const _hoisted_5$5 = {
|
|
17685
|
+
key: 0,
|
|
17686
|
+
width: "16",
|
|
17687
|
+
height: "16",
|
|
17688
|
+
viewBox: "0 0 24 24",
|
|
17689
|
+
fill: "none",
|
|
17690
|
+
stroke: "currentColor",
|
|
17691
|
+
"stroke-width": "2"
|
|
17692
|
+
};
|
|
17693
|
+
const _hoisted_6$4 = {
|
|
17694
|
+
key: 1,
|
|
17695
|
+
class: "spinner"
|
|
17696
|
+
};
|
|
17697
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
17698
|
+
__name: "CodeGenerator",
|
|
17699
|
+
setup(__props) {
|
|
17700
|
+
const code = ref("");
|
|
17701
|
+
const loading = ref(false);
|
|
17702
|
+
const nodeStore = useNodeStore();
|
|
17703
|
+
const lastLoadedFlowId = ref(null);
|
|
17704
|
+
const extensions = [
|
|
17705
|
+
python(),
|
|
17706
|
+
oneDark,
|
|
17707
|
+
EditorView.theme({
|
|
17708
|
+
"&": { fontSize: "11px" },
|
|
17709
|
+
".cm-content": { padding: "20px" },
|
|
17710
|
+
".cm-focused": { outline: "none" }
|
|
17711
|
+
})
|
|
17712
|
+
];
|
|
17713
|
+
const fetchCode = async () => {
|
|
17714
|
+
loading.value = true;
|
|
17715
|
+
try {
|
|
17716
|
+
const response = await axios.get(`/editor/code_to_polars?flow_id=${nodeStore.flow_id}`);
|
|
17717
|
+
code.value = response.data;
|
|
17718
|
+
lastLoadedFlowId.value = nodeStore.flow_id;
|
|
17719
|
+
} catch (error) {
|
|
17720
|
+
console.error("Failed to fetch code:", error);
|
|
17721
|
+
code.value = "# Failed to generate code. Please check your flow configuration.";
|
|
17722
|
+
} finally {
|
|
17723
|
+
loading.value = false;
|
|
17724
|
+
}
|
|
17725
|
+
};
|
|
17726
|
+
watch$1(
|
|
17727
|
+
() => nodeStore.showCodeGenerator,
|
|
17728
|
+
(isShowing) => {
|
|
17729
|
+
if (isShowing && nodeStore.flow_id > 0) {
|
|
17730
|
+
fetchCode();
|
|
17731
|
+
}
|
|
17732
|
+
}
|
|
17733
|
+
);
|
|
17734
|
+
watch$1(
|
|
17735
|
+
() => nodeStore.flow_id,
|
|
17736
|
+
(newFlowId) => {
|
|
17737
|
+
if (nodeStore.showCodeGenerator && newFlowId !== lastLoadedFlowId.value && newFlowId > 0) {
|
|
17738
|
+
fetchCode();
|
|
17739
|
+
}
|
|
17740
|
+
}
|
|
17741
|
+
);
|
|
17742
|
+
onMounted(() => {
|
|
17743
|
+
if (nodeStore.showCodeGenerator && nodeStore.flow_id > 0) {
|
|
17744
|
+
fetchCode();
|
|
17745
|
+
}
|
|
17746
|
+
});
|
|
17747
|
+
const refreshCode = () => {
|
|
17748
|
+
if (nodeStore.flow_id > 0) {
|
|
17749
|
+
fetchCode();
|
|
17750
|
+
}
|
|
17751
|
+
};
|
|
17752
|
+
const exportCode = () => {
|
|
17753
|
+
const blob = new Blob([code.value], { type: "text/plain" });
|
|
17754
|
+
const url = URL.createObjectURL(blob);
|
|
17755
|
+
const a3 = document.createElement("a");
|
|
17756
|
+
a3.href = url;
|
|
17757
|
+
a3.download = "pipeline_code.py";
|
|
17758
|
+
document.body.appendChild(a3);
|
|
17759
|
+
a3.click();
|
|
17760
|
+
document.body.removeChild(a3);
|
|
17761
|
+
URL.revokeObjectURL(url);
|
|
17762
|
+
};
|
|
17763
|
+
return (_ctx, _cache) => {
|
|
17764
|
+
return openBlock(), createElementBlock("div", _hoisted_1$a, [
|
|
17765
|
+
createBaseVNode("div", _hoisted_2$7, [
|
|
17766
|
+
_cache[3] || (_cache[3] = createBaseVNode("h4", null, "Generated code", -1)),
|
|
17767
|
+
createBaseVNode("div", _hoisted_3$6, [
|
|
17768
|
+
createBaseVNode("button", {
|
|
17769
|
+
class: "refresh-button",
|
|
17770
|
+
disabled: loading.value,
|
|
17771
|
+
onClick: refreshCode
|
|
17772
|
+
}, [
|
|
17773
|
+
!loading.value ? (openBlock(), createElementBlock("svg", _hoisted_5$5, _cache[1] || (_cache[1] = [
|
|
17774
|
+
createBaseVNode("path", { d: "M23 4v6h-6" }, null, -1),
|
|
17775
|
+
createBaseVNode("path", { d: "M1 20v-6h6" }, null, -1),
|
|
17776
|
+
createBaseVNode("path", { d: "M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" }, null, -1)
|
|
17777
|
+
]))) : createCommentVNode("", true),
|
|
17778
|
+
loading.value ? (openBlock(), createElementBlock("span", _hoisted_6$4)) : createCommentVNode("", true),
|
|
17779
|
+
createTextVNode(" " + toDisplayString(loading.value ? "Loading..." : "Refresh"), 1)
|
|
17780
|
+
], 8, _hoisted_4$6),
|
|
17781
|
+
createBaseVNode("button", {
|
|
17782
|
+
class: "export-button",
|
|
17783
|
+
onClick: exportCode
|
|
17784
|
+
}, _cache[2] || (_cache[2] = [
|
|
17785
|
+
createBaseVNode("svg", {
|
|
17786
|
+
width: "16",
|
|
17787
|
+
height: "16",
|
|
17788
|
+
viewBox: "0 0 24 24",
|
|
17789
|
+
fill: "none",
|
|
17790
|
+
stroke: "currentColor",
|
|
17791
|
+
"stroke-width": "2"
|
|
17792
|
+
}, [
|
|
17793
|
+
createBaseVNode("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
17794
|
+
createBaseVNode("polyline", { points: "7 10 12 15 17 10" }),
|
|
17795
|
+
createBaseVNode("line", {
|
|
17796
|
+
x1: "12",
|
|
17797
|
+
y1: "15",
|
|
17798
|
+
x2: "12",
|
|
17799
|
+
y2: "3"
|
|
17800
|
+
})
|
|
17801
|
+
], -1),
|
|
17802
|
+
createTextVNode(" Export Code ")
|
|
17803
|
+
]))
|
|
17804
|
+
])
|
|
17805
|
+
]),
|
|
17806
|
+
createVNode(unref(T), {
|
|
17807
|
+
modelValue: code.value,
|
|
17808
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => code.value = $event),
|
|
17809
|
+
extensions,
|
|
17810
|
+
disabled: true
|
|
17811
|
+
}, null, 8, ["modelValue"])
|
|
17812
|
+
]);
|
|
17813
|
+
};
|
|
17814
|
+
}
|
|
17815
|
+
});
|
|
17816
|
+
const CodeGenerator_vue_vue_type_style_index_0_scoped_8bafe064_lang = "";
|
|
17817
|
+
const CodeGenerator = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-8bafe064"]]);
|
|
15111
17818
|
const __vite_glob_0_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAYAAACoYAD2AAACO0lEQVR4nN2Yz0vbYBjHv29NbZUy0B43QUG9zNPEHUT05NCTiu6o0NbDLk5a/RMERaonkSrO8zw4alFQtBsMBG96kJ5EUTcRh78QRGvsu4O8MSk1fdMmaeLnlL7p++ST53kfkjeADSCKX5GI4Ci+XQCl3uwzKXUkyYD4ZWjXKDnpUuxA+BbeBEij9hD0SgwMl+kplY5McoLmHEVMNYi06E/eNs4iEQf/zjEyonDRR9IAxMCQ5OYopIgawlz4gR1bVhKECJgPvwOsLAlAoIgAFpdMgXgAQFD704M/ZI4NAOf85IvnLJ1Jhi0kVcvNUCtFvvAsKVtk0haSXOU2s8sz8XoyqWfjsKpMJ3bQUVmNt6WerHNMzSQT/ByPYXDrJyq/z+Li/i7rPK5M6gET7NqIYvloXxovd7mzzjW1cdrXFrHx91BzXNPKnS6Y1HDjhjYOy1TnelQp6Aum7QDVMSyTTLAnHsPK8fMaTPqCIESLokGScsGlwz1pPBdBgLPciR4fd8CaN0+72871qDKD/pCmEsvhkmQX5qVtdRHxE2WT5CoI6Ng4/to6zDR9wlRiWymosUkyoduaHG1oBgAEt35JY7muwXR0eeJ4BCfKXW78Pn36iDH+sQXBuno9QgPglIy1dqme97pLAAA752eGvNZxSbZXVHEF+/r+Q14yL2GL90lbSKqW28hdohYsnUkCeglYXPKx2NkHyCQpJT8Kp5MJmkTv4A0gk3zsD3WnQMYKJyWHXouBYVehLV4f/wHit6c8llKODwAAAABJRU5ErkJggg==";
|
|
15112
17819
|
const __vite_glob_0_1 = "/assets/airbyte-292aa232.png";
|
|
15113
17820
|
const __vite_glob_0_2 = "/assets/cross_join-d30c0290.png";
|
|
@@ -18004,7 +20711,7 @@ function isStopPropagationForAgGrid(event) {
|
|
|
18004
20711
|
return event[AG_GRID_STOP_PROPAGATION] === true;
|
|
18005
20712
|
}
|
|
18006
20713
|
var isEventSupported = /* @__PURE__ */ (() => {
|
|
18007
|
-
const
|
|
20714
|
+
const tags2 = {
|
|
18008
20715
|
select: "input",
|
|
18009
20716
|
change: "input",
|
|
18010
20717
|
submit: "form",
|
|
@@ -18017,7 +20724,7 @@ var isEventSupported = /* @__PURE__ */ (() => {
|
|
|
18017
20724
|
if (typeof supports[eventName] === "boolean") {
|
|
18018
20725
|
return supports[eventName];
|
|
18019
20726
|
}
|
|
18020
|
-
const el = document.createElement(
|
|
20727
|
+
const el = document.createElement(tags2[eventName] || "div");
|
|
18021
20728
|
eventName = "on" + eventName;
|
|
18022
20729
|
return supports[eventName] = eventName in el;
|
|
18023
20730
|
};
|
|
@@ -19215,7 +21922,7 @@ __export(map_exports, {
|
|
|
19215
21922
|
});
|
|
19216
21923
|
function convertToMap(arr) {
|
|
19217
21924
|
const map = /* @__PURE__ */ new Map();
|
|
19218
|
-
arr.forEach((
|
|
21925
|
+
arr.forEach((pair2) => map.set(pair2[0], pair2[1]));
|
|
19219
21926
|
return map;
|
|
19220
21927
|
}
|
|
19221
21928
|
function mapById(arr, callback) {
|
|
@@ -25991,8 +28698,8 @@ var PositionableFeature = class extends BeanStub {
|
|
|
25991
28698
|
if (!eGui) {
|
|
25992
28699
|
return;
|
|
25993
28700
|
}
|
|
25994
|
-
const
|
|
25995
|
-
const resizers =
|
|
28701
|
+
const parser2 = new DOMParser();
|
|
28702
|
+
const resizers = parser2.parseFromString(RESIZE_TEMPLATE, "text/html").body;
|
|
25996
28703
|
eGui.appendChild(resizers.firstChild);
|
|
25997
28704
|
this.createResizeMap();
|
|
25998
28705
|
this.resizersAdded = true;
|
|
@@ -36948,9 +39655,9 @@ var QuickFilterService = class extends BeanStub {
|
|
|
36948
39655
|
this.rowModel.forEachNode((node) => node.quickFilterAggregateText = null);
|
|
36949
39656
|
}
|
|
36950
39657
|
setQuickFilterParts() {
|
|
36951
|
-
const { quickFilter, parser } = this;
|
|
39658
|
+
const { quickFilter, parser: parser2 } = this;
|
|
36952
39659
|
if (quickFilter) {
|
|
36953
|
-
this.quickFilterParts =
|
|
39660
|
+
this.quickFilterParts = parser2 ? parser2(quickFilter) : quickFilter.split(" ");
|
|
36954
39661
|
} else {
|
|
36955
39662
|
this.quickFilterParts = null;
|
|
36956
39663
|
}
|
|
@@ -36978,10 +39685,10 @@ var QuickFilterService = class extends BeanStub {
|
|
|
36978
39685
|
}
|
|
36979
39686
|
}
|
|
36980
39687
|
setQuickFilterParserAndMatcher() {
|
|
36981
|
-
const
|
|
39688
|
+
const parser2 = this.gos.get("quickFilterParser");
|
|
36982
39689
|
const matcher2 = this.gos.get("quickFilterMatcher");
|
|
36983
|
-
const hasChanged =
|
|
36984
|
-
this.parser =
|
|
39690
|
+
const hasChanged = parser2 !== this.parser || matcher2 !== this.matcher;
|
|
39691
|
+
this.parser = parser2;
|
|
36985
39692
|
this.matcher = matcher2;
|
|
36986
39693
|
if (hasChanged) {
|
|
36987
39694
|
this.setQuickFilterParts();
|
|
@@ -61213,7 +63920,7 @@ var COLUMN_DEFINITION_VALIDATIONS = {
|
|
|
61213
63920
|
menuTabs: (options) => {
|
|
61214
63921
|
var _a;
|
|
61215
63922
|
const enterpriseMenuTabs = ["columnsMenuTab", "generalMenuTab"];
|
|
61216
|
-
if ((_a = options.menuTabs) == null ? void 0 : _a.some((
|
|
63923
|
+
if ((_a = options.menuTabs) == null ? void 0 : _a.some((tab2) => enterpriseMenuTabs.includes(tab2))) {
|
|
61217
63924
|
return {
|
|
61218
63925
|
module: "@ag-grid-enterprise/menu"
|
|
61219
63926
|
/* MenuModule */
|
|
@@ -67634,7 +70341,7 @@ var formatters = {
|
|
|
67634
70341
|
return addLeadingZeros(timestamp, token.length);
|
|
67635
70342
|
},
|
|
67636
70343
|
// Milliseconds timestamp
|
|
67637
|
-
T: function
|
|
70344
|
+
T: function T2(date, token, _localize, options) {
|
|
67638
70345
|
var originalDate = options._originalDate || date;
|
|
67639
70346
|
var timestamp = originalDate.getTime();
|
|
67640
70347
|
return addLeadingZeros(timestamp, token.length);
|
|
@@ -68961,6 +71668,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
68961
71668
|
event.preventDefault();
|
|
68962
71669
|
emit("run", nodeStore.flow_id);
|
|
68963
71670
|
}
|
|
71671
|
+
} else if (eventKeyClicked && event.key == "g") {
|
|
71672
|
+
if (nodeStore.flow_id) {
|
|
71673
|
+
event.preventDefault();
|
|
71674
|
+
nodeStore.toggleCodeGenerator();
|
|
71675
|
+
}
|
|
68964
71676
|
}
|
|
68965
71677
|
};
|
|
68966
71678
|
const handleContextMenu = (event) => {
|
|
@@ -68974,6 +71686,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
68974
71686
|
};
|
|
68975
71687
|
const closeContextMenu = () => {
|
|
68976
71688
|
showContextMenu.value = false;
|
|
71689
|
+
nodeStore.setCodeGeneratorVisibility(false);
|
|
68977
71690
|
};
|
|
68978
71691
|
onMounted(async () => {
|
|
68979
71692
|
availableHeight.value = window.innerHeight - 50;
|
|
@@ -69017,7 +71730,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
69017
71730
|
onClick: closeContextMenu
|
|
69018
71731
|
}, {
|
|
69019
71732
|
default: withCtx(() => [
|
|
69020
|
-
createVNode(unref(_sfc_main$
|
|
71733
|
+
createVNode(unref(_sfc_main$d))
|
|
69021
71734
|
]),
|
|
69022
71735
|
_: 1
|
|
69023
71736
|
}, 8, ["nodes", "edges", "connection-mode"]),
|
|
@@ -69116,7 +71829,22 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
69116
71829
|
])),
|
|
69117
71830
|
_: 1,
|
|
69118
71831
|
__: [2]
|
|
69119
|
-
}, 8, ["initial-height", "on-minize"])) : createCommentVNode("", true)
|
|
71832
|
+
}, 8, ["initial-height", "on-minize"])) : createCommentVNode("", true),
|
|
71833
|
+
unref(nodeStore).showCodeGenerator ? (openBlock(), createBlock(DraggableItem, {
|
|
71834
|
+
key: 4,
|
|
71835
|
+
id: "generatedCode",
|
|
71836
|
+
"show-left": true,
|
|
71837
|
+
"initial-width": 800,
|
|
71838
|
+
"initial-position": "right",
|
|
71839
|
+
"allow-free-move": true,
|
|
71840
|
+
"allow-full-screen": true,
|
|
71841
|
+
"on-minize": () => unref(nodeStore).setCodeGeneratorVisibility(false)
|
|
71842
|
+
}, {
|
|
71843
|
+
default: withCtx(() => [
|
|
71844
|
+
createVNode(CodeGenerator)
|
|
71845
|
+
]),
|
|
71846
|
+
_: 1
|
|
71847
|
+
}, 8, ["on-minize"])) : createCommentVNode("", true)
|
|
69120
71848
|
]);
|
|
69121
71849
|
};
|
|
69122
71850
|
}
|
|
@@ -69737,6 +72465,8 @@ export {
|
|
|
69737
72465
|
designer$1 as d,
|
|
69738
72466
|
getImageUrl as g,
|
|
69739
72467
|
info_filled_default as i,
|
|
72468
|
+
oneDark as o,
|
|
72469
|
+
python as p,
|
|
69740
72470
|
useItemStore as u,
|
|
69741
72471
|
warning_filled_default as w
|
|
69742
72472
|
};
|