library WMul {
    // Taken from https://github.com/usmfum/USM/blob/master/contracts/WadMath.sol
    /// @dev Multiply an amount by a fixed point factor with 18 decimals, rounds down.
    function wmul(uint256 x, uint256 y) internal pure returns (uint256 z) {
        z = x * y;
        unchecked { z /= 1e18; }
    }
}
function wmul(uint256 x, uint256 y) internal pure returns (uint256 z) {
    z = x * y;
    unchecked { z /= 1e18; }
}

/// @dev Multiply an amount by a fixed point factor with 18 decimals, rounds down.