Copyright 2007-, Tatu Saloranta (tatu.saloranta@iki.fi) Copyright © 2023 Werner Randelshofer, Switzerland. MIT License.