SPDX-FileCopyrightText: 2017 - 2025 Slavi Pantaleev SPDX-FileCopyrightText: 2019 - 2025 MDAD project contributors SPDX-FileCopyrightText: 2019 Dan Arnfield SPDX-FileCopyrightText: 2019 Edgars Voroboks SPDX-FileCopyrightText: 2020 Björn Marten SPDX-FileCopyrightText: 2020 Hugues Morisset SPDX-FileCopyrightText: 2020 Marcel Partap SPDX-FileCopyrightText: 2020 Max Klenk SPDX-FileCopyrightText: 2020 Rodrigo Belem SPDX-FileCopyrightText: 2020 Scott Crossen SPDX-FileCopyrightText: 2020 Tulir Asokan SPDX-FileCopyrightText: 2021 Aaron Raimist SPDX-FileCopyrightText: 2021 Alexandar Mechev SPDX-FileCopyrightText: 2021 Béla Becker SPDX-FileCopyrightText: 2021 Cody Neiman SPDX-FileCopyrightText: 2021 Marcus Proest SPDX-FileCopyrightText: 2021 Matthew Cengia SPDX-FileCopyrightText: 2021 Raymond Coetzee SPDX-FileCopyrightText: 2021 Toni Spets SPDX-FileCopyrightText: 2021 Yannick Goossens SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi SPDX-FileCopyrightText: 2022 Charles Wright SPDX-FileCopyrightText: 2022 Jip J. Dekker SPDX-FileCopyrightText: 2022 Julian Foad SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr SPDX-FileCopyrightText: 2022 Vladimir Panteleev SPDX-FileCopyrightText: 2022 Warren Bailey SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister SPDX-FileCopyrightText: 2023 Antonis Christofides SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman SPDX-FileCopyrightText: 2023 Johan Swetzén SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu SPDX-FileCopyrightText: 2024 Suguru Hirahara SPDX-License-Identifier: AGPL-3.0-or-later