Here is the diff updating cad/prusaslicer to 2.8.0. This requires
updated devel/libbgcode (20240328) and devel/tbb (2021.13.0) previously
posted to the list.


diff --git a/cad/prusaslicer/Makefile b/cad/prusaslicer/Makefile
index 3ecf73964bc..65a7de00696 100644
--- a/cad/prusaslicer/Makefile
+++ b/cad/prusaslicer/Makefile
@@ -2,9 +2,8 @@ COMMENT =       g-code generator for 3D printers
 ONLY_FOR_ARCHS = ${LP64_ARCHS}
 DPB_PROPERTIES = parallel
 
-V =            2.7.4
+V =            2.8.0
 PKGNAME =      prusaslicer-${V}
-REVISION =     0
 
 GH_ACCOUNT =   prusa3d
 GH_PROJECT =   PrusaSlicer
@@ -25,16 +24,16 @@ WANTLIB += TKLCAF TKMath TKMesh TKPrim TKService 
TKShHealing TKTopAlgo
 WANTLIB += TKV3d TKVCAF TKXCAF TKXSBase TKernel X11 atk-1.0 bgcode_binarize
 WANTLIB += bgcode_convert bgcode_core boost_atomic-mt boost_chrono-mt
 WANTLIB += boost_date_time-mt boost_filesystem-mt boost_iostreams-mt
-WANTLIB += boost_locale-mt boost_log-mt boost_log_setup-mt boost_regex-mt
-WANTLIB += boost_system-mt boost_thread-mt c cairo cairo-gobject
-WANTLIB += curl dbus-1 execinfo expat fontconfig freetype gdk-3
+WANTLIB += boost_locale-mt boost_log-mt boost_log_setup-mt boost_nowide-mt
+WANTLIB += boost_regex-mt boost_system-mt boost_thread-mt c cairo cairo-gobject
+WANTLIB += curl crypto dbus-1 execinfo expat fontconfig freetype gdk-3
 WANTLIB += gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmp gmpxx gobject-2.0
 WANTLIB += gtk-3 harfbuzz hidapi-libusb intl jpeg m mpfr nlopt
-WANTLIB += openvdb pango-1.0 pangocairo-1.0 png qhull_r tbb tbbmalloc
-WANTLIB += tiff wayland-client wayland-egl wx_baseu-3.2 wx_gtk3u_core-3.2
-WANTLIB += wx_gtk3u_gl-3.2 wx_gtk3u_html-3.2 z
+WANTLIB += openvdb pango-1.0 pangocairo-1.0 png qhull_r ssl tbb tbbmalloc
+WANTLIB += wayland-client wayland-egl wx_baseu-3.2 wx_gtk3u_core-3.2
+WANTLIB += wx_gtk3u_gl-3.2 wx_gtk3u_html-3.2 wx_gtk3u_webview-3.2 z
 
-FIX_CRLF_FILES =       src/libslic3r/Point.hpp src/slic3r/GUI/GLCanvas3D.cpp
+FIX_CRLF_FILES =       src/slic3r/GUI/GLCanvas3D.cpp
 
 COMPILER =             base-clang ports-gcc
 
@@ -65,7 +64,8 @@ LIB_DEPENDS =                 cad/opencascade \
                        net/curl \
                        wayland/wayland \
                        x11/dbus \
-                       x11/wxWidgets
+                       x11/wxWidgets \
+                       x11/wxWidgets,-webview
 
 CONFIGURE_ARGS +=      -DCMAKE_BUILD_TYPE=RelWithDebInfo \
                        -DCMAKE_MODULE_PATH=${PREFIX}/lib/cmake/OpenVDB \
diff --git a/cad/prusaslicer/distinfo b/cad/prusaslicer/distinfo
index edfc4ca2b60..65fb40213de 100644
--- a/cad/prusaslicer/distinfo
+++ b/cad/prusaslicer/distinfo
@@ -1,2 +1,2 @@
-SHA256 (PrusaSlicer-version_2.7.4.tar.gz) = 
Y3CpWTrqxcVlQ+ZtFnq1/QU99VuTdjksLWGE6wv2X8g=
-SIZE (PrusaSlicer-version_2.7.4.tar.gz) = 65396083
+SHA256 (PrusaSlicer-version_2.8.0.tar.gz) = 
WNSE+Fs02DAm+CILq5g/hV+81ydn0Ih/IfXMOC5bGas=
+SIZE (PrusaSlicer-version_2.8.0.tar.gz) = 69806919
diff --git a/cad/prusaslicer/patches/patch-CMakeLists_txt 
b/cad/prusaslicer/patches/patch-CMakeLists_txt
index 6977c23d619..305156f2b11 100644
--- a/cad/prusaslicer/patches/patch-CMakeLists_txt
+++ b/cad/prusaslicer/patches/patch-CMakeLists_txt
@@ -1,7 +1,7 @@
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -218,7 +218,7 @@ if (APPLE)
+@@ -234,7 +234,7 @@ if (APPLE)
      endif ()
  endif ()
  
@@ -10,7 +10,7 @@ Index: CMakeLists.txt
      find_package(PkgConfig REQUIRED)
  
      if (CMAKE_VERSION VERSION_LESS "3.1")
-@@ -641,7 +641,6 @@ elseif (SLIC3R_FHS)
+@@ -658,7 +658,6 @@ elseif (SLIC3R_FHS)
              DESTINATION 
${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME 
PrusaSlicer-gcodeviewer.png
          )
      endforeach()
