torsten
418443c841
LtsWidgets: Qt6 API fixes complete
...
- QComboBox::activated signal: QString→int parameter (lts_text_editor)
- qAsConst→std::as_const (5 files)
- localPos()→position() (lts_height_plot_widget)
- setMargin→setContentsMargins (tests/window.cpp)
- CMAKE_AUTOUIC OFF + include in header for MOC
- enterEvent(QEnterEvent*) signature fixes
- QRegExp→QRegularExpression replacements
All LtsWidgets module files now Qt6-compatible.
2026-08-21 11:08:24 +02:00
torsten
ffa25fb394
LtsWidgets: project_defines.h Include-Pfad korrigiert
2026-08-21 10:35:36 +02:00
torsten
3bd40639a3
Merge remote branch + Submodule-Fix + Qt6.10.2 Dockerfile
2026-08-21 10:33:28 +02:00
torsten
016371c076
Merge branch 'feature/qt6-migration-basis-modules' of devel:lifemaps/qt-migration-legatus into feature/qt6-migration-basis-modules
2026-08-21 10:31:11 +02:00
torsten and Copilot
d890b11c5f
Qt6 Migration: LtsWidgets, BUILD_RTI Guards, externe Dependencies dokumentiert
...
- LtsWidgets Verzeichnis vollständig migriert (Qt5→Qt6)
- BUILD_RTI Guards für RTI-spezifische Module hinzugefügt
- Externe Dependencies in EXTERNAL_DEPS.md dokumentiert
- Qt6 API-Änderungen: QRegExp→QRegularExpression, enterEvent(QEnterEvent*)
- AutoUic-Fehler bei ui_requirement behoben (SKIP_AUTOUIC)
- Include-Pfade korrigiert (LtsElevation, LtsMultiMonitor, LtsUtilsCore)
- MOC-Fehler behoben (Q_INTERFACES entfernt wo nicht benötigt)
- CMakeLists.txt Anpassungen für Qt6 (PUBLIC statt INTERFACE)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-21 10:29:34 +02:00
torsten
27fe03a03a
WIP: Build fixes und EXTERNAL_DEPENDENCIES.md
2026-08-21 07:04:40 +02:00
torsten
85bae2e60a
tests: Grantlee-Tests conditional auf BUILD_GRANTLEE gesetzt
...
- Grantlee-Tests nur bauen wenn BUILD_GRANTLEE=ON
- Vermeidet Build-Fehler durch fehlenden codegen_base_export.h bei BUILD_GRANTLEE=OFF
- Ermöglicht Build ohne Qt5-basierte Grantlee-Dependency für Qt6-Migration
2026-08-21 07:01:51 +02:00
torsten
7a80c64b04
tests: Grantlee-Tests conditional auf BUILD_GRANTLEE gesetzt
...
- Grantlee-Tests nur bauen wenn BUILD_GRANTLEE=ON
- Vermeidet Build-Fehler durch fehlenden codegen_base_export.h bei BUILD_GRANTLEE=OFF
- Ermöglicht Build ohne Qt5-basierte Grantlee-Dependency für Qt6-Migration
2026-08-21 02:03:39 +02:00
torsten
d17d397fe7
LtsUtilsCore: Alle Include-Pfade korrigiert (LtsUtils/ → LtsUtilsCore/)
...
- CMakeLists.txt: Include-Pfade von ../ zu . geändert, json.h hinzugefügt
- ~95 Dateien: Include-Pfade systematisch korrigiert
- LtsUtils/ → LtsUtilsCore/ für alle Core-Header
- LtsUtilsGui/LtsUtils/LtsUtilsGui/ → LtsUtilsGui/LtsUtilsGuiDds/
- Logger-API: getLogger() mit const char* Parameter
- DataModification: enum class global (nicht im Lts-Namespace)
- Participant-Struct: Member mit m_-Präfix
- Export-Macro: SVCALMCOMMON_EXPORT statt ALMCOMMON_EXPORT
- Signal/Slot-Signaturen korrigiert für Qt6 template matching
Build validiert: LtsUtilsCore, LtsUtilsDds, LtsSessionData erfolgreich
2026-08-21 01:49:35 +02:00
torsten
bd10a8db89
AlarmManagement: DataModification-Namespace und Export-Macro korrigiert
...
- SVCALMCOMMON_EXPORT in logger.h verwendet (statt ALM_COMMON_EXPORT)
- Include für alm_types.h in alm_config_alarm_model.h hinzugefügt
- Include für data_modification_enum.h in allen AlarmManagement-Modellen hinzugefügt
- DataModification → Lts::DataModification in allen Gui-Modellen korrigiert
- GuezNasat gna_dtc.h: Include für data_modification_enum.h hinzugefügt
2026-08-21 01:49:35 +02:00
torsten
c7fa97c8bf
GuezNasat: DataModification-Type-Konsistenz und Include-Pfade korrigiert
...
- gna_nasat_aircraft_model.h/.cpp: Include-Pfad zu <GuezNasat/logger.h>
korrigiert, Logger-Initialisierung auf GuezNasat::getLogger() umgestellt
- gna_nasat_aircraft_part_model.h/.cpp: Methodensignaturen von
ParticipantManagement::DataModification zu globalem DataModification
geändert für konsistente Type-Verwendung
- gna_dtc.h: Include-Pfad für logger.h korrigiert
- gna_nasat_aircraft.h: Member-Variablen zu Getter-Methoden geändert
- CMakeLists.txt: Include-Verzeichnis für GuezNasat-Modul hinzugefügt
Alle Callback-Lambdas verwenden jetzt das globale DataModification-Enum
aus LtsUtilsCore statt dem veralteten ParticipantManagement-Namespace.
2026-08-21 01:49:35 +02:00
torsten and Copilot
e22dd98040
LtsSession: STUB-Unterstützung und Build-Fixes
...
- lts_session_data_dds.h/cpp: BUILD_RTI guards für STUB/Real-Implementation
- Include-Pfad fix: DDS/QosProfile/DDS_DefaultQos (ohne .h)
- CMakeLists.txt: qtservice_export.h Includer Pfad korrigiert
- AdvancedSymbology/Data: Qt6 Core5Compat Verlinkung
RTI License: ~/swy/sandbox/rti_license.dat (leer, vom Installer)
ArcGIS SDK: ./external/ArcGIS/MapsSDK_Qt_300.0.0/
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-21 01:49:35 +02:00
torsten
05095c6813
LtsSession/LtsElevation: BUILD_RTI Guards komplett, EXTERNAL_DEPENDENCIES.md
...
- lts_session_data_dds.h/cpp: Vollständig mit #ifdef BUILD_RTI geschützt
Vermeidet vtable/qt_metacast Linker-Fehler bei BUILD_RTI=OFF
- lts_session.cpp: LtsSessionDataDds-Aufrufe mit BUILD_RTI Guards
toString(): N/A-Placeholder im else-Zweig
event(): QObject::event(e) statt LtsSessionDataDds::event(e)
- lts_elevation_manager.cpp:
- m_logger im Initializer-List initialisieren (Reference-Member)
- initDDS: Kein Zugriff auf incomplete type bei BUILD_RTI=OFF
- createInstance: Rückgabetyp korrigiert (nullptr statt QStringList)
- getFilenamesForExercise/TrainingArea: #ifdef BUILD_RTI
- exerciseIdToTrainingAreaId: static method mit BUILD_RTI guard
- elevation_map_manager.h: QPoint3D-STUB entfernt, Forward-Declaration
- cnr_frequency_planning_helper.h/cpp: Vollständig mit BUILD_RTI geschützt
- EXTERNAL_DEPENDENCIES.md: Dokumentation fehlender external deps
- RTI GCC-Inkompatibilität (DDS_OctetSeq vs DDS_OctetsSeq)
- BUILD_RTI temporär OFF, BUILD_ARCGIS=ON default
Build-Status: LtsSession [17/1589] erfolgreich, LtsElevation gebaut
Offene Build-Fehler durch fehlende externe Dependencies (erwartet)
2026-08-21 01:48:52 +02:00
torsten
b9a807c92a
RTI BUILD_RTI=OFF Workaround und External Dependencies Dokumentation
...
- BUILD_RTI Default auf OFF gesetzt (GCC-Inkompatibilität mit RTI 7.7.0)
- RTI_INCLUDE_DIRS mit vier Pfaden konfiguriert (include/, include/ndds/, include/ndds/hpp, include/rti)
- RTI_LINUX Compile-Definition zu IMPORTED Targets hinzugefügt
- RTI IMPORTED Targets manuell erstellt (nddsc, nddscore, nddscpp, nddscpp2)
- cnr_frequency_planning_helper.h: Fehlende Qt-Includes hinzugefügt
- EXTERNAL_DEPENDENCIES.md erstellt zur Dokumentation fehlender Dependencies
Temporärer Workaround bis RTI-Version mit GCC 13.x Kompatibilität verfügbar ist.
2026-08-20 21:11:22 +02:00
torsten and Copilot
5e0a20094e
Submodule: qt5-legatus-legacy auf d5f9b0c aktualisieren
...
ElevationMap-Dependency in 8 CMakeLists.txt entfernt.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-20 20:37:29 +02:00
torsten and Copilot
b1ff110439
LtsSession: STUB-Entfernung und Build-Fixes
...
- Alle LtsSession STUB-Dateien entfernt (lts_session_stub.*, lts_session_data_dds_stub.*, lts_session_lock_handler_stub.*)
- ElevationMap STUB-Verzeichnis gelöscht
- BUILD_RTI=ON als Default in CMakeLists.txt
- RTI-Connext manuelle Pfad-Konfiguration (include_directories, link_directories)
- TARGET_COMPILE_DEFINITIONS für BUILD_RTI hinzugefügt
- lts_session.h: QObject-Include korrigiert (qobjectdefs.h → QObject)
- lts_session_lock_handler.h: Vollständiger STUB für RTI-Typen (void*/minimal)
- cnr_frequency_planning_helper.h: avm_enums_stub.hpp → avm_enums.hpp, zirkulären Selbst-Include entfernt
- CombatNetRadio CMakeLists.txt: Include-Pfad korrigiert (../../Services/AudioVideoManagement/ → ../../)
- CMakeLists.txt Zeile 146: Qt6 Version 5.9.0 → 6.10.2 korrigiert
- SituationMap CMakeLists.txt: ElevationMap-Dependency entfernt (fehlende external dep)
- avm_translation.h: avm_enums_stub.hpp → avm_enums.hpp
Build erfolgreich mit 1941 Targets.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-20 20:33:20 +02:00
torsten and Copilot
8c824f87b4
Remove STUB files, use real dependencies
...
- Removed all STUB files for external dependencies:
- lts_session_stub.h/cpp
- lts_session_data_dds_stub.h/cpp
- lts_session_lock_handler_stub.h
- elevation_map_manager.h/cpp (entire ElevationMap STUB)
- avm_enums_stub.hpp
- Test files for STUBs
- Updated LtsSession/CMakeLists.txt:
- Removed conditional BUILD_RTI logic for STUBs
- Always use real implementation files
- BUILD_RTI=ON is now the default
- External dependencies are now expected in ./external/
- RTI Connext DDS 7.7.0
- ArcGIS SDK (runtime mount)
- Other deps to be integrated step by step
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-20 19:15:57 +02:00
torsten
32041db9a7
LtsSession-STUB und GuezNasat-Fixes für BUILD_RTI=OFF
...
- CMakeLists.txt: Conditional compilation für BUILD_RTI=ON/OFF
- lts_session_stub.h/cpp: NEU - STUB-Implementation ohne RTI-Abhängigkeit
- lts_session_data_dds_stub.h: Doppeltes Namespace-Closing entfernt
- gna_nasat_aircraft.h: participantId zu participantIdValue umbenannt (Konflikt)
- gna_dtc.h: Doppeldefinitionen entfernt
- gna_nasat_aircraft_participant.h: Doppeldefinitionen entfernt
- ppm_enums.hpp: DataModification-Enum im ParticipantManagement-Namespace
- ElevationMap-STUB: ArcGIS-Abhängigkeit für BUILD_RTI=OFF gekapselt
- Viewer-STUB: Header für BUILD_RTI=OFF Build
Build-Validierung: Configure erfolgreich, LtsSession-Fehler behoben
2026-08-20 19:01:05 +02:00
torsten
b0a281ddf4
CI: RTI License im Docker-Image konfigurieren
...
- rti_license.dat ins Image kopieren
- RTI_LICENSE_FILE Umgebungsvariable setzen
- Erforderlich für BUILD_RTI=ON Builds
2026-08-20 18:33:43 +02:00
torsten and Copilot
fdf2bba69d
Qt6-Migration: STUB-Header und Type-Definitionen vervollständigt
...
- ppm_types.h: Participant, Party, Dtc, Type-Struct mit getId()/getTypeClass()
- ppm_enums.hpp: DataModification, TypeClass, SymbolAppearance, SymbolVisibility
- exm_exercise.h: Exercise mit exercises()-Methode
- exm_dtc.h: Dtc mit DataModification Signal
- gna_dtc.h: Dtc mit NasatAircraftParticipant Support
- gna_nasat_aircraft.h/.cpp: NasatAircraft Implementierung
- gna_nasat_aircraft_participant.h/.cpp: NasatAircraftParticipant Implementierung
- mrk_marker.h: Marker mit timeStamp() Methode
- alm_translation.h, gna_translation.h, ppm_translation.h: Übersetzungs-Header
- *_export.h: Export-Makros für Shared Libraries
- Dockerfile.rti: RTI Connext Installation im Image
- rti_license.dat: Leere RTI-Lizenzdatei
Build erfolgreich validiert mit BUILD_RTI=ON
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-20 18:31:48 +02:00
torsten
9c1463546e
Qt6-Migration: Type-Struct, DataModification und Signal/Slot Korrekturen
...
- ppm.hpp: Type-Methoden von id()/typeClass() zu getId()/getTypeClass() umbenannt
(Vermeidung von Namenskonflikt mit Member-Variablen)
- ppm.hpp: TypeClass::eUndefined zu TypeClass::eUninitialized geändert
- ppm.hpp: operator<< für Type-Struct hinzugefügt (für INGLLogger)
- ppm_enums.hpp: DataModification, TypeClass, SymbolAppearance, SymbolVisibility Enums
- ppm_enums.hpp: operator<< für TypeClass hinzugefügt
- exm_dtc.h: #include ppm_enums.hpp für DataModification
- exm_dtc.h: DataModification zu ParticipantManagement::DataModification qualifiziert
- gna_dtc.h: Signal-Signaturen auf ParticipantManagement::DataModification angepasst
- gna_dtc.h: #include ppm.hpp hinzugefügt
- gna_nasat_aircraft_part_model.h/.cpp: Namespace-Korrekturen, Member-Zugriffe korrigiert
- gna_nasat_aircraft_part_model.h: onTypeChanged-Slot entfernt (im STUB nicht verfügbar)
- pdm_to_string.h/.cpp: DDS-spezifischen Code entfernt (nur STUB)
- flm_enums.hpp: AlarmConfig, VulnerabilityState Enums hinzugefügt
- pws_vnc_handler.h/.cpp: ProjectionWorkstation Namespace korrigiert
- mrk_marker.h: timeStamp() Methode hinzugefügt
- exm_exercise.h: Syntaxfehler korrigiert
- CMakeLists.txt Anpassungen für BUILD_RTI=ON Support
Build mit BUILD_RTI=ON erfolgreich abgeschlossen.
2026-08-20 18:26:08 +02:00
torsten and Copilot
734a5e5315
Qt6 Migration: BUILD_RTI Guards, Export-Header und Include-Pfade korrigiert
...
- BUILD_RTI Guards in LtsSession implementiert (6 Dateien)
- LtsSessionDataDds Stub für BUILD_RTI=OFF erstellt
- Export-Header Stubs erstellt (GuezNasat, AlarmManagement, MarkerManagement)
- Include-Pfade korrigiert (resource_path.h, logger.h, Proxies)
- QStringRef → QString migriert (Qt6 Kompatibilität)
- Qt6::Gui Dependencies hinzugefügt (LtsElevation, AdvancedSymbology)
- FilterManagement-Plugins temporär vom Build ausgeschlossen
- MOC-Probleme gefixt (staticMetaObject, override final)
- Build erfolgreich: 1940 Targets mit BUILD_RTI=OFF im Docker-Container
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-20 12:26:22 +02:00
torsten
cac1dd809e
Adds report after first qt6 migration run through
2026-08-20 09:29:50 +02:00
torsten
72cbe318b6
Adds further migration results and moves generated tests in
2026-08-19 21:21:59 +02:00
torsten
19ab996be2
Removes mistyped target test folder from repo
2026-08-19 21:20:12 +02:00
torsten and Copilot
13c341c7c7
Fix AvmShared include path for AudioVideoManagement
...
- Add PUBLIC include directory for Lts/Services to resolve ava_types.h
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:45:35 +02:00
torsten and Copilot
1632478122
Fix gui_plugin_interface.h m_logger member and ltsmultimonitor_export.h alias
...
- Add m_logger member to GuiPluginInterface private section
- Create ltsmultimonitor_export.h as alias for lts_multi_monitor_export.h
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:44:15 +02:00
torsten and Copilot
a1185399d4
Fix LtsSession build with BUILD_RTI=OFF
...
- Conditionally include lts_session_lock_handler.cpp only when BUILD_RTI=ON
- Stub header provides inline implementations when RTI is disabled
- Prevents redefinition errors in stub mode
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:28:41 +02:00
torsten and Copilot
0fcfac2f26
Add MockCoordTrans.h stub for CommonUnitTestsPlaceholder
...
- Created minimal stub to satisfy CMake configuration
- Required for BUILD_TESTING=ON builds
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:25:30 +02:00
torsten and Copilot
4f09d01afb
Fix CMakeLists.txt - proper if/else/endif nesting
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:24:04 +02:00
torsten and Copilot
2a127de21f
Fix CMakeLists.txt syntax error - properly nested if statements
...
- Fixed malformed if/endif structure
- Removed duplicate if(EXISTING_SOURCES) check
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:23:17 +02:00
torsten and Copilot
52d82529f4
Add tests/CMakeLists.txt to include benchmark tests
...
- Links qt6-migrated-benchmark/tests into main test suite
- Enables CTest discovery of migration tests
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:21:48 +02:00
torsten and Copilot
6111fc86ab
Add tests for LtsTimelineClassic Item, TimelineView, TimelineWidget, TimelineIndicator
...
- test_item.cpp: 3 tests for Item class
- test_timelineview.cpp: 3 tests for TimelineView class
- test_timelinewidget.cpp: 3 tests for TimelineWidget class
- test_timelineindicator.cpp: 3 tests for TimelineIndicator class
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:19:32 +02:00
torsten and Copilot
c8dc6f387f
Add test for LtsTimelineClassic TimelineHeaderView.cpp
...
- Added test_timelineheaderview.cpp with 3 tests
- Tests cover constructor, setPosMarkTime, and setLiveTime
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:17:08 +02:00
torsten and Copilot
ec2f8f1691
Add test for LtsTimelineClassic TestTimelineModel.cpp
...
- Added test_testtimelinemodel.cpp with 3 tests
- Tests cover constructor, addTestEvent, and multiple event addition
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:16:10 +02:00
torsten and Copilot
81a85ad3dc
Add test for LtsTimelineClassic Range.h
...
- Added test_range.cpp with 3 tests for Range struct
- Tests cover default constructor, parameterized constructor, and copy constructor
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:15:14 +02:00
torsten and Copilot
f58ba53a1e
Add test for LtsTimelineClassic PassiveEventContainer.cpp
...
- Add test_passiveeventcontainer.cpp with 3 tests
- Test container creation, event list setting, paint method
- Follow policy naming convention
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:14:15 +02:00
torsten and Copilot
38239bcebc
Add test for LtsTimelineClassic LineMap.h
...
- Add test_linemap.cpp with 3 tests
- Test empty creation, insert/retrieve, contains
- Follow policy naming convention
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:13:24 +02:00
torsten and Copilot
4de8d75015
Add test for LtsTimelineClassic EventTools.cpp
...
- Add test_eventtools.cpp with 9 tests
- Test time conversion, validation, position/time calculation
- Test draw methods with EXPECT_NO_THROW
- Follow policy naming convention
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:12:33 +02:00
torsten and Copilot
6e06e6793b
Add test for LtsTimelineClassic EventList.h
...
- Add test_eventlist.cpp with 3 tests for type aliases
- Follow policy naming convention
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:11:32 +02:00
torsten and Copilot
f66c6a1bc0
Add test for LtsTimelineClassic EventGraphic.cpp
...
- Add test_eventgraphic.cpp with 3 tests
- Follow policy naming convention
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:09:57 +02:00
torsten and Copilot
ca9d89c2ff
Add test for LtsTimelineClassic EventDelegate.cpp
...
- Add test_eventdelegate.cpp with 3 tests
- Follow policy naming convention
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:08:44 +02:00
torsten and Copilot
6c668cfbfa
Add test for LtsTimelineClassic Event.cpp
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:07:13 +02:00
torsten and Copilot
f48e645973
Rename test file to match policy naming convention
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:05:31 +02:00
torsten and Copilot
c3f3920380
Add test for LtsTimelineClassic AbstractTimelineModel.cpp
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:02:18 +02:00
torsten and Copilot
5d1768c51c
Add test for LtsTimeline timeline_widget.cpp
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:01:42 +02:00
torsten and Copilot
0a288a3bff
Add test for LtsTimeline timeline_view_track_handler.cpp
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:01:03 +02:00
torsten and Copilot
00a37f1fd6
Add test for LtsTimeline timeline_view_selection_handler.cpp
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:00:28 +02:00
torsten and Copilot
ccc31f8fff
Add test for LtsTimeline timeline_view_resize_handler.cpp
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 14:59:50 +02:00
torsten and Copilot
29fa8876fb
Add test for LtsTimeline timeline_view_drag_handler.cpp
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 14:59:04 +02:00