Copyright (c) 2003 STZ-IDA and PTV AG, Karlsruhe, Germany Copyright (c) 2018 Michael Mclaughlin Copyright (c) 2012 Daniel Trebbien and other contributors Copyright (c) 1995-2001 International Business Machines Corporation and others