diff --git a/cad/prusaslicer/patches/patch-src_CMakeLists_txt 
b/cad/prusaslicer/patches/patch-src_CMakeLists_txt
index 10a71007640..e7fd150d2bd 100644
--- a/cad/prusaslicer/patches/patch-src_CMakeLists_txt
+++ b/cad/prusaslicer/patches/patch-src_CMakeLists_txt
@@ -1,10 +1,10 @@
 Index: src/CMakeLists.txt
 --- src/CMakeLists.txt.orig
 +++ src/CMakeLists.txt
-@@ -33,8 +33,8 @@ endif ()
- 
+@@ -32,8 +32,8 @@ endif ()
  if (SLIC3R_GUI)
      add_subdirectory(imgui)
+     add_subdirectory(libvgcode)
 -    add_subdirectory(hidapi)
 -    include_directories(hidapi/include)
 +    pkg_check_modules(HIDAPI REQUIRED hidapi-libusb)
@@ -12,7 +12,7 @@ Index: src/CMakeLists.txt
  
      if(WIN32)
          message(STATUS "WXWIN environment set to: $ENV{WXWIN}")
-@@ -158,6 +158,8 @@ target_link_libraries(PrusaSlicer libslic3r_gui)
+@@ -150,6 +150,8 @@ target_link_libraries(PrusaSlicer libslic3r_gui)
          target_link_libraries(PrusaSlicer ws2_32 uxtheme setupapi)
      elseif (APPLE)
          target_link_libraries(PrusaSlicer "-framework OpenGL")
diff --git a/cad/prusaslicer/patches/patch-src_PrusaSlicer_cpp 
b/cad/prusaslicer/patches/patch-src_PrusaSlicer_cpp
index dd8a7cb00c5..b66cda7f908 100644
--- a/cad/prusaslicer/patches/patch-src_PrusaSlicer_cpp
+++ b/cad/prusaslicer/patches/patch-src_PrusaSlicer_cpp
@@ -1,7 +1,7 @@
 Index: src/PrusaSlicer.cpp
 --- src/PrusaSlicer.cpp.orig
 +++ src/PrusaSlicer.cpp
-@@ -770,8 +770,8 @@ bool CLI::setup(int argc, char **argv)
+@@ -803,8 +803,8 @@ bool CLI::setup(int argc, char **argv)
  #endif
  
      // See Invoking prusa-slicer from $PATH environment variable crashes #5542
