Copyright (c) 2010-2019 Daniel Nouri, Andreas Kaiser and Contributors.
All Rights Reserved
