gitextract_l2a2pt1h/ ├── .dev.vars ├── .gitattributes ├── .github/ │ ├── pull_request_template.md │ └── workflows/ │ └── playwright.yml ├── .gitignore ├── .node-version ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── index.html ├── notebooks/ │ ├── HA_parameters.csv │ ├── HA_parameters_order.csv │ ├── coolprop_options.ipynb │ ├── coolprop_predifined_mixtures.ipynb │ ├── latex_unicode_equivalents.ipynb │ ├── predefined_mixtures.json │ ├── propsSI_fluids.csv │ ├── propsSI_mixtures.csv │ ├── propsSI_parameters.csv │ ├── propsSI_parameters_order.csv │ ├── reserved_ids.ipynb │ ├── reserved_ids_no_sympy.ipynb │ └── sympy_test.ipynb ├── package.json ├── playwright.config.mjs ├── public/ │ ├── .well-known/ │ │ └── assetlinks.json │ ├── _routes.json │ ├── dimensional_analysis.py │ ├── iframe_test.html │ ├── jedi_code_analysis.py │ ├── manifest.json │ ├── pyodide/ │ │ ├── contourpy-1.3.1-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── coolprop-7.2.0-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── cycler-0.12.1-cp313-none-any.whl │ │ ├── drawsvg-2.4.1-cp313-none-any.whl │ │ ├── fonttools-4.56.0-cp313-none-any.whl │ │ ├── jedi-0.19.2-cp313-none-any.whl │ │ ├── jinja2-3.1.6-cp313-none-any.whl │ │ ├── joblib-1.4.2-cp313-none-any.whl │ │ ├── kiwisolver-1.4.8-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── markupsafe-3.0.2-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── matplotlib-3.8.4-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── mpmath-1.3.0-cp313-none-any.whl │ │ ├── nlopt-2.9.1-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── numpy-2.2.5-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── packaging-24.2-cp313-none-any.whl │ │ ├── pandas-2.3.3-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── parso-0.8.4-cp313-none-any.whl │ │ ├── pillow-11.3.0-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── pyodide-lock.json │ │ ├── pyodide.asm.js │ │ ├── pyodide.asm.wasm │ │ ├── pyodide.js │ │ ├── pyparsing-3.2.1-cp313-none-any.whl │ │ ├── python_dateutil-2.9.0.post0-cp313-none-any.whl │ │ ├── pytz-2025.2-cp313-none-any.whl │ │ ├── rich-13.9.4-cp313-none-any.whl │ │ ├── scikit_learn-1.7.0-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── scipy-1.14.1-cp313-cp313-pyodide_2025_0_wasm32.whl │ │ ├── six-1.17.0-cp313-none-any.whl │ │ ├── sympy-1.13.3-cp313-none-any.whl │ │ └── threadpoolctl-3.5.0-cp313-none-any.whl │ └── robots.txt ├── scripts/ │ ├── generate-parser.js │ ├── get_pyodide_files.py │ └── setupTypeScript.js ├── src/ │ ├── App.svelte │ ├── BaseUnitsConfigDialog.svelte │ ├── ButtonBar.svelte │ ├── Cell.svelte │ ├── CellList.svelte │ ├── CodeCell.svelte │ ├── CodeEditor.svelte │ ├── CustomMatrixModal.svelte │ ├── DataTableCell.svelte │ ├── DataTableInput.svelte │ ├── DeletedCell.svelte │ ├── DocumentTitle.svelte │ ├── DocumentationCell.svelte │ ├── DocumentationField.svelte │ ├── DownloadDocumentModal.svelte │ ├── DropOverlay.svelte │ ├── FluidCell.svelte │ ├── GenerateCodeDialog.svelte │ ├── IconButton.svelte │ ├── InsertCell.svelte │ ├── InsertSheetModal.svelte │ ├── KeyboardButton.svelte │ ├── KeyboardShortcuts.svelte │ ├── MathCell.svelte │ ├── MathCellConfigDialog.svelte │ ├── MathField.svelte │ ├── NumberFormatOptionsDialog.svelte │ ├── PiecewiseCell.svelte │ ├── Plot.svelte │ ├── PlotCell.svelte │ ├── RequestPersistentStorage.svelte │ ├── SetDefaultConfigDialog.svelte │ ├── SystemCell.svelte │ ├── TableCell.svelte │ ├── Terms.svelte │ ├── TextBox.svelte │ ├── TextButton.svelte │ ├── TextCheckbox.svelte │ ├── UnitsDocumentation.svelte │ ├── UpdateAvailable.svelte │ ├── Updates.svelte │ ├── VirtualKeyboard.svelte │ ├── carbon-theme.scss │ ├── cells/ │ │ ├── BaseCell.ts │ │ ├── Cells.ts │ │ ├── CodeCell.svelte.ts │ │ ├── DataTableCell.svelte.ts │ │ ├── DeletedCell.ts │ │ ├── DocumentationCell.svelte.ts │ │ ├── FluidCell.svelte.ts │ │ ├── InsertCell.ts │ │ ├── MathCell.svelte.ts │ │ ├── MathField.svelte.ts │ │ ├── PiecewiseCell.svelte.ts │ │ ├── PlotCell.svelte.ts │ │ ├── SystemCell.svelte.ts │ │ └── TableCell.svelte.ts │ ├── constants.ts │ ├── customPlotButtonIcons.ts │ ├── database/ │ │ ├── _worker.ts │ │ ├── scripts/ │ │ │ ├── initialize.sql │ │ │ ├── sheets_used_for_tests.json │ │ │ └── transfer_sheets.js │ │ ├── tsconfig.json │ │ ├── types.ts │ │ └── utility.ts │ ├── fluidConstants.ts │ ├── global.css │ ├── global.d.ts │ ├── jediWorker.ts │ ├── jediWrapper.ts │ ├── keyboard/ │ │ └── Keyboard.svelte.ts │ ├── main.js │ ├── parser/ │ │ ├── LatexIdFragments.g4 │ │ ├── LatexLexer.g4 │ │ ├── LatexLexer.ts │ │ ├── LatexParser.g4 │ │ ├── LatexParser.ts │ │ ├── LatexParserVisitor.ts │ │ ├── LatexToSympy.ts │ │ ├── constants.ts │ │ ├── parserWorker.ts │ │ ├── parserWrapper.ts │ │ ├── types.ts │ │ └── utility.ts │ ├── pyodide-info.json │ ├── pyodideWorker.ts │ ├── resultTypes.ts │ ├── sheet/ │ │ └── Sheet.ts │ ├── stores.svelte.ts │ ├── types.ts │ └── utility.ts ├── svelte.config.js ├── tests/ │ ├── seed-data.json │ ├── spreadsheets/ │ │ ├── bottle_data.csv │ │ ├── headers_and_units.csv │ │ ├── headers_and_units.xlsx │ │ ├── headers_no_units.xlsx │ │ ├── interpolation_autosort.csv │ │ ├── interpolation_repeated_input.csv │ │ ├── multivariable_interpolation_no_units.xlsx │ │ ├── multivariable_interpolation_units_large_scale.xlsx │ │ ├── multivariable_interpolation_units_small_scale.xlsx │ │ ├── no_headers.xlsx │ │ ├── plane_interpolation_no_units.csv │ │ ├── plane_interpolation_with_units_large_scale.csv │ │ ├── plane_interpolation_with_units_small_scale.csv │ │ └── polyfit_symbolic.xlsx │ ├── test_advanced_assignments.spec.mjs │ ├── test_advanced_var_names.spec.mjs │ ├── test_basic.spec.mjs │ ├── test_calc.spec.mjs │ ├── test_checkpoints.spec.mjs │ ├── test_code_cell.spec.mjs │ ├── test_code_cell_rendering.spec.mjs │ ├── test_complex.spec.mjs │ ├── test_context_menu.spec.mjs │ ├── test_csv_export_reference_data_table_format.csv │ ├── test_custom_base_units.spec.mjs │ ├── test_data_table.spec.mjs │ ├── test_database.spec.mjs │ ├── test_ep_custom_units.spec.mjs │ ├── test_file_save_open.spec.mjs │ ├── test_fluid_properties.spec.mjs │ ├── test_functions.spec.mjs │ ├── test_generated_code.spec.mjs │ ├── test_iframe.spec.mjs │ ├── test_insert_sheet.spec.mjs │ ├── test_keyboard_shortcuts.spec.mjs │ ├── test_latex_scientific_notation.spec.mjs │ ├── test_matrix_addition.spec.mjs │ ├── test_matrix_calc.spec.mjs │ ├── test_matrix_determinant.spec.mjs │ ├── test_matrix_functions.spec.mjs │ ├── test_matrix_indexing_and_assembling.spec.mjs │ ├── test_matrix_inverse.spec.mjs │ ├── test_matrix_keyboard.spec.mjs │ ├── test_matrix_multiplication.spec.mjs │ ├── test_matrix_transpose.spec.mjs │ ├── test_md_export.epxyz │ ├── test_md_export_reference.md │ ├── test_md_export_reference_centered.md │ ├── test_md_export_reference_data_table_format.md │ ├── test_number_format.spec.mjs │ ├── test_parse_id_bug.spec.mjs │ ├── test_piecewise_cell.spec.mjs │ ├── test_plotting.spec.mjs │ ├── test_sheet.epxyz │ ├── test_sheet_long_calculation.epxyz │ ├── test_sheet_parsing_error.epxyz │ ├── test_sheet_slow_simplify.epxyz │ ├── test_sheet_with_results.epxyz │ ├── test_sheet_with_wrong_result.epxyz │ ├── test_single_char_scripts.spec.mjs │ ├── test_sum_and_prod.spec.mjs │ ├── test_symbolic_expression_error_handling.spec.mjs │ ├── test_syntax_error_messages.spec.mjs │ ├── test_system_solve.spec.mjs │ ├── test_table_cell.spec.mjs │ └── utility.mjs ├── tsconfig.json └── vite.config.js