diff --git a/cad/prusaslicer/patches/patch-src_clipper_clipper_hpp 
b/cad/prusaslicer/patches/patch-src_clipper_clipper_hpp
deleted file mode 100644
index fe138e7f438..00000000000
--- a/cad/prusaslicer/patches/patch-src_clipper_clipper_hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: src/clipper/clipper.hpp
---- src/clipper/clipper.hpp.orig
-+++ src/clipper/clipper.hpp
-@@ -39,7 +39,7 @@
- 
- #include <Eigen/Geometry> 
- 
--#include <oneapi/tbb/scalable_allocator.h>
-+#include <tbb/scalable_allocator.h>
- 
- #define CLIPPER_VERSION "6.2.6"
- 
diff --git a/cad/prusaslicer/patches/patch-src_libslic3r_Config_hpp 
b/cad/prusaslicer/patches/patch-src_libslic3r_Config_hpp
deleted file mode 100644
index b0f50cad86d..00000000000
--- a/cad/prusaslicer/patches/patch-src_libslic3r_Config_hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: src/libslic3r/Config.hpp
---- src/libslic3r/Config.hpp.orig
-+++ src/libslic3r/Config.hpp
-@@ -339,7 +339,7 @@ template<class T>
- struct NilValueTempl<T, std::enable_if_t<std::is_enum_v<T>, void>>
- {
-     using NilType = T;
--    static constexpr auto value = 
static_cast<T>(std::numeric_limits<std::underlying_type_t<T>>::max());
-+    static constexpr auto value = 
static_cast<std::underlying_type_t<T>>(std::numeric_limits<std::underlying_type_t<T>>::max());
- };
- 
- template<class T> struct NilValueTempl<T, 
std::enable_if_t<std::is_floating_point_v<T>, void>> {
diff --git a/cad/prusaslicer/patches/patch-src_libslic3r_GCode_cpp 
b/cad/prusaslicer/patches/patch-src_libslic3r_GCode_cpp
deleted file mode 100644
index 33b28fb5f5b..00000000000
--- a/cad/prusaslicer/patches/patch-src_libslic3r_GCode_cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-Index: src/libslic3r/GCode.cpp
---- src/libslic3r/GCode.cpp.orig
-+++ src/libslic3r/GCode.cpp
-@@ -1565,13 +1565,13 @@ void GCodeGenerator::process_layers(
-         [&output_stream](std::string s) { output_stream.write(s); }
-     );
- 
--    tbb::filter<void, LayerResult> pipeline_to_layerresult = 
smooth_path_interpolator & generator;
-+    tbb::filter_t<void, LayerResult> pipeline_to_layerresult = 
smooth_path_interpolator & generator;
-     if (m_spiral_vase)
-         pipeline_to_layerresult = pipeline_to_layerresult & spiral_vase;
-     if (m_pressure_equalizer)
-         pipeline_to_layerresult = pipeline_to_layerresult & 
pressure_equalizer;
- 
--    tbb::filter<LayerResult, std::string> pipeline_to_string = cooling;
-+    tbb::filter_t<LayerResult, std::string> pipeline_to_string = cooling;
-     if (m_find_replace)
-         pipeline_to_string = pipeline_to_string & find_replace;
- 
-@@ -1658,13 +1658,13 @@ void GCodeGenerator::process_layers(
-         [&output_stream](std::string s) { output_stream.write(s); }
-     );
- 
--    tbb::filter<void, LayerResult> pipeline_to_layerresult = 
smooth_path_interpolator & generator;
-+    tbb::filter_t<void, LayerResult> pipeline_to_layerresult = 
smooth_path_interpolator & generator;
-     if (m_spiral_vase)
-         pipeline_to_layerresult = pipeline_to_layerresult & spiral_vase;
-     if (m_pressure_equalizer)
-         pipeline_to_layerresult = pipeline_to_layerresult & 
pressure_equalizer;
- 
--    tbb::filter<LayerResult, std::string> pipeline_to_string = cooling;
-+    tbb::filter_t<LayerResult, std::string> pipeline_to_string = cooling;
-     if (m_find_replace)
-         pipeline_to_string = pipeline_to_string & find_replace;
- 
diff --git a/cad/prusaslicer/patches/patch-src_libslic3r_JumpPointSearch_cpp 
b/cad/prusaslicer/patches/patch-src_libslic3r_JumpPointSearch_cpp
deleted file mode 100644
index d74ded0f8b5..00000000000
--- a/cad/prusaslicer/patches/patch-src_libslic3r_JumpPointSearch_cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: src/libslic3r/JumpPointSearch.cpp
---- src/libslic3r/JumpPointSearch.cpp.orig
-+++ src/libslic3r/JumpPointSearch.cpp
-@@ -23,7 +23,7 @@
- #include <unordered_map>
- #include <vector>
- 
--#include <oneapi/tbb/scalable_allocator.h>
-+#include <tbb/scalable_allocator.h>
- 
- //#define DEBUG_FILES
- #ifdef DEBUG_FILES
diff --git a/cad/prusaslicer/patches/patch-src_libslic3r_Point_hpp 
b/cad/prusaslicer/patches/patch-src_libslic3r_Point_hpp
deleted file mode 100644
index b0fcc5d9e3e..00000000000
--- a/cad/prusaslicer/patches/patch-src_libslic3r_Point_hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: src/libslic3r/Point.hpp
---- src/libslic3r/Point.hpp.orig
-+++ src/libslic3r/Point.hpp
-@@ -20,7 +20,7 @@
- #include <sstream>
- #include <unordered_map>
- 
--#include <oneapi/tbb/scalable_allocator.h>
-+#include <tbb/scalable_allocator.h>
- 
- 
- #include <Eigen/Geometry> 
diff --git a/cad/prusaslicer/patches/patch-src_libslic3r_PrintObject_cpp 
b/cad/prusaslicer/patches/patch-src_libslic3r_PrintObject_cpp
deleted file mode 100644
index f8538d90913..00000000000
--- a/cad/prusaslicer/patches/patch-src_libslic3r_PrintObject_cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: src/libslic3r/PrintObject.cpp
---- src/libslic3r/PrintObject.cpp.orig
-+++ src/libslic3r/PrintObject.cpp
-@@ -53,9 +53,9 @@
- #include <functional>
- #include <limits>
- #include <map>
--#include <oneapi/tbb/blocked_range.h>
--#include <oneapi/tbb/concurrent_vector.h>
--#include <oneapi/tbb/parallel_for.h>
-+#include <tbb/blocked_range.h>
-+#include <tbb/concurrent_vector.h>
-+#include <tbb/parallel_for.h>
- #include <string>
- #include <string_view>
- #include <tuple>
diff --git 
a/cad/prusaslicer/patches/patch-src_libslic3r_SupportSpotsGenerator_cpp 
b/cad/prusaslicer/patches/patch-src_libslic3r_SupportSpotsGenerator_cpp
deleted file mode 100644
index beee7993b34..00000000000
--- a/cad/prusaslicer/patches/patch-src_libslic3r_SupportSpotsGenerator_cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: src/libslic3r/SupportSpotsGenerator.cpp
---- src/libslic3r/SupportSpotsGenerator.cpp.orig
-+++ src/libslic3r/SupportSpotsGenerator.cpp
-@@ -32,8 +32,8 @@
- #include <functional>
- #include <limits>
- #include <math.h>
--#include <oneapi/tbb/concurrent_vector.h>
--#include <oneapi/tbb/parallel_for.h>
-+#include <tbb/concurrent_vector.h>
-+#include <tbb/parallel_for.h>
- #include <optional>
- #include <unordered_map>
- #include <unordered_set>
diff --git 
a/cad/prusaslicer/patches/patch-src_libslic3r_Support_SupportLayer_hpp 
b/cad/prusaslicer/patches/patch-src_libslic3r_Support_SupportLayer_hpp
deleted file mode 100644
index d9aa6895f80..00000000000
--- a/cad/prusaslicer/patches/patch-src_libslic3r_Support_SupportLayer_hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: src/libslic3r/Support/SupportLayer.hpp
---- src/libslic3r/Support/SupportLayer.hpp.orig
-+++ src/libslic3r/Support/SupportLayer.hpp
-@@ -5,8 +5,8 @@
- #ifndef slic3r_SupportLayer_hpp_
- #define slic3r_SupportLayer_hpp_
- 
--#include <oneapi/tbb/scalable_allocator.h>
--#include <oneapi/tbb/spin_mutex.h>
-+#include <tbb/scalable_allocator.h>
-+#include <tbb/spin_mutex.h>
- // for Slic3r::deque
- #include "../libslic3r.h"
- #include "../ClipperUtils.hpp"
diff --git 
a/cad/prusaslicer/patches/patch-src_libslic3r_Utils_DirectoriesUtils_cpp 
b/cad/prusaslicer/patches/patch-src_libslic3r_Utils_DirectoriesUtils_cpp
new file mode 100644
index 00000000000..e3cf3804e2d
--- /dev/null
+++ b/cad/prusaslicer/patches/patch-src_libslic3r_Utils_DirectoriesUtils_cpp
@@ -0,0 +1,12 @@
+Index: src/libslic3r/Utils/DirectoriesUtils.cpp
+--- src/libslic3r/Utils/DirectoriesUtils.cpp.orig
++++ src/libslic3r/Utils/DirectoriesUtils.cpp
+@@ -46,7 +46,7 @@ static std::string GetDataDir()
+     return  boost::nowide::narrow(buffer);
+ }
+ 
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__OpenBSD__)
+ 
+ #include <stdlib.h>
+ #include <pwd.h>
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_CMakeLists_txt 
b/cad/prusaslicer/patches/patch-src_slic3r_CMakeLists_txt
index 4f07ca838c6..5138904963f 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_CMakeLists_txt
+++ b/cad/prusaslicer/patches/patch-src_slic3r_CMakeLists_txt
@@ -1,12 +1,14 @@
 Index: src/slic3r/CMakeLists.txt
 --- src/slic3r/CMakeLists.txt.orig
 +++ src/slic3r/CMakeLists.txt
