Copyright (C) Philipp Schweig - All Rights Reserved Unauthorized copying of the source code, via any medium is strictly prohibited Proprietary and confidential Written by Philipp Schweig, February 2022