-@@ -366,7 +366,7 @@ target_link_libraries(libslic3r_gui libslic3r avrdude 
+@@ -408,8 +408,8 @@ target_link_libraries(libslic3r_gui libslic3r avrdude 
  
  if (MSVC)
      target_link_libraries(libslic3r_gui Setupapi.lib)
 -elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES}) 
 +elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL 
"OpenBSD")
-     target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES}) 
++    target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES} ssl crypto)
  elseif (APPLE)
      target_link_libraries(libslic3r_gui ${DISKARBITRATION_LIBRARY} 
${COREWLAN_LIBRARY})
+ endif()
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard_cpp
deleted file mode 100644
index 047bafd1f56..00000000000
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard_cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: src/slic3r/GUI/ConfigWizard.cpp
---- src/slic3r/GUI/ConfigWizard.cpp.orig
-+++ src/slic3r/GUI/ConfigWizard.cpp
-@@ -3063,7 +3063,7 @@ bool ConfigWizard::priv::apply_config(AppConfig *app_c
-         if ((check_unsaved_preset_changes = install_bundles.size() > 0))
-             header = _L_PLURAL("A new vendor was installed and one of its 
printers will be activated", "New vendors were installed and one of theirs 
printers will be activated", install_bundles.size());
- 
--#if defined(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION)
-+#if (defined(__linux__) || defined(__OpenBSD__)) && 
defined(SLIC3R_DESKTOP_INTEGRATION)
-     // Desktop integration on Linux
-     BOOST_LOG_TRIVIAL(debug) << "ConfigWizard::priv::apply_config 
integrate_desktop" << page_welcome->integrate_desktop()  << " 
perform_registration_linux " << 
page_downloader->m_downloader->get_perform_registration_linux();
-     if (page_welcome->integrate_desktop())
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard_hpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard_hpp
deleted file mode 100644
index a46644d0978..00000000000
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_ConfigWizard_hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: src/slic3r/GUI/ConfigWizard.hpp
---- src/slic3r/GUI/ConfigWizard.hpp.orig
-+++ src/slic3r/GUI/ConfigWizard.hpp
-@@ -31,7 +31,7 @@ namespace DownloaderUtils {
-         wxWindow*   m_parent{ nullptr };
-         wxTextCtrl* m_input_path{ nullptr };
-         bool        downloader_checked{ false };
--#ifdef __linux__
-+#if defined(__linux__) || defined(__OpenBSD__)
-         bool        perform_registration_linux{ false };
- #endif // __linux__
- 
-@@ -50,7 +50,7 @@ namespace DownloaderUtils {
- 
-         bool on_finish();
-         bool perform_register(const std::string& path_override = {});
--#ifdef __linux__
-+#if defined(__linux__) || defined(__OpenBSD__)
-         bool get_perform_registration_linux() { return 
perform_registration_linux; }
- #endif // __linux__
-     };
diff --git 
a/cad/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog_cpp
deleted file mode 100644
index 3e69beea88b..00000000000
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog_cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: src/slic3r/GUI/DesktopIntegrationDialog.cpp
---- src/slic3r/GUI/DesktopIntegrationDialog.cpp.orig
-+++ src/slic3r/GUI/DesktopIntegrationDialog.cpp
-@@ -3,7 +3,7 @@
- ///|/
- ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
- ///|/
--#ifdef __linux__
-+#if defined(__linux__) || defined(__OpenBSD__)
- #include "DesktopIntegrationDialog.hpp"
- #include "GUI_App.hpp"
- #include "GUI.hpp"
diff --git 
a/cad/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog_hpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog_hpp
deleted file mode 100644
index f7271d6759b..00000000000
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_DesktopIntegrationDialog_hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: src/slic3r/GUI/DesktopIntegrationDialog.hpp
---- src/slic3r/GUI/DesktopIntegrationDialog.hpp.orig
-+++ src/slic3r/GUI/DesktopIntegrationDialog.hpp
-@@ -2,7 +2,7 @@
- ///|/
- ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
- ///|/
--#ifdef __linux__
-+#if defined(__linux__) || defined(__OpenBSD__)
- #ifndef slic3r_DesktopIntegrationDialog_hpp_
- #define slic3r_DesktopIntegrationDialog_hpp_
- 
-@@ -46,4 +46,4 @@ class DesktopIntegrationDialog : public wxDialog (priv
- } // namespace Slic3r
- 
- #endif // slic3r_DesktopIntegrationDialog_hpp_
--#endif // __linux__
-\ No newline at end of file
-+#endif // __linux__
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D_cpp
index bbcda5eaf86..6c0fc5c106e 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D_cpp
+++ b/cad/prusaslicer/patches/patch-src_slic3r_GUI_GLCanvas3D_cpp
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/GLCanvas3D.cpp
 --- src/slic3r/GUI/GLCanvas3D.cpp.orig
 +++ src/slic3r/GUI/GLCanvas3D.cpp
-@@ -108,7 +108,7 @@ float RetinaHelper::get_scale_factor() { return float(
+@@ -104,7 +104,7 @@ float RetinaHelper::get_scale_factor() { return float(
  #endif // __WXGTK3__
  
  // Fixed the collision between BuildVolume::Type::Convex and macro Convex 
defined inside /usr/include/X11/X.h that is included by WxWidgets 3.0.
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Factories_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Factories_cpp
index ac2428976a8..9227818dd3b 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Factories_cpp
+++ b/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Factories_cpp
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/GUI_Factories.cpp
 --- src/slic3r/GUI/GUI_Factories.cpp.orig
 +++ src/slic3r/GUI/GUI_Factories.cpp
-@@ -1466,7 +1466,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar
+@@ -1499,7 +1499,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar
      for (size_t id = 0; id < menubar->GetMenuCount(); id++) {
          wxMenu* menu = menubar->GetMenu(id);
          sys_color_changed_menu(menu);
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Init_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Init_cpp
deleted file mode 100644
index c12c0376a28..00000000000
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_Init_cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: src/slic3r/GUI/GUI_Init.cpp
---- src/slic3r/GUI/GUI_Init.cpp.orig
-+++ src/slic3r/GUI/GUI_Init.cpp
-@@ -45,6 +45,8 @@ int GUI_Run(GUI_InitParams &params)
-     signal(SIGCHLD, SIG_DFL);
- #endif // __APPLE__
- 
-+    wxSizerFlags::DisableConsistencyChecks();
-+
-     try {
-         GUI::GUI_App* gui = new GUI::GUI_App(params.start_as_gcodeviewer ? 
GUI::GUI_App::EAppMode::GCodeViewer : GUI::GUI_App::EAppMode::Editor);
-         if (gui->get_app_mode() != GUI::GUI_App::EAppMode::GCodeViewer) {
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_cpp
index 33e9e066523..5572be0dec3 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_cpp
+++ b/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_cpp
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/GUI.cpp
 --- src/slic3r/GUI/GUI.cpp.orig
 +++ src/slic3r/GUI/GUI.cpp
-@@ -501,7 +501,7 @@ void desktop_open_folder(const boost::filesystem::path
+@@ -305,7 +305,7 @@ void desktop_open_folder(const boost::filesystem::path
  #endif
  }
  
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_hpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_hpp
index 9de39853a95..7831ec0ad03 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_hpp
+++ b/cad/prusaslicer/patches/patch-src_slic3r_GUI_GUI_hpp
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/GUI.hpp
 --- src/slic3r/GUI/GUI.hpp.orig
 +++ src/slic3r/GUI/GUI.hpp
-@@ -88,7 +88,7 @@ extern void desktop_open_datadir_folder();
+@@ -74,7 +74,7 @@ extern void desktop_open_datadir_folder();
  // Ask the destop to open the directory specified by path using the default 
file explorer.
  void desktop_open_folder(const boost::filesystem::path& path);
  
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_InstanceCheck_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_InstanceCheck_cpp
index 66e92429287..e37c449871c 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_InstanceCheck_cpp
+++ b/cad/prusaslicer/patches/patch-src_slic3r_GUI_InstanceCheck_cpp
@@ -10,7 +10,7 @@ Index: src/slic3r/GUI/InstanceCheck.cpp
  #include <dbus/dbus.h> /* Pull in all of D-Bus headers. */
  #endif //__linux__
  
-@@ -226,7 +226,7 @@ namespace instance_check_internal
+@@ -229,7 +229,7 @@ namespace instance_check_internal
                return false;
        }
  
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_OpenGLManager_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_OpenGLManager_cpp
index ee4a187d911..d2195c6ed9f 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_OpenGLManager_cpp
+++ b/cad/prusaslicer/patches/patch-src_slic3r_GUI_OpenGLManager_cpp
@@ -1,10 +1,10 @@
 Index: src/slic3r/GUI/OpenGLManager.cpp
 --- src/slic3r/GUI/OpenGLManager.cpp.orig
 +++ src/slic3r/GUI/OpenGLManager.cpp
-@@ -344,7 +344,7 @@ bool OpenGLManager::init_gl()
-         glewExperimental = true;
- #endif // ENABLE_GL_CORE_PROFILE || ENABLE_OPENGL_ES
-         GLenum err = glewInit();
+@@ -346,7 +346,7 @@ bool OpenGLManager::init_gl()
+     if (!m_gl_initialized) {
+       glewExperimental = true;
+       GLenum err = glewInit();
 -        if (err != GLEW_OK) {
 +        if (err != GLEW_OK && err != GLEW_ERROR_NO_GLX_DISPLAY) {
              BOOST_LOG_TRIVIAL(error) << "Unable to init glew library: " << 
glewGetErrorString(err);
diff --git 
a/cad/prusaslicer/patches/patch-src_slic3r_GUI_PhysicalPrinterDialog_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_PhysicalPrinterDialog_cpp
index 9e6365c0a69..9799e6177ea 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_PhysicalPrinterDialog_cpp
+++ b/cad/prusaslicer/patches/patch-src_slic3r_GUI_PhysicalPrinterDialog_cpp
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/PhysicalPrinterDialog.cpp
 --- src/slic3r/GUI/PhysicalPrinterDialog.cpp.orig
 +++ src/slic3r/GUI/PhysicalPrinterDialog.cpp
-@@ -467,7 +467,7 @@ void PhysicalPrinterDialog::build_printhost_settings(C
+@@ -606,7 +606,7 @@ void PhysicalPrinterDialog::build_printhost_settings(C
      // Always fill in the "printhost_port" combo box from the config and 
select it.
      {
          Choice* choice = 
dynamic_cast<Choice*>(m_optgroup->get_field("printhost_port"));
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_GUI_Plater_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_Plater_cpp
index d000febc038..b5331bf30b1 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_GUI_Plater_cpp
+++ b/cad/prusaslicer/patches/patch-src_slic3r_GUI_Plater_cpp
@@ -1,7 +1,7 @@
 Index: src/slic3r/GUI/Plater.cpp
 --- src/slic3r/GUI/Plater.cpp.orig
 +++ src/slic3r/GUI/Plater.cpp
-@@ -5428,7 +5428,7 @@ void Plater::load_project(const wxString& filename)
+@@ -4048,7 +4048,7 @@ void Plater::load_project(const wxString& filename)
  
      p->reset();
  
diff --git 
a/cad/prusaslicer/patches/patch-src_slic3r_GUI_UserAccountCommunication_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_GUI_UserAccountCommunication_cpp
new file mode 100644
index 00000000000..fd043515913
--- /dev/null
+++ b/cad/prusaslicer/patches/patch-src_slic3r_GUI_UserAccountCommunication_cpp
@@ -0,0 +1,47 @@
+Index: src/slic3r/GUI/UserAccountCommunication.cpp
+--- src/slic3r/GUI/UserAccountCommunication.cpp.orig
++++ src/slic3r/GUI/UserAccountCommunication.cpp
+@@ -11,6 +11,7 @@
+ #include <boost/beast/core/detail/base64.hpp>
+ #include <boost/algorithm/string.hpp>
+ #include <boost/filesystem.hpp>
++#include <boost/nowide/convert.hpp>
+ #include <boost/nowide/cstdio.hpp>
+ #include <boost/nowide/fstream.hpp>
+ #include <curl/curl.h>
+@@ -37,7 +38,7 @@
+ #include <CommonCrypto/CommonDigest.h>
+ #endif
+ 
+-#ifdef __linux__
++#if defined(__linux__) || defined(__OpenBSD__)
+ #include <openssl/evp.h>
+ #include <openssl/bio.h>
+ #include <openssl/buffer.h>
+@@ -137,7 +138,7 @@ bool load_secret(const std::string& opt, std::string& 
+ #endif // wxUSE_SECRETSTORE 
+ }
+ 
+-#ifdef __linux__
++#if defined(__linux__) || defined(__OpenBSD__)
+ void load_refresh_token_linux(std::string& refresh_token)
+ {
+         // Load refresh token from UserAccount.dat
+@@ -201,7 +202,7 @@ UserAccountCommunication::UserAccountCommunication(wxE
+         shared_session_key = key0;
+ 
+     } else {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__OpenBSD__)
+         load_refresh_token_linux(refresh_token);
+ #endif
+     }
+@@ -253,7 +254,7 @@ void UserAccountCommunication::set_username(const std:
+             save_secret("tokens", m_session->get_shared_session_key(), 
tokens);
+         }
+         else {
+-#ifdef __linux__
++#if defined(__linux__) || defined(__OpenBSD__)
+             // If we can't store the tokens in secret store, store them in 
file with chmod 600
+             boost::filesystem::path 
target(boost::filesystem::path(Slic3r::data_dir()) / "UserAccount.dat") ;
+             std::string data = m_session->get_refresh_token();
diff --git a/cad/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner_cpp 
b/cad/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner_cpp
index f2f9d8d801e..0ef93b823c7 100644
--- a/cad/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner_cpp
+++ b/cad/prusaslicer/patches/patch-src_slic3r_Utils_WifiScanner_cpp
@@ -1,19 +1,12 @@
 Index: src/slic3r/Utils/WifiScanner.cpp
 --- src/slic3r/Utils/WifiScanner.cpp.orig
 +++ src/slic3r/Utils/WifiScanner.cpp
-@@ -17,7 +17,7 @@
+@@ -16,7 +16,7 @@
  #include "WifiScannerMac.h"
  #endif 
  
 -#if __linux__
-+#if __linux__ || defined(__OpenBSD__)
++#if defined(__linux__) || defined(__OpenBSD__)
  #include <dbus/dbus.h> /* Pull in all of D-Bus headers. */
  #endif //__linux__
  
-@@ -489,4 +489,4 @@ void WifiScanner::fill_wifi_map(Slic3r::WifiSsidPskMap
-         wlanFreeMemoryFunc(interface_list);
- }
- #endif // _WIN32
--} // Slic3r
-\ No newline at end of file
-+} // Slic3r
diff --git a/cad/prusaslicer/patches/patch-tests_libslic3r_test_voronoi_cpp 
b/cad/prusaslicer/patches/patch-tests_libslic3r_test_voronoi_cpp
deleted file mode 100644
index 69c4a263272..00000000000
--- a/cad/prusaslicer/patches/patch-tests_libslic3r_test_voronoi_cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: tests/libslic3r/test_voronoi.cpp
---- tests/libslic3r/test_voronoi.cpp.orig
-+++ tests/libslic3r/test_voronoi.cpp
-@@ -340,7 +340,7 @@ TEST_CASE("Voronoi division by zero 12903", "[Voronoi]
- // Funny sample from a dental industry?
- // Vojtech confirms this test fails and rightly so, because the input data 
contain self intersections.
- // This test is suppressed.
--TEST_CASE("Voronoi NaN coordinates 12139", "[Voronoi][!hide][!mayfail]")
-+TEST_CASE("Voronoi NaN coordinates 12139", "[Voronoi][.][!mayfail]")
- {
-     Lines lines = {
-         { {  260500,1564400 }, { 261040,1562960 } },
diff --git a/cad/prusaslicer/pkg/PLIST b/cad/prusaslicer/pkg/PLIST
index 312f0f7c392..213d1a3d524 100644
--- a/cad/prusaslicer/pkg/PLIST
+++ b/cad/prusaslicer/pkg/PLIST
@@ -61,6 +61,7 @@ share/PrusaSlicer/icons/check_on_focused.svg
 share/PrusaSlicer/icons/checked.svg
 share/PrusaSlicer/icons/cog.svg
 share/PrusaSlicer/icons/cog_.svg
+share/PrusaSlicer/icons/cog_f.svg
 share/PrusaSlicer/icons/cog_go.png
 share/PrusaSlicer/icons/collapse.svg
 share/PrusaSlicer/icons/collapse_btn.svg
@@ -70,6 +71,8 @@ share/PrusaSlicer/icons/colorchange_add_m.svg
 share/PrusaSlicer/icons/colorchange_del.svg
 share/PrusaSlicer/icons/colorchange_del_f.svg
 share/PrusaSlicer/icons/compare.svg
+share/PrusaSlicer/icons/connect_gcode.svg
+share/PrusaSlicer/icons/connect_status.svg
 share/PrusaSlicer/icons/convert_file.svg
 share/PrusaSlicer/icons/cooling.svg
 share/PrusaSlicer/icons/copy.svg
@@ -133,6 +136,8 @@ share/PrusaSlicer/icons/fuzzy_skin.svg
 share/PrusaSlicer/icons/gcode.icns
 share/PrusaSlicer/icons/hollow.svg
 share/PrusaSlicer/icons/hollowing.svg
+share/PrusaSlicer/icons/horizontal_hide.svg
+share/PrusaSlicer/icons/horizontal_show.svg
 share/PrusaSlicer/icons/import_config.svg
 share/PrusaSlicer/icons/import_config_bundle.svg
 share/PrusaSlicer/icons/import_plater.svg
@@ -162,6 +167,8 @@ share/PrusaSlicer/icons/lock_closed_white.svg
 share/PrusaSlicer/icons/lock_open.svg
 share/PrusaSlicer/icons/lock_open_f.svg
 share/PrusaSlicer/icons/lock_open_sys.svg
+share/PrusaSlicer/icons/login.svg
+share/PrusaSlicer/icons/logout.svg
 share/PrusaSlicer/icons/make_bold.svg
 share/PrusaSlicer/icons/make_italic.svg
 share/PrusaSlicer/icons/make_unbold.svg
@@ -222,6 +229,9 @@ share/PrusaSlicer/icons/plug.svg
 share/PrusaSlicer/icons/preview.svg
 share/PrusaSlicer/icons/preview_menu.svg
 share/PrusaSlicer/icons/printer.svg
+share/PrusaSlicer/icons/printer_available.svg
+share/PrusaSlicer/icons/printer_busy.svg
+share/PrusaSlicer/icons/printer_offline.svg
 share/PrusaSlicer/icons/printer_placeholder.png
 share/PrusaSlicer/icons/printer_white.svg
 share/PrusaSlicer/icons/question.svg
@@ -253,6 +263,9 @@ share/PrusaSlicer/icons/shape_gallery.svg
 share/PrusaSlicer/icons/sinking.svg
 share/PrusaSlicer/icons/skirt+brim.svg
 share/PrusaSlicer/icons/sla_printer.svg
+share/PrusaSlicer/icons/sla_printer_available.svg
+share/PrusaSlicer/icons/sla_printer_busy.svg
+share/PrusaSlicer/icons/sla_printer_offline.svg
 share/PrusaSlicer/icons/sla_supports.svg
 share/PrusaSlicer/icons/sla_view_original.svg
 share/PrusaSlicer/icons/sla_view_processed.svg
@@ -291,9 +304,12 @@ share/PrusaSlicer/icons/toolbar_arrow.svg
 share/PrusaSlicer/icons/toolbar_arrow_2.svg
 share/PrusaSlicer/icons/toolbar_background.png
 share/PrusaSlicer/icons/undo.svg
+share/PrusaSlicer/icons/undo_f.svg
 share/PrusaSlicer/icons/undo_menu.svg
 share/PrusaSlicer/icons/undo_toolbar.svg
 share/PrusaSlicer/icons/upload_queue.svg
+share/PrusaSlicer/icons/user.svg
+share/PrusaSlicer/icons/user_mask.svg
 share/PrusaSlicer/icons/vector_filament_param.svg
 share/PrusaSlicer/icons/vector_param.svg
 share/PrusaSlicer/icons/wrench.svg
@@ -455,6 +471,14 @@ share/PrusaSlicer/profiles/Anycubic/i3megas.svg
 share/PrusaSlicer/profiles/Anycubic/i3megas_bed.stl
 share/PrusaSlicer/profiles/Anycubic/mega0.svg
 share/PrusaSlicer/profiles/Anycubic/mega0_bed.stl
+share/PrusaSlicer/profiles/AnycubicSLA/
+share/PrusaSlicer/profiles/AnycubicSLA.idx
+share/PrusaSlicer/profiles/AnycubicSLA.ini
+share/PrusaSlicer/profiles/AnycubicSLA/PHOTON MONO SE_thumbnail.png
+share/PrusaSlicer/profiles/AnycubicSLA/PHOTON MONO X 6K_thumbnail.png
+share/PrusaSlicer/profiles/AnycubicSLA/PHOTON MONO X_thumbnail.png
+share/PrusaSlicer/profiles/AnycubicSLA/PHOTON MONO_thumbnail.png
+share/PrusaSlicer/profiles/ArchiveRepositoryManifest.json
 share/PrusaSlicer/profiles/Artillery/
 share/PrusaSlicer/profiles/Artillery.idx
 share/PrusaSlicer/profiles/Artillery.ini
@@ -650,6 +674,15 @@ share/PrusaSlicer/profiles/Geeetech/MizarS_thumbnail.png
 share/PrusaSlicer/profiles/Geeetech/Mizar_thumbnail.png
 share/PrusaSlicer/profiles/Geeetech/ThunderPro_thumbnail.png
 share/PrusaSlicer/profiles/Geeetech/Thunder_thumbnail.png
+share/PrusaSlicer/profiles/HartSmartProducts/
+share/PrusaSlicer/profiles/HartSmartProducts.idx
+share/PrusaSlicer/profiles/HartSmartProducts.ini
+share/PrusaSlicer/profiles/HartSmartProducts/HSP1-I Duplicator 
Mode_thumbnail.png
+share/PrusaSlicer/profiles/HartSmartProducts/HSP1-I_thumbnail.png
+share/PrusaSlicer/profiles/HartSmartProducts/hsp1_i.svg
+share/PrusaSlicer/profiles/HartSmartProducts/hsp1_i_bed.stl
+share/PrusaSlicer/profiles/HartSmartProducts/hsp1_i_duplicator.svg
+share/PrusaSlicer/profiles/HartSmartProducts/hsp1_i_duplicator_bed.stl
 share/PrusaSlicer/profiles/INAT/
 share/PrusaSlicer/profiles/INAT.idx
 share/PrusaSlicer/profiles/INAT.ini
@@ -747,8 +780,6 @@ 
share/PrusaSlicer/profiles/PrusaResearch/MK4ISMMU3_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK4IS_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/MK4IS_thumbnail_v2.png
 share/PrusaSlicer/profiles/PrusaResearch/MK4_thumbnail.png
-share/PrusaSlicer/profiles/PrusaResearch/SL1S_thumbnail.png
-share/PrusaSlicer/profiles/PrusaResearch/SL1_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/XL2IS_alpha_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/XL2IS_beta_thumbnail.png
 share/PrusaSlicer/profiles/PrusaResearch/XL2IS_thumbnail.png
@@ -774,14 +805,19 @@ share/PrusaSlicer/profiles/PrusaResearch/mk3_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/mk4.svg
 share/PrusaSlicer/profiles/PrusaResearch/mk4_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/mk4is.svg
-share/PrusaSlicer/profiles/PrusaResearch/sl1.svg
-share/PrusaSlicer/profiles/PrusaResearch/sl1_bed.stl
-share/PrusaSlicer/profiles/PrusaResearch/sl1s.svg
-share/PrusaSlicer/profiles/PrusaResearch/sl1s_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/xl.svg
 share/PrusaSlicer/profiles/PrusaResearch/xl_bed.stl
 share/PrusaSlicer/profiles/PrusaResearch/xlis_alpha.svg
 share/PrusaSlicer/profiles/PrusaResearch/xlis_beta.svg
+share/PrusaSlicer/profiles/PrusaResearchSLA/
+share/PrusaSlicer/profiles/PrusaResearchSLA.idx
+share/PrusaSlicer/profiles/PrusaResearchSLA.ini
+share/PrusaSlicer/profiles/PrusaResearchSLA/SL1S_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearchSLA/SL1_thumbnail.png
+share/PrusaSlicer/profiles/PrusaResearchSLA/sl1.svg
+share/PrusaSlicer/profiles/PrusaResearchSLA/sl1_bed.stl
+share/PrusaSlicer/profiles/PrusaResearchSLA/sl1s.svg
+share/PrusaSlicer/profiles/PrusaResearchSLA/sl1s_bed.stl
 share/PrusaSlicer/profiles/RatRig/
 share/PrusaSlicer/profiles/RatRig.idx
 share/PrusaSlicer/profiles/RatRig.ini
@@ -797,6 +833,8 @@ share/PrusaSlicer/profiles/RatRig/rr-vc-500.stl
 share/PrusaSlicer/profiles/RatRig/rr-vc-500.svg
 share/PrusaSlicer/profiles/RatRig/rr-vminion.stl
 share/PrusaSlicer/profiles/RatRig/rr-vminion.svg
+share/PrusaSlicer/profiles/RatRig/vc4-corexy.png
+share/PrusaSlicer/profiles/RatRig/vc4-hybrid.png
 share/PrusaSlicer/profiles/Rigid3D/
 share/PrusaSlicer/profiles/Rigid3D.idx
 share/PrusaSlicer/profiles/Rigid3D.ini
@@ -1083,6 +1121,10 @@ share/PrusaSlicer/shapes/torus.png
 share/PrusaSlicer/shapes/torus.stl
 share/PrusaSlicer/shapes/universal wall mount hole.png
 share/PrusaSlicer/shapes/universal wall mount hole.stl
+share/PrusaSlicer/web/
+share/PrusaSlicer/web/connect_loading.html
+share/PrusaSlicer/web/connection_failed.html
+share/PrusaSlicer/web/loading.html
 share/applications/PrusaGcodeviewer.desktop
 share/applications/PrusaSlicer.desktop
 share/icons/hicolor/128x128/apps/PrusaSlicer-gcodeviewer.png



-- 
Renato Aguiar


Reply via email to