ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000", 0x40440, 0xfffe0}, {&(0x7f000007da00)="eb52904e5446532020202000020800000000000000f8000000000000000000000000000080008000ff0f0000000000000400000000000000ff00000000000000f6000000010000003daaf55af9830909000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ffe00}, {&(0x7f000007db00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1fffe0}], 0x0, &(0x7f000007dc00)) 03:49:40 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x11c4, 0x36, 0x829, 0x0, 0x0, {0x0, 0x1000000}, [@nested={0x11ae, 0x74, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}, @generic="92fc3555c96f787fa7b40c6fd7f2fe385ff27aba93f3063be7c5b3b769e07d00aa2a188ca6acaec19a45b37c039b8c5461d027a897148c1141312a940f82362c31d1d430202b649d9a2f0ab0852bd0285841916e530067fa1891f70d0e9ac6c1d0f2bbf4166c322dca30", @generic="0f5632ac02d1291b9ccdab0cca032d3c31a2b7192d2368f29dce77ca4c1e4c669b99b9c67dc2d7355c707bc54f84a14b6c4ff61a94b89b438859f1b7aa06f132d507068e7ce2a9a72a806a112d6cc4649d72c01e6c904e322aa3acf6302f30832483d3167b3ee55bff017543a3645c12b227e8bcf05f87abefdb83485047812b3fc05522707af40a076bdf3c0c2f2a48e6c0d2", @typed={0x14, 0x81, 0x0, 0x0, @ipv6=@ipv4={[], [], @empty}}, @generic="7084b6e5c8119944808ceadcc3fe305eaf7e0d33d7d39cf87cdea04a228837bce3825bc86ee6032415472f925cd1e35ecc68fb70f68c6fc6d7871e3855d5a066e63b087736ea1a18ba871f43936232eba085329133dc9e", @typed={0x1004, 0x23, 0x0, 0x0, @binary="234d516bd620e162cbaa52066ce6ba5cd416fdd10f215578e773ba9107c0a7c2dc9baf20b3e20e674e4a7ad9a0f1af9211b7a7cde60b05fcd5e16e99fcfe8531432b4a1a43fccbea448e6aac9b80ffb6db2ccdb36418e7baccd599dce4c95ed3f130984993c52eee016e05845ee69a12046f4bb666316a97d576f30728f98f4eb25da9f889fa8030b88ddddb078dcad23d80cbf92cd59fb381d16b10e9e9895219690e601113a11c1d952862af7448c1e009eb5dd549faa04a311878fc9f6cb839c4d9ef8ce2e7c4096da9cf6321cb065af2281c727d6e8ecd32bde5a555766868157b6112a734168fbb90c6b8f7a2caf69dadefa8a7c08375faaec3fe989972b07d62478c1b020464607e7dbfa470ddd1de2ba21c26aa4bf87c6e336f5b0d824dd5b0bb6947a2c93a33a859899c2a3abe12f1798f2b61b51b5ab951cc9e290f848b713bc1ec47ecc28899d87979ff2f5c5cb7f0c6f2be662ff70a6d4828d4618703d564c7f02929ecf66aa95f1af58fa4c561b875f863c81e0b1e8aaf2e0ff35495dd9eb6cd2c8229cc8401a2eebb60416d51bf64bb284a613a2570ea5dc077d40eaae795fa81ab7d84fea8418ca1a37f3cd200fedf8b6b693ce28ffd482e0e3fa3e120ba46c4bff0ced264e44b96864cf1601d77e6d49e6f0f5fdba56a285a833c9ccf47f3e880bc3af62182181595d4f963ad8bb5542b46beec14eb3ccab846348208eeaa1d0426d957c175258056620f040e36679e4a55ace1aabd80fa924e4cd335a98706e75828a6b7192f2e6c8d4d8b3bb86786dbd236c1cc4405a8f9d2148700b58d02b0cb03ea3c35300467ae63ecbeb0f6012a24b7a11a71b502227dadc88e11a854891081fd77530384a97784d4e5861d68119ca687716a07dcd12b54e5149b835fb11298e5be7c5fc120aafc63c3aabcca0164976680002720fe8b8c8795bb30a56dd9cbe7c0f1ea149ca4a2c20eff7db54e811761e271a05f92d4178565c62cce8cd96ec04175985b327d8a59475225dd9936e3d6fa5d739a48e3f5eae918f7168c2c4cea66696f3c65db4f36c8a5e6a66a51274ae00a0c6a2effe35a74c12dd271c16f219c8833feabc231925851e84a67363f515460e1deba1a3cff91f11d2ca7b8fe7b45cc89865585766945b31816d41a150d4c0c8f98978208af9de2ed7d159763fc79c4e6d09e967f032fa8761177ab7ac6e9d5cfa3b5e510aa79d9b3fa658ba33561bfe192d401a94fe4b4bcf34d067eb46cd36185d17f28403d2d28e6a3444500110e95419be31cce7540fc397b0bcceab25da56e46ac1c3725aff1a98d89fe70dffa00577c5b427d4e887a96d564e43930e8c64b9b9f7a0789ff29a7a144ebc0c1fd662f045735d0fb5e29f5ed98f8f9706f858bafc85a2810157ea70666bbe578e918d4dcb635b44ea4404278c651bdd5c42ae711748536ccc2279224ee4fd08c6cacafea6bd1e358544c983baea4fe1ee4b6423d4ea3524d9e15a83b3608a335a0f6672aab7a597778c5bc9bb617da21aff4e30a922146b1399c98d30e1037906522256d90e5b53a533619c4d48477e8b68e9e16d31988f2d9c67a3751033b3b0e552506c4e91fe0e178fd4f126c4df2e1b974e121d4def96cbba44b75ac35ce9c01ce131e0a64f8a5b304b9d905124416b68e14b06b1d830343ad057ef60920e2610d1caa98dae81bb11ccd442b18e195fd23d52a23d08ef6dc03a656625b8c336c6fc31f745f8da7683a4348cb5d2ac8d9385a593d4a6b7ebdda08867eb775cf31a536ab2c1ed3cde07f0c9ecc3be6a009175f693eca707e4aad1c43ad11aebfd8c78bb33694364a7875133b5031412ccc3e8401f137aa8423d971a96fe574b740e9bfc8a8eba4727bafde1f0c0300a93b3e4b209564716f8f51e8e8a17e4490ec5abe59c9eaec97e006e9fb59f0429ccf502450ea5a776725a8da34f520001cb43a60486571d9da242db176a2579b1ced0f3f42c47b10fe0d20b64e8eb2197b680ffa578b1a9111838fbe6183f8425e3598501bcda747e622c99c1dd67fd62be7552493b49bc6f914ba597f44dfdeef8616f22d5411b49b1617a770798cd7c328d2257e7a08854bea2a0a240bcf2eedb93eeeec5fb28db68d0b7e8848dc6cbf0a751b7627b38b68b838e6d47030141b3d785152e351cec4766d080a0eac36e7f88672a2e68c52ea141f12007cdefa750a736605bac0935ff119b9fffb112ea85cd096b9d1ec95d37a10716aa3e055fa42f0b11af0b901221a8215990585ec197d17f480d5e408b2b1071839a676426f77fece439095ad132904f538cbe55dee4cbabcf63443afc30061577e331405b65ef188049ab30fef836064b91ad8f7918417bbba9c3bf3d5baa9d7ce29af610d5e72a11b9e3c542daa569ece98135e6483a22936d108fb7effe79d2094be3565cafd283d1ba6758c744b0c5cba80ee34148cdbdc4c35f22d99652914be6c6e913709f3f95c737440ef35a0b65ad96c30bbcc5cf850585741ba46e5839a8df3234e1e258794aab6ce16beb7dddd911376285922ea2dcb6d7fe143b23322f041330acdb0967375832feebb76755c091166e4cd93db654867fb9a3562855d26da08e0b629d3043d6a53ae8296f02118af869f799cde38c486e1a22621e2d5eb26f531dd80334b46635360cd4bc64a55361b3603b204d7c6e025893d4045690d12292cd0bbad2ddfc8d29c720ac763a8cb459f1eb931ef3e258b9f627f71bd1b8232d0d038511e0daa8227a291784c6d404e671dcc6a068ad334339351f7bfdaaf2db5a8f2149048702126da1b934095dbea9f2b458eaef5819aba25c2afb4559ddb4354ce9f575c34004d4fb4b7c6d7e7d6a031617e14ee85f8d0ad9623af9c37a1c90ce82aa0973f7a0a5663bb0371b9db7872b1d9225aa4ca896f3dfcbcbc80998d1a8777fce266839789b42cc0fab369052f4c2a9ff8c06d59f8e081458bf7cba4d3baf38df2fef50718beab62c9e6e47dfc2d51868fa5238b955607203633edfef1cb7f2f0788fc4fab312f8e0cd21e7ca47f67bf9d31787273cec7a444ca408f9d086dc56b26d23f433d3c5698b56efac28a8d99c2b242e20edcada7b8a20e355139aaeaf0613f0db5fb84f6a934ff4ac5510d3627c05c8a3fdb37ef8fdcb74c35615c00b39efd3928cc1ddc1cc8fce8719e2757400b70827e594fa7454b39dc282fe041bee504fa1edfdc87abe722f3ff0f6adb4b32eea9251edd6628e44649414dffba681c2f4e6e7c2f370d00bb43f342b9339c153e61a777f87a39d684d8a0afcd7f98e6181695cbf87cabf0952568f7d3acef0f00e9c09d72982e8bea73f929a99e1339afa3faaf3a5bb1bbb39701cc0a4be433b93ced9c583856ec3402a383c1fb3d5ebbe14272349833ac5b4720dcf94a9d866a4001df5420d03fddec2c3af3dc43cc1f33e9e82ad1b6abae0e22786db52c67c007a1c99a6231a1952423968eca041561c479fefdc6573f4287d12f726e71d203652e97d1701d9f65ddcbf89c53997a212ad506268c26ab13bbff3a3923e0d9273b796e362aee46f4cca31ecb061f12a8e28d46bcf7738aeb58955a1f1f66498466798f9cf70adeb7f32b512e7886ce59913b9e6b4ba6774c6415ab548a8e9d4fc2a0653c09e63bb5633607d302a3bd3c197d3ab78d552376af1e2e5ec30132a03ed944804e198733eaf4084f30e1ef5d509d7864497f052b1cd4773d97230b095d3a1e5fd6935385bf7f2c6da28a5e3d109fa89fcaf23164a7b47da61c9f08e72a1f3f2ff019cd3976ce97d8dbb1211ef3f42d9f4ed33a440c3957d9ec9cb02618136b2db5c8815082c8150560b4226fd8c54c2b6349151f9152751d1e6f28a1f61b811e34f9453e3353505f79f76d21ae975e26dd423c1b0a5d32b7398412ed94f89daa6b57673ab0c36c00a449b2186a78b5c5cedf5c40b75631b88eb961f5b6bf3bed759981c03d9140440f80a6563962fd86462c09297c4439875539e258996c728efa285ec482c571ac07288cd6788fbd4259d1e22326025e5e130e143fbb72cce2fcd98fff9edfff701ca8052cbf1db6cc2c353c7b33f95ee49a62cf99826e7bdf8d2ec64e6d6ad432a6b3535a77da69556cd74f967802395f09b7c9c0e5879823d8a0760a055682fd3f02b81f7df617bbdbe0aff2a26ea244c7eab10adf9067c5cedabead3d35e2f5ed254b5420c84ec6df717b19514ed361ea946e5e5c751e8582507d17c21514705a7c2b09e4694f1952e0558c5e0f4c9bfc0061ae228eeb7ef61d1f284844500efa06a446d67c226e601706765c2831222c0c0ab9ba331317f66f7481644de5fbbca41b266fb5bd0145b5db09926d03afb6e2840c85d1346ea3e692e7f474e08c21d05a0c2d9f93ffb4a53b19c3bdfe958ce150c74fe6c5e7319fc6afc745cd647e26b6f7cd012fc35587c5e795f8fe1ed6652d6ba64fbaaed60aec2fa68427d76a69bc60d420d9c786047b2a6419be5ec1440316fadd16723ba88db2cd7fd53c03c6f4e33e203f2678fc16252933b545fe71a3f6f8c27665d5621499e7abbdd225b64801a857f5b145d306db82b5737a19f92fa98e3e27245a32f63b987ebc75ec49d27efd0414e878b3b524cc3fbc30106364562823983f331f1acc5bf6e8284c1e1e55a3502d395130612c629f1e3caaab2dbd5941aad836e267883f722e92d64f7be37f065f77600b8e06d4d96a046be4451141f0d4f1fb8af30f5ce2cd7da7240333a3e3f811b0df019c44262c1a1134bdee05ca4aff561bdfebdd30bda3de3ff9ba4004ac93c68edf7d06f8fd5b1edf1c6db608efa55dd6480378d63d0e9e7cbc67cda4d600dbe0346974df0c7c104dc256cd47aed4efe5c8fdefd5c5c6874d1a7ca5b71f6f441eccb4b42bdee94a1706af550b023c0008fcb50528a4d1ed039e6314af8fa29a11dd4892468f5835f550cb6f243782e00b22734556e81a2d6c54a783f89493fca9c96e3dd2ddc52db60ab7069628ed89eebeba7b4e3cfb33c982e24c40df7320e212bd3afd3baf13fd29fde60a16fb1310de9f6144950c62f6ff4e85a8088a49b2fbb9d712d3192645add7589d8ce1c7de23511ce84ac58196ee2a7b900a27d25017521ea97eca7d09d226c18e62ee2fd00849e194352721b57a946b2839ab165c913c140f52eab0e8f9b3ee531ca2033b0f44cbebf4baff39058c237409345a38e0da717c86f3f023884138021279e66dc728de546c2e4d6a59f0f56146637a2bff8cbaee6a52a7d71569636a9f500f0bce93f982905c10010fd4b184cf58c3c6ef91ad04467a371a6f44b2ce5d65ad874184cdba1dfac1f15624ec49ebbd865b35868d03b5a95e30824e84996bd03c895c96ee130ee18c229948d845bda1eaa014e7ee30933a6cd7bf7ba5c3a5b4d5357bfa69f7d061665bffd155dbbc5bcf1aeb6055d5beae0691a08e8daccd62bc3fee94379388bf62f8c4abdc6c8604957c03ef90d8185b28e6ec174d13d03e47ed1d724906d1cae89b5e7576efc8b31f91fc6be900d1e0d34e72d4d515006f8d7ee5d0ae42a129392bcb78ba4eca7dae9242e31d35ef5f9e454b467cf76504be4d473cbd3ef92d18f4562c253014c259e80a0b4f0a6f7d620a595fbb40609d7e5a16ddbc78924991a092556e0ffd65deef88d48cf7deae3c2c6fc6dca0292c2f0cca6867eb13e5f7f4823de888cf3946e1f1b564d9372e478347236b9b1ddaa34f59255c52ca3cf678ad2706a309afef083d10c2ccfc59f893d2ee54db81bda9e655190f9202"}, @generic="346540c6b37d0e40f84f0556b6266ff68c5d9c66f18d30b73df0ec1b5a3823862140c90b86ae2b661558"]}]}, 0x11c4}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:40 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x2, &(0x7f00000013c0)=[{&(0x7f00000000c0)="dd7fff59719700bf1b9e0e7e2c468110e02d6aa4a5015df5f1ff36899fc2748eeb43b8eb441f7ea6e2b11d1e89f8d57175ee94469aafde9873f5944b3f1a20484e07b563eaf00aa03a0104c4f6ef1f9c1bb211b00d66f9c831b2161c81406efb78ae4726881d79ef241870794696484b225a0f5db27a8ef94d268393f28788cbcc5c974d706702680f8e77f75d48cd916354b6bc1b926c25d06f59e27e00ade8b954489f0e80c3888ea8817238d8a26919ddf4edd2776be8a293cce8f43113804d49ad5e6c2a818312", 0xc9, 0x6}, {&(0x7f00000001c0)="1f631e86ac3dfa4366632bb0c5163959e3d69623d1b691f2370f4c6e32e057342f4e489a8f9c8ac558a6af014b58e101faca715298f0b41101b4ef9e275d44c17f5580e8bf0101c4bb74174b0b06ba75a3aad8cd703f0f6007edb4a266ae346d04fbad958f810fcba5301f20dc8f155c3daf9f83e68f9f4dba0cf7c20d784a3acf43ded012a22d696cbc7bf2e98ed257048767db", 0x94, 0x8}], 0x1200001, &(0x7f0000001480)={[{@grpid='grpid'}, {@grpid='grpid'}, {@discard='discard'}, {@nouuid='nouuid'}, {@grpid='grpid'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) 03:49:40 executing program 5: openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(0xffffffffffffffff, 0x20, 0x0, 0xffffffbf000) 03:49:40 executing program 2: syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000040)='./file0\x00', 0x8, 0x2, &(0x7f00000001c0)=[{&(0x7f0000000080)="bebdbe8f5a40bd3818600bd4fb8d8ce531efe2fc305a5966942fd74e7818b4e229610411c8a96c49eb223e84fe53d2d6c0aa9573077703caa6d43c099d10608153498e90bc", 0x45, 0x7}, {&(0x7f0000000100)="5f32d3693b0a781916f56c2bf1ea8eee9962f64d200ab96b30f94bec64f2297700c537422f0fce62b56c0ef9a77d3019cdb011c14db60c99031afe029bd5774e9123f118d1d86796646c072a6bbe85a4c77bf22a7d5f980a3b127d4daca471c8580e8d00a25f5c3d0ffb636b9ce3ac2063e1944182628e2b5346b84f2094a5a5e335670d392f10b186b8b397824fb145d116f4ba6f945256cbddb2d1fe09db66727aab135e1ff1ee1ad946ef2219441df28e1beefed423cf113e7d175d", 0xbd, 0x1c8c}], 0x11, &(0x7f0000000200)={[{@compress_force='compress-force'}, {@ssd='ssd'}, {@flushoncommit='flushoncommit'}, {@datacow='datacow'}], [{@obj_user={'obj_user', 0x3d, '-/'}}, {@appraise='appraise'}, {@dont_measure='dont_measure'}, {@euid_gt={'euid>', 0xee01}}]}) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)={0x5, 0x8, 0x3ac, 0x0, 0x1}) [ 182.145925][ T9027] device bridge0 entered promiscuous mode 03:49:40 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x11c4, 0x36, 0x829, 0x0, 0x0, {0x0, 0x1000000}, [@nested={0x11ae, 0x74, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}, @generic="92fc3555c96f787fa7b40c6fd7f2fe385ff27aba93f3063be7c5b3b769e07d00aa2a188ca6acaec19a45b37c039b8c5461d027a897148c1141312a940f82362c31d1d430202b649d9a2f0ab0852bd0285841916e530067fa1891f70d0e9ac6c1d0f2bbf4166c322dca30", @generic="0f5632ac02d1291b9ccdab0cca032d3c31a2b7192d2368f29dce77ca4c1e4c669b99b9c67dc2d7355c707bc54f84a14b6c4ff61a94b89b438859f1b7aa06f132d507068e7ce2a9a72a806a112d6cc4649d72c01e6c904e322aa3acf6302f30832483d3167b3ee55bff017543a3645c12b227e8bcf05f87abefdb83485047812b3fc05522707af40a076bdf3c0c2f2a48e6c0d2", @typed={0x14, 0x81, 0x0, 0x0, @ipv6=@ipv4={[], [], @empty}}, @generic="7084b6e5c8119944808ceadcc3fe305eaf7e0d33d7d39cf87cdea04a228837bce3825bc86ee6032415472f925cd1e35ecc68fb70f68c6fc6d7871e3855d5a066e63b087736ea1a18ba871f43936232eba085329133dc9e", @typed={0x1004, 0x23, 0x0, 0x0, @binary="234d516bd620e162cbaa52066ce6ba5cd416fdd10f215578e773ba9107c0a7c2dc9baf20b3e20e674e4a7ad9a0f1af9211b7a7cde60b05fcd5e16e99fcfe8531432b4a1a43fccbea448e6aac9b80ffb6db2ccdb36418e7baccd599dce4c95ed3f130984993c52eee016e05845ee69a12046f4bb666316a97d576f30728f98f4eb25da9f889fa8030b88ddddb078dcad23d80cbf92cd59fb381d16b10e9e9895219690e601113a11c1d952862af7448c1e009eb5dd549faa04a311878fc9f6cb839c4d9ef8ce2e7c4096da9cf6321cb065af2281c727d6e8ecd32bde5a555766868157b6112a734168fbb90c6b8f7a2caf69dadefa8a7c08375faaec3fe989972b07d62478c1b020464607e7dbfa470ddd1de2ba21c26aa4bf87c6e336f5b0d824dd5b0bb6947a2c93a33a859899c2a3abe12f1798f2b61b51b5ab951cc9e290f848b713bc1ec47ecc28899d87979ff2f5c5cb7f0c6f2be662ff70a6d4828d4618703d564c7f02929ecf66aa95f1af58fa4c561b875f863c81e0b1e8aaf2e0ff35495dd9eb6cd2c8229cc8401a2eebb60416d51bf64bb284a613a2570ea5dc077d40eaae795fa81ab7d84fea8418ca1a37f3cd200fedf8b6b693ce28ffd482e0e3fa3e120ba46c4bff0ced264e44b96864cf1601d77e6d49e6f0f5fdba56a285a833c9ccf47f3e880bc3af62182181595d4f963ad8bb5542b46beec14eb3ccab846348208eeaa1d0426d957c175258056620f040e36679e4a55ace1aabd80fa924e4cd335a98706e75828a6b7192f2e6c8d4d8b3bb86786dbd236c1cc4405a8f9d2148700b58d02b0cb03ea3c35300467ae63ecbeb0f6012a24b7a11a71b502227dadc88e11a854891081fd77530384a97784d4e5861d68119ca687716a07dcd12b54e5149b835fb11298e5be7c5fc120aafc63c3aabcca0164976680002720fe8b8c8795bb30a56dd9cbe7c0f1ea149ca4a2c20eff7db54e811761e271a05f92d4178565c62cce8cd96ec04175985b327d8a59475225dd9936e3d6fa5d739a48e3f5eae918f7168c2c4cea66696f3c65db4f36c8a5e6a66a51274ae00a0c6a2effe35a74c12dd271c16f219c8833feabc231925851e84a67363f515460e1deba1a3cff91f11d2ca7b8fe7b45cc89865585766945b31816d41a150d4c0c8f98978208af9de2ed7d159763fc79c4e6d09e967f032fa8761177ab7ac6e9d5cfa3b5e510aa79d9b3fa658ba33561bfe192d401a94fe4b4bcf34d067eb46cd36185d17f28403d2d28e6a3444500110e95419be31cce7540fc397b0bcceab25da56e46ac1c3725aff1a98d89fe70dffa00577c5b427d4e887a96d564e43930e8c64b9b9f7a0789ff29a7a144ebc0c1fd662f045735d0fb5e29f5ed98f8f9706f858bafc85a2810157ea70666bbe578e918d4dcb635b44ea4404278c651bdd5c42ae711748536ccc2279224ee4fd08c6cacafea6bd1e358544c983baea4fe1ee4b6423d4ea3524d9e15a83b3608a335a0f6672aab7a597778c5bc9bb617da21aff4e30a922146b1399c98d30e1037906522256d90e5b53a533619c4d48477e8b68e9e16d31988f2d9c67a3751033b3b0e552506c4e91fe0e178fd4f126c4df2e1b974e121d4def96cbba44b75ac35ce9c01ce131e0a64f8a5b304b9d905124416b68e14b06b1d830343ad057ef60920e2610d1caa98dae81bb11ccd442b18e195fd23d52a23d08ef6dc03a656625b8c336c6fc31f745f8da7683a4348cb5d2ac8d9385a593d4a6b7ebdda08867eb775cf31a536ab2c1ed3cde07f0c9ecc3be6a009175f693eca707e4aad1c43ad11aebfd8c78bb33694364a7875133b5031412ccc3e8401f137aa8423d971a96fe574b740e9bfc8a8eba4727bafde1f0c0300a93b3e4b209564716f8f51e8e8a17e4490ec5abe59c9eaec97e006e9fb59f0429ccf502450ea5a776725a8da34f520001cb43a60486571d9da242db176a2579b1ced0f3f42c47b10fe0d20b64e8eb2197b680ffa578b1a9111838fbe6183f8425e3598501bcda747e622c99c1dd67fd62be7552493b49bc6f914ba597f44dfdeef8616f22d5411b49b1617a770798cd7c328d2257e7a08854bea2a0a240bcf2eedb93eeeec5fb28db68d0b7e8848dc6cbf0a751b7627b38b68b838e6d47030141b3d785152e351cec4766d080a0eac36e7f88672a2e68c52ea141f12007cdefa750a736605bac0935ff119b9fffb112ea85cd096b9d1ec95d37a10716aa3e055fa42f0b11af0b901221a8215990585ec197d17f480d5e408b2b1071839a676426f77fece439095ad132904f538cbe55dee4cbabcf63443afc30061577e331405b65ef188049ab30fef836064b91ad8f7918417bbba9c3bf3d5baa9d7ce29af610d5e72a11b9e3c542daa569ece98135e6483a22936d108fb7effe79d2094be3565cafd283d1ba6758c744b0c5cba80ee34148cdbdc4c35f22d99652914be6c6e913709f3f95c737440ef35a0b65ad96c30bbcc5cf850585741ba46e5839a8df3234e1e258794aab6ce16beb7dddd911376285922ea2dcb6d7fe143b23322f041330acdb0967375832feebb76755c091166e4cd93db654867fb9a3562855d26da08e0b629d3043d6a53ae8296f02118af869f799cde38c486e1a22621e2d5eb26f531dd80334b46635360cd4bc64a55361b3603b204d7c6e025893d4045690d12292cd0bbad2ddfc8d29c720ac763a8cb459f1eb931ef3e258b9f627f71bd1b8232d0d038511e0daa8227a291784c6d404e671dcc6a068ad334339351f7bfdaaf2db5a8f2149048702126da1b934095dbea9f2b458eaef5819aba25c2afb4559ddb4354ce9f575c34004d4fb4b7c6d7e7d6a031617e14ee85f8d0ad9623af9c37a1c90ce82aa0973f7a0a5663bb0371b9db7872b1d9225aa4ca896f3dfcbcbc80998d1a8777fce266839789b42cc0fab369052f4c2a9ff8c06d59f8e081458bf7cba4d3baf38df2fef50718beab62c9e6e47dfc2d51868fa5238b955607203633edfef1cb7f2f0788fc4fab312f8e0cd21e7ca47f67bf9d31787273cec7a444ca408f9d086dc56b26d23f433d3c5698b56efac28a8d99c2b242e20edcada7b8a20e355139aaeaf0613f0db5fb84f6a934ff4ac5510d3627c05c8a3fdb37ef8fdcb74c35615c00b39efd3928cc1ddc1cc8fce8719e2757400b70827e594fa7454b39dc282fe041bee504fa1edfdc87abe722f3ff0f6adb4b32eea9251edd6628e44649414dffba681c2f4e6e7c2f370d00bb43f342b9339c153e61a777f87a39d684d8a0afcd7f98e6181695cbf87cabf0952568f7d3acef0f00e9c09d72982e8bea73f929a99e1339afa3faaf3a5bb1bbb39701cc0a4be433b93ced9c583856ec3402a383c1fb3d5ebbe14272349833ac5b4720dcf94a9d866a4001df5420d03fddec2c3af3dc43cc1f33e9e82ad1b6abae0e22786db52c67c007a1c99a6231a1952423968eca041561c479fefdc6573f4287d12f726e71d203652e97d1701d9f65ddcbf89c53997a212ad506268c26ab13bbff3a3923e0d9273b796e362aee46f4cca31ecb061f12a8e28d46bcf7738aeb58955a1f1f66498466798f9cf70adeb7f32b512e7886ce59913b9e6b4ba6774c6415ab548a8e9d4fc2a0653c09e63bb5633607d302a3bd3c197d3ab78d552376af1e2e5ec30132a03ed944804e198733eaf4084f30e1ef5d509d7864497f052b1cd4773d97230b095d3a1e5fd6935385bf7f2c6da28a5e3d109fa89fcaf23164a7b47da61c9f08e72a1f3f2ff019cd3976ce97d8dbb1211ef3f42d9f4ed33a440c3957d9ec9cb02618136b2db5c8815082c8150560b4226fd8c54c2b6349151f9152751d1e6f28a1f61b811e34f9453e3353505f79f76d21ae975e26dd423c1b0a5d32b7398412ed94f89daa6b57673ab0c36c00a449b2186a78b5c5cedf5c40b75631b88eb961f5b6bf3bed759981c03d9140440f80a6563962fd86462c09297c4439875539e258996c728efa285ec482c571ac07288cd6788fbd4259d1e22326025e5e130e143fbb72cce2fcd98fff9edfff701ca8052cbf1db6cc2c353c7b33f95ee49a62cf99826e7bdf8d2ec64e6d6ad432a6b3535a77da69556cd74f967802395f09b7c9c0e5879823d8a0760a055682fd3f02b81f7df617bbdbe0aff2a26ea244c7eab10adf9067c5cedabead3d35e2f5ed254b5420c84ec6df717b19514ed361ea946e5e5c751e8582507d17c21514705a7c2b09e4694f1952e0558c5e0f4c9bfc0061ae228eeb7ef61d1f284844500efa06a446d67c226e601706765c2831222c0c0ab9ba331317f66f7481644de5fbbca41b266fb5bd0145b5db09926d03afb6e2840c85d1346ea3e692e7f474e08c21d05a0c2d9f93ffb4a53b19c3bdfe958ce150c74fe6c5e7319fc6afc745cd647e26b6f7cd012fc35587c5e795f8fe1ed6652d6ba64fbaaed60aec2fa68427d76a69bc60d420d9c786047b2a6419be5ec1440316fadd16723ba88db2cd7fd53c03c6f4e33e203f2678fc16252933b545fe71a3f6f8c27665d5621499e7abbdd225b64801a857f5b145d306db82b5737a19f92fa98e3e27245a32f63b987ebc75ec49d27efd0414e878b3b524cc3fbc30106364562823983f331f1acc5bf6e8284c1e1e55a3502d395130612c629f1e3caaab2dbd5941aad836e267883f722e92d64f7be37f065f77600b8e06d4d96a046be4451141f0d4f1fb8af30f5ce2cd7da7240333a3e3f811b0df019c44262c1a1134bdee05ca4aff561bdfebdd30bda3de3ff9ba4004ac93c68edf7d06f8fd5b1edf1c6db608efa55dd6480378d63d0e9e7cbc67cda4d600dbe0346974df0c7c104dc256cd47aed4efe5c8fdefd5c5c6874d1a7ca5b71f6f441eccb4b42bdee94a1706af550b023c0008fcb50528a4d1ed039e6314af8fa29a11dd4892468f5835f550cb6f243782e00b22734556e81a2d6c54a783f89493fca9c96e3dd2ddc52db60ab7069628ed89eebeba7b4e3cfb33c982e24c40df7320e212bd3afd3baf13fd29fde60a16fb1310de9f6144950c62f6ff4e85a8088a49b2fbb9d712d3192645add7589d8ce1c7de23511ce84ac58196ee2a7b900a27d25017521ea97eca7d09d226c18e62ee2fd00849e194352721b57a946b2839ab165c913c140f52eab0e8f9b3ee531ca2033b0f44cbebf4baff39058c237409345a38e0da717c86f3f023884138021279e66dc728de546c2e4d6a59f0f56146637a2bff8cbaee6a52a7d71569636a9f500f0bce93f982905c10010fd4b184cf58c3c6ef91ad04467a371a6f44b2ce5d65ad874184cdba1dfac1f15624ec49ebbd865b35868d03b5a95e30824e84996bd03c895c96ee130ee18c229948d845bda1eaa014e7ee30933a6cd7bf7ba5c3a5b4d5357bfa69f7d061665bffd155dbbc5bcf1aeb6055d5beae0691a08e8daccd62bc3fee94379388bf62f8c4abdc6c8604957c03ef90d8185b28e6ec174d13d03e47ed1d724906d1cae89b5e7576efc8b31f91fc6be900d1e0d34e72d4d515006f8d7ee5d0ae42a129392bcb78ba4eca7dae9242e31d35ef5f9e454b467cf76504be4d473cbd3ef92d18f4562c253014c259e80a0b4f0a6f7d620a595fbb40609d7e5a16ddbc78924991a092556e0ffd65deef88d48cf7deae3c2c6fc6dca0292c2f0cca6867eb13e5f7f4823de888cf3946e1f1b564d9372e478347236b9b1ddaa34f59255c52ca3cf678ad2706a309afef083d10c2ccfc59f893d2ee54db81bda9e655190f9202"}, @generic="346540c6b37d0e40f84f0556b6266ff68c5d9c66f18d30b73df0ec1b5a3823862140c90b86ae2b661558"]}]}, 0x11c4}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) [ 182.255852][ T9043] xfs: Unknown parameter 'appraise_type' 03:49:40 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x11c4, 0x36, 0x829, 0x0, 0x0, {0x0, 0x1000000}, [@nested={0x11ae, 0x74, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}, @generic="92fc3555c96f787fa7b40c6fd7f2fe385ff27aba93f3063be7c5b3b769e07d00aa2a188ca6acaec19a45b37c039b8c5461d027a897148c1141312a940f82362c31d1d430202b649d9a2f0ab0852bd0285841916e530067fa1891f70d0e9ac6c1d0f2bbf4166c322dca30", @generic="0f5632ac02d1291b9ccdab0cca032d3c31a2b7192d2368f29dce77ca4c1e4c669b99b9c67dc2d7355c707bc54f84a14b6c4ff61a94b89b438859f1b7aa06f132d507068e7ce2a9a72a806a112d6cc4649d72c01e6c904e322aa3acf6302f30832483d3167b3ee55bff017543a3645c12b227e8bcf05f87abefdb83485047812b3fc05522707af40a076bdf3c0c2f2a48e6c0d2", @typed={0x14, 0x81, 0x0, 0x0, @ipv6=@ipv4={[], [], @empty}}, @generic="7084b6e5c8119944808ceadcc3fe305eaf7e0d33d7d39cf87cdea04a228837bce3825bc86ee6032415472f925cd1e35ecc68fb70f68c6fc6d7871e3855d5a066e63b087736ea1a18ba871f43936232eba085329133dc9e", @typed={0x1004, 0x23, 0x0, 0x0, @binary="234d516bd620e162cbaa52066ce6ba5cd416fdd10f215578e773ba9107c0a7c2dc9baf20b3e20e674e4a7ad9a0f1af9211b7a7cde60b05fcd5e16e99fcfe8531432b4a1a43fccbea448e6aac9b80ffb6db2ccdb36418e7baccd599dce4c95ed3f130984993c52eee016e05845ee69a12046f4bb666316a97d576f30728f98f4eb25da9f889fa8030b88ddddb078dcad23d80cbf92cd59fb381d16b10e9e9895219690e601113a11c1d952862af7448c1e009eb5dd549faa04a311878fc9f6cb839c4d9ef8ce2e7c4096da9cf6321cb065af2281c727d6e8ecd32bde5a555766868157b6112a734168fbb90c6b8f7a2caf69dadefa8a7c08375faaec3fe989972b07d62478c1b020464607e7dbfa470ddd1de2ba21c26aa4bf87c6e336f5b0d824dd5b0bb6947a2c93a33a859899c2a3abe12f1798f2b61b51b5ab951cc9e290f848b713bc1ec47ecc28899d87979ff2f5c5cb7f0c6f2be662ff70a6d4828d4618703d564c7f02929ecf66aa95f1af58fa4c561b875f863c81e0b1e8aaf2e0ff35495dd9eb6cd2c8229cc8401a2eebb60416d51bf64bb284a613a2570ea5dc077d40eaae795fa81ab7d84fea8418ca1a37f3cd200fedf8b6b693ce28ffd482e0e3fa3e120ba46c4bff0ced264e44b96864cf1601d77e6d49e6f0f5fdba56a285a833c9ccf47f3e880bc3af62182181595d4f963ad8bb5542b46beec14eb3ccab846348208eeaa1d0426d957c175258056620f040e36679e4a55ace1aabd80fa924e4cd335a98706e75828a6b7192f2e6c8d4d8b3bb86786dbd236c1cc4405a8f9d2148700b58d02b0cb03ea3c35300467ae63ecbeb0f6012a24b7a11a71b502227dadc88e11a854891081fd77530384a97784d4e5861d68119ca687716a07dcd12b54e5149b835fb11298e5be7c5fc120aafc63c3aabcca0164976680002720fe8b8c8795bb30a56dd9cbe7c0f1ea149ca4a2c20eff7db54e811761e271a05f92d4178565c62cce8cd96ec04175985b327d8a59475225dd9936e3d6fa5d739a48e3f5eae918f7168c2c4cea66696f3c65db4f36c8a5e6a66a51274ae00a0c6a2effe35a74c12dd271c16f219c8833feabc231925851e84a67363f515460e1deba1a3cff91f11d2ca7b8fe7b45cc89865585766945b31816d41a150d4c0c8f98978208af9de2ed7d159763fc79c4e6d09e967f032fa8761177ab7ac6e9d5cfa3b5e510aa79d9b3fa658ba33561bfe192d401a94fe4b4bcf34d067eb46cd36185d17f28403d2d28e6a3444500110e95419be31cce7540fc397b0bcceab25da56e46ac1c3725aff1a98d89fe70dffa00577c5b427d4e887a96d564e43930e8c64b9b9f7a0789ff29a7a144ebc0c1fd662f045735d0fb5e29f5ed98f8f9706f858bafc85a2810157ea70666bbe578e918d4dcb635b44ea4404278c651bdd5c42ae711748536ccc2279224ee4fd08c6cacafea6bd1e358544c983baea4fe1ee4b6423d4ea3524d9e15a83b3608a335a0f6672aab7a597778c5bc9bb617da21aff4e30a922146b1399c98d30e1037906522256d90e5b53a533619c4d48477e8b68e9e16d31988f2d9c67a3751033b3b0e552506c4e91fe0e178fd4f126c4df2e1b974e121d4def96cbba44b75ac35ce9c01ce131e0a64f8a5b304b9d905124416b68e14b06b1d830343ad057ef60920e2610d1caa98dae81bb11ccd442b18e195fd23d52a23d08ef6dc03a656625b8c336c6fc31f745f8da7683a4348cb5d2ac8d9385a593d4a6b7ebdda08867eb775cf31a536ab2c1ed3cde07f0c9ecc3be6a009175f693eca707e4aad1c43ad11aebfd8c78bb33694364a7875133b5031412ccc3e8401f137aa8423d971a96fe574b740e9bfc8a8eba4727bafde1f0c0300a93b3e4b209564716f8f51e8e8a17e4490ec5abe59c9eaec97e006e9fb59f0429ccf502450ea5a776725a8da34f520001cb43a60486571d9da242db176a2579b1ced0f3f42c47b10fe0d20b64e8eb2197b680ffa578b1a9111838fbe6183f8425e3598501bcda747e622c99c1dd67fd62be7552493b49bc6f914ba597f44dfdeef8616f22d5411b49b1617a770798cd7c328d2257e7a08854bea2a0a240bcf2eedb93eeeec5fb28db68d0b7e8848dc6cbf0a751b7627b38b68b838e6d47030141b3d785152e351cec4766d080a0eac36e7f88672a2e68c52ea141f12007cdefa750a736605bac0935ff119b9fffb112ea85cd096b9d1ec95d37a10716aa3e055fa42f0b11af0b901221a8215990585ec197d17f480d5e408b2b1071839a676426f77fece439095ad132904f538cbe55dee4cbabcf63443afc30061577e331405b65ef188049ab30fef836064b91ad8f7918417bbba9c3bf3d5baa9d7ce29af610d5e72a11b9e3c542daa569ece98135e6483a22936d108fb7effe79d2094be3565cafd283d1ba6758c744b0c5cba80ee34148cdbdc4c35f22d99652914be6c6e913709f3f95c737440ef35a0b65ad96c30bbcc5cf850585741ba46e5839a8df3234e1e258794aab6ce16beb7dddd911376285922ea2dcb6d7fe143b23322f041330acdb0967375832feebb76755c091166e4cd93db654867fb9a3562855d26da08e0b629d3043d6a53ae8296f02118af869f799cde38c486e1a22621e2d5eb26f531dd80334b46635360cd4bc64a55361b3603b204d7c6e025893d4045690d12292cd0bbad2ddfc8d29c720ac763a8cb459f1eb931ef3e258b9f627f71bd1b8232d0d038511e0daa8227a291784c6d404e671dcc6a068ad334339351f7bfdaaf2db5a8f2149048702126da1b934095dbea9f2b458eaef5819aba25c2afb4559ddb4354ce9f575c34004d4fb4b7c6d7e7d6a031617e14ee85f8d0ad9623af9c37a1c90ce82aa0973f7a0a5663bb0371b9db7872b1d9225aa4ca896f3dfcbcbc80998d1a8777fce266839789b42cc0fab369052f4c2a9ff8c06d59f8e081458bf7cba4d3baf38df2fef50718beab62c9e6e47dfc2d51868fa5238b955607203633edfef1cb7f2f0788fc4fab312f8e0cd21e7ca47f67bf9d31787273cec7a444ca408f9d086dc56b26d23f433d3c5698b56efac28a8d99c2b242e20edcada7b8a20e355139aaeaf0613f0db5fb84f6a934ff4ac5510d3627c05c8a3fdb37ef8fdcb74c35615c00b39efd3928cc1ddc1cc8fce8719e2757400b70827e594fa7454b39dc282fe041bee504fa1edfdc87abe722f3ff0f6adb4b32eea9251edd6628e44649414dffba681c2f4e6e7c2f370d00bb43f342b9339c153e61a777f87a39d684d8a0afcd7f98e6181695cbf87cabf0952568f7d3acef0f00e9c09d72982e8bea73f929a99e1339afa3faaf3a5bb1bbb39701cc0a4be433b93ced9c583856ec3402a383c1fb3d5ebbe14272349833ac5b4720dcf94a9d866a4001df5420d03fddec2c3af3dc43cc1f33e9e82ad1b6abae0e22786db52c67c007a1c99a6231a1952423968eca041561c479fefdc6573f4287d12f726e71d203652e97d1701d9f65ddcbf89c53997a212ad506268c26ab13bbff3a3923e0d9273b796e362aee46f4cca31ecb061f12a8e28d46bcf7738aeb58955a1f1f66498466798f9cf70adeb7f32b512e7886ce59913b9e6b4ba6774c6415ab548a8e9d4fc2a0653c09e63bb5633607d302a3bd3c197d3ab78d552376af1e2e5ec30132a03ed944804e198733eaf4084f30e1ef5d509d7864497f052b1cd4773d97230b095d3a1e5fd6935385bf7f2c6da28a5e3d109fa89fcaf23164a7b47da61c9f08e72a1f3f2ff019cd3976ce97d8dbb1211ef3f42d9f4ed33a440c3957d9ec9cb02618136b2db5c8815082c8150560b4226fd8c54c2b6349151f9152751d1e6f28a1f61b811e34f9453e3353505f79f76d21ae975e26dd423c1b0a5d32b7398412ed94f89daa6b57673ab0c36c00a449b2186a78b5c5cedf5c40b75631b88eb961f5b6bf3bed759981c03d9140440f80a6563962fd86462c09297c4439875539e258996c728efa285ec482c571ac07288cd6788fbd4259d1e22326025e5e130e143fbb72cce2fcd98fff9edfff701ca8052cbf1db6cc2c353c7b33f95ee49a62cf99826e7bdf8d2ec64e6d6ad432a6b3535a77da69556cd74f967802395f09b7c9c0e5879823d8a0760a055682fd3f02b81f7df617bbdbe0aff2a26ea244c7eab10adf9067c5cedabead3d35e2f5ed254b5420c84ec6df717b19514ed361ea946e5e5c751e8582507d17c21514705a7c2b09e4694f1952e0558c5e0f4c9bfc0061ae228eeb7ef61d1f284844500efa06a446d67c226e601706765c2831222c0c0ab9ba331317f66f7481644de5fbbca41b266fb5bd0145b5db09926d03afb6e2840c85d1346ea3e692e7f474e08c21d05a0c2d9f93ffb4a53b19c3bdfe958ce150c74fe6c5e7319fc6afc745cd647e26b6f7cd012fc35587c5e795f8fe1ed6652d6ba64fbaaed60aec2fa68427d76a69bc60d420d9c786047b2a6419be5ec1440316fadd16723ba88db2cd7fd53c03c6f4e33e203f2678fc16252933b545fe71a3f6f8c27665d5621499e7abbdd225b64801a857f5b145d306db82b5737a19f92fa98e3e27245a32f63b987ebc75ec49d27efd0414e878b3b524cc3fbc30106364562823983f331f1acc5bf6e8284c1e1e55a3502d395130612c629f1e3caaab2dbd5941aad836e267883f722e92d64f7be37f065f77600b8e06d4d96a046be4451141f0d4f1fb8af30f5ce2cd7da7240333a3e3f811b0df019c44262c1a1134bdee05ca4aff561bdfebdd30bda3de3ff9ba4004ac93c68edf7d06f8fd5b1edf1c6db608efa55dd6480378d63d0e9e7cbc67cda4d600dbe0346974df0c7c104dc256cd47aed4efe5c8fdefd5c5c6874d1a7ca5b71f6f441eccb4b42bdee94a1706af550b023c0008fcb50528a4d1ed039e6314af8fa29a11dd4892468f5835f550cb6f243782e00b22734556e81a2d6c54a783f89493fca9c96e3dd2ddc52db60ab7069628ed89eebeba7b4e3cfb33c982e24c40df7320e212bd3afd3baf13fd29fde60a16fb1310de9f6144950c62f6ff4e85a8088a49b2fbb9d712d3192645add7589d8ce1c7de23511ce84ac58196ee2a7b900a27d25017521ea97eca7d09d226c18e62ee2fd00849e194352721b57a946b2839ab165c913c140f52eab0e8f9b3ee531ca2033b0f44cbebf4baff39058c237409345a38e0da717c86f3f023884138021279e66dc728de546c2e4d6a59f0f56146637a2bff8cbaee6a52a7d71569636a9f500f0bce93f982905c10010fd4b184cf58c3c6ef91ad04467a371a6f44b2ce5d65ad874184cdba1dfac1f15624ec49ebbd865b35868d03b5a95e30824e84996bd03c895c96ee130ee18c229948d845bda1eaa014e7ee30933a6cd7bf7ba5c3a5b4d5357bfa69f7d061665bffd155dbbc5bcf1aeb6055d5beae0691a08e8daccd62bc3fee94379388bf62f8c4abdc6c8604957c03ef90d8185b28e6ec174d13d03e47ed1d724906d1cae89b5e7576efc8b31f91fc6be900d1e0d34e72d4d515006f8d7ee5d0ae42a129392bcb78ba4eca7dae9242e31d35ef5f9e454b467cf76504be4d473cbd3ef92d18f4562c253014c259e80a0b4f0a6f7d620a595fbb40609d7e5a16ddbc78924991a092556e0ffd65deef88d48cf7deae3c2c6fc6dca0292c2f0cca6867eb13e5f7f4823de888cf3946e1f1b564d9372e478347236b9b1ddaa34f59255c52ca3cf678ad2706a309afef083d10c2ccfc59f893d2ee54db81bda9e655190f9202"}, @generic="346540c6b37d0e40f84f0556b6266ff68c5d9c66f18d30b73df0ec1b5a3823862140c90b86ae2b661558"]}]}, 0x11c4}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:40 executing program 5: openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(0xffffffffffffffff, 0x20, 0x0, 0xffffffbf000) [ 182.464751][ T9040] ntfs: volume version 3.1. 03:49:40 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x1, &(0x7f00000013c0)=[{&(0x7f00000000c0)="dd7fff59719700bf1b9e0e7e2c468110e02d6aa4a5015df5f1ff36899fc2748eeb43b8eb441f7ea6e2b11d1e89f8d57175ee94469aafde9873f5944b3f1a20484e07b563eaf00aa03a0104c4f6ef1f9c1bb211b00d66f9c831b2161c81406efb78ae4726881d79ef241870794696484b225a0f5db27a8ef94d268393f28788cbcc5c974d706702680f8e77f75d48cd916354b6bc1b926c25d06f59e27e00ade8b954489f0e80c3888ea8817238d8a26919ddf4edd2776be8a293cce8f43113804d49ad5e6c2a818312", 0xc9, 0x6}], 0x1200001, &(0x7f0000001480)={[{@grpid='grpid'}, {@grpid='grpid'}, {@discard='discard'}, {@nouuid='nouuid'}, {@grpid='grpid'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) [ 182.515479][ T9033] netlink: 14 bytes leftover after parsing attributes in process `syz-executor.4'. [ 182.534561][ T9033] bridge0: port 2(bridge_slave_1) entered blocking state [ 182.542476][ T9033] bridge0: port 2(bridge_slave_1) entered forwarding state [ 182.552055][ T9033] bridge0: port 1(bridge_slave_0) entered blocking state [ 182.559377][ T9033] bridge0: port 1(bridge_slave_0) entered forwarding state [ 182.743334][ T9062] xfs: Unknown parameter 'appraise_type' [ 182.765412][ T9033] device bridge0 left promiscuous mode [ 183.050082][ T9039] bridge0: port 2(bridge_slave_1) entered disabled state [ 183.057324][ T9039] bridge0: port 1(bridge_slave_0) entered disabled state [ 183.093580][ T9039] device bridge0 entered promiscuous mode [ 183.476015][ T9033] netlink: 14 bytes leftover after parsing attributes in process `syz-executor.4'. [ 183.490103][ T9033] bridge0: port 2(bridge_slave_1) entered blocking state [ 183.497270][ T9033] bridge0: port 2(bridge_slave_1) entered forwarding state [ 183.504732][ T9033] bridge0: port 1(bridge_slave_0) entered blocking state [ 183.511874][ T9033] bridge0: port 1(bridge_slave_0) entered forwarding state [ 183.612795][ T9033] device bridge0 left promiscuous mode [ 183.637490][ T5] IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready 03:49:41 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = syz_open_dev$tty20(0xc, 0x4, 0x0) ioctl$TIOCGDEV(r1, 0x80045432, &(0x7f0000000080)) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=ANY=[@ANYBLOB="3c00e2f7ffb63bdb71bb000000000c8800000000d8", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800600090000000000"], 0x3c}}, 0x0) 03:49:41 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)={0x5, 0x8, 0x3ac, 0x0, 0x1}) 03:49:41 executing program 5: openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(0xffffffffffffffff, 0x20, 0x0, 0xffffffbf000) 03:49:41 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x14, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}}, 0x14}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:41 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x1200001, &(0x7f0000001480)={[{@grpid='grpid'}, {@grpid='grpid'}, {@discard='discard'}, {@nouuid='nouuid'}, {@grpid='grpid'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) 03:49:41 executing program 0: pipe(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_udp(0x2, 0x2, 0x0) close(r2) socket$nl_route(0x10, 0x3, 0x0) syz_open_dev$video4linux(&(0x7f0000000340)='/dev/v4l-subdev#\x00', 0x48e5128e, 0x10000) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = socket(0x10, 0x3, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f00000002c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000300)=0x14) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000005c0)=ANY=[@ANYBLOB="4800000010000507002000000000000000000000616f771b94625c427f34fab07d9402a1a2fb1fbb9fb0193c467dc22690dca34191261b12e4760befb2a78da3b28ffb366df464a679843c3e24f8c35c79d1daf9366a32e87853e79a87d0fc2079c898c4fd49bb38d7645f7f3a7e08872ba4060000000420cfb93afede1222d9cb7e26e54eb8566865273302aca88abfcd43306a0e5b7df5de5238d13109c36edba957a652ae629a8f1b78376e7c35b8e9df4acc08468035fd3e0709cc996d5cb48a4d553697b120ed05a957e613d1bbd086054b53743f579afe4d6e9a39f9ef19391bc9d1725521103e814753cc18e26f2a2f30ada3ba39782c10c139cce77dfdd7f2501b9d9fec8b85e61871a83d983d5fce1f695b528b5764bc28a50adcba04ea6950662253660abf65ac4719de6a99cca58dff99bfa79fc4e8d2a8cb76e85da8064610ae889bfd1331a885ebe7f7793b8ce9c85a296328c22c4c25a52f852fbd08064d00ad4974e4d84b3e8e1d4647caedc5721e7d3dde2c535cf9731da09e1fd166a0c7b537604319c7277f2092c7dc187fe0d7c2f3a2ad2f485d9bac9b12927ff5254609", @ANYRES32=r6, @ANYRES32], 0x48}}, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r6, @ANYBLOB="0006000000ffffffb02740eb0000000900010068667363000000"], 0x38}}, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELPRL(r1, 0x89f6, &(0x7f0000000380)={'ip6gre0\x00', &(0x7f0000000140)={'syztnl2\x00', 0x0, 0x29, 0x81, 0x18, 0x10000, 0x52, @dev={0xfe, 0x80, [], 0x20}, @private2, 0x80, 0x10, 0x1, 0x9}}) sendmsg$ETHTOOL_MSG_CHANNELS_GET(r0, &(0x7f0000000280)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000240)={&(0x7f0000000400)=ANY=[@ANYBLOB='|\x00\x00\x00', @ANYRES16=0x0, @ANYBLOB="100026bd7000fbdbdf251100002e68000180140002007663616e3000000000000000000000001400020064756d6d793400000000000000000000140002006772653000000000000000000000000008000100", @ANYRES32=r6, @ANYBLOB="0800030001000000080003000700000008000100", @ANYRES32=0x0, @ANYBLOB="08000100", @ANYRES32=r7, @ANYBLOB="3ace63da5e5dd840c14ec7882a85ea5cb9208a462a0c9a75b5ef7f20436259ae64d161d124cb82dfe25730e01105454f1c4d009955a2deecaefbbdbceaa134851141fb29d8d418894b018416f5ff449ab748a1f94446bfa94b02d8c0827a90b421df4e90af00503da131f32261867a398fac664efb1976d583fdda1cf4d5cdf422caf2a7298127f13973b7d3c756836a39ae5f89da7a3878"], 0x7c}, 0x1, 0x0, 0x0, 0x14}, 0x0) r8 = openat$tun(0xffffffffffffff9c, &(0x7f0000000080)='/dev/net/tun\x00', 0x88002, 0x0) ioctl$TUNSETIFF(r8, 0x400454ca, &(0x7f0000000100)={'syzkaller1\x00', 0xef12}) socket$netlink(0x10, 0x3, 0x0) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x1000000c8) prctl$PR_GET_KEEPCAPS(0x7) splice(r0, 0x0, r2, 0x0, 0x80000010008, 0x0) [ 183.743748][ T9033] syz-executor.4 (9033) used greatest stack depth: 22688 bytes left 03:49:41 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)={0x5, 0x8, 0x3ac, 0x0, 0x1}) 03:49:41 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x14, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}}, 0x14}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) [ 183.847041][ T9080] netlink: 40 bytes leftover after parsing attributes in process `syz-executor.0'. [ 183.861730][ T9077] xfs: Unknown parameter 'appraise_type' 03:49:41 executing program 2: syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(0xffffffffffffffff, 0x541c, &(0x7f00000005c0)={0x5, 0x8, 0x3ac, 0x0, 0x1}) 03:49:41 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x0, 0x0, 0xffffffbf000) [ 183.928240][ T9083] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. 03:49:42 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x14, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}}, 0x14}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:42 executing program 2: syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(0xffffffffffffffff, 0x541c, &(0x7f00000005c0)={0x5, 0x8, 0x3ac, 0x0, 0x1}) 03:49:42 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@grpid='grpid'}, {@grpid='grpid'}, {@discard='discard'}, {@nouuid='nouuid'}, {@grpid='grpid'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) 03:49:42 executing program 4: socket$inet_udplite(0x2, 0x2, 0x88) r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r2 = syz_open_dev$tty1(0xc, 0x4, 0x1) r3 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000180)='environ\x00') sendfile(r2, r3, 0x0, 0x800000080004105) syz_open_dev$mouse(&(0x7f0000000000)='/dev/input/mouse#\x00', 0x100000000, 0x40000) 03:49:42 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x0, 0x0, 0xffffffbf000) 03:49:42 executing program 2: syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(0xffffffffffffffff, 0x541c, &(0x7f00000005c0)={0x5, 0x8, 0x3ac, 0x0, 0x1}) 03:49:42 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r0, 0x8933, &(0x7f00000001c0)={'batadv0\x00', 0x0}) r2 = socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$batadv(&(0x7f0000000180)='batadv\x00') sendmsg$BATADV_CMD_GET_MESH(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB='$\x00\x00\x00', @ANYRES16=r3, @ANYBLOB="0f0000000000f8ffffff6a418affffffff05002f000200000008", @ANYRES32=r1, @ANYBLOB], 0x24}}, 0x0) sendmsg$BATADV_CMD_SET_MESH(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000140)={&(0x7f0000000200)={0x1c, r3, 0x110, 0x70bd27, 0x25dfdbfc, {}, [@BATADV_ATTR_ISOLATION_MASK={0x8, 0x2c, 0x8001}]}, 0x1c}, 0x1, 0x0, 0x0, 0x480c0}, 0x4010) r4 = socket$nl_xfrm(0x10, 0x3, 0x6) ioctl$HIDIOCGRAWINFO(0xffffffffffffffff, 0x80084803, &(0x7f0000000000)=""/74) setsockopt$sock_void(r4, 0x1, 0x0, 0x0, 0x0) r5 = socket$unix(0x1, 0x1, 0x0) bind$unix(r5, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) sendmsg$nl_xfrm(r4, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000400)=ANY=[@ANYRES64=r0, @ANYRESOCT=r5, @ANYRES32=0x0, @ANYBLOB="ffffffff000000000000000000000000000000006c000000000000000000000000000000000000003f0000000000000000000000000000000000000000000000e7b000"/176], 0xf8}, 0x8}, 0x0) [ 184.209574][ T9109] xfs: Unknown parameter 'appraise_type' 03:49:42 executing program 0: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) setsockopt$packet_tx_ring(0xffffffffffffffff, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x0, 0x6, 0x8000, 0x6}, 0x1c) ioctl$EXT4_IOC_GROUP_ADD(r0, 0x40286608, &(0x7f0000000000)={0x80000001, 0x5, 0xfffffffffffffff7, 0x80000000, 0x6c, 0x20}) r1 = socket$inet6(0xa, 0x3, 0x7) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x0, 0x0, @empty}, 0x1c) sendmmsg$alg(r1, &(0x7f00000000c0)=[{0x0, 0xff00, 0x0, 0x0, &(0x7f0000002780)=[@op={0x18, 0x29}], 0x18}], 0x146, 0x0) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(0xffffffffffffffff, 0x84, 0x1a, &(0x7f0000000180)={0x0, 0x1000, "f724c723c67c31e8fcc0cfc80f331a01919c05be57afb15f8e2a6fdb1e992b410492321f020468b5fbc63831d991a83dc3c4e0eff3722578e04ebb24ad43fb185604954aa4cd97f8c74000362721b4682ead2a7ae9c12d6542d6892cfe1ff7db58b437a6d712499a2559ad458fce4a0277d88162fd2fdacf55841d8ae28236676c62c4fc87785634baf597315341b0b43176b6879de54aba5db0ffb242a6b38df7239896674ad9f39bd4ad90e8c47722ef871dba702f99fedd632fb9e9592727229e7782f9e994471e9561a2b1317b626f5fde75e9de9553e38ff63c36d52113a7e55fde459006fdc7caf0cd1ad39a20624cd4d1151e5d6492470d76cab7b1947602f418450e7b0e65931e6ba772d0d3bf01cdc5361cdbbb24f16b36e48923bed7796af19fc3fa19e90c8783e46cd5fed21d329ccfc148c995f98dd867dd72320e10fede2db480bc5b0d0ced175001a8b36809d8aea54c59f09dff18b388c7c4e805eb69820bb819754fd5b9fcee9832a9bb8f9604b0520ae9ede2d7cb792b0322011fab6e97a58fbed5a561ed3b319b38cd34e9c70957388cead6a83698da06570f6264825ba2355c9236e31e34350d9b3bd2e8b2b54b8d717b34bfd1e3ed50f6081068bcf4458ffd21fee7028b536c6ee147c385d1aa16c1ae498281ffc22a62bf9d80a6dc01f7d95dc886e89c241d2c1dbae2db20adfad394bf12970c7ac4a1893d0e44ccf225bb15b1472529418c0faf7b858f39d15dfbd08103d03977f70d60137f90e3df97faeb346bd497b53350b30b90c39400ff52fa9031e961f9686b628340a1b87a7c43b0131d49113776cd1edd7f30388d72c16a69fbcdadacf9cc7b8bd054df8d4919bf660e4cce8a5860edc34218336b4744e52af45228309cc4dbda929a6d654ed1211ebc6973b7efc803f0121d940f85de7afa53a5e854879fce18d8b75e021f798d21fdcaea0108b381894c26b0c1e40be6be3502150f8dc2d3e2aafafb4f71e71ec0c38e1be56529776a0d9896c49a131bace06939f2bfce32decf3cdb06640c58e09dc332b4f3a118473a65f1975fa7d9100a2c9c291c40c4b4222cb51448cf8024a7d70f2e6a4bbe44ad3ddecacf88eace9ba04c50632a8731756e2381f0f25c7332354c9be657ecd5fc5d2536c226f0286a40f5ab5d18af925121ca91c8ca43c7aa0484815cb44033985fff1d0cc35127ddd5fba5ad79c136228dab46f305e0d5116d9e816bfb9a41c2ec309ab23a84f64a98708d62d2cbde6305124d5454cc680e60272602b9f778a954e336fb485efa8599dba5c6ffc6e21ec69e506b92ea6811a3a69008f0a9a7c67d04b8f3bd78a6d58691afea0e9feb0c58dfc93734e19fbb239b47b8485169e75a4d06385ec9f68b3db91f08664822d9a53d26836fb97d991c9bd42b8d021ca6d99414934fe30116359e380b03047dca960727f4f1ddbc2e3e61aac55813ac66d8774285c4033ff68ac55f25725c2700a2826dc8f087d2d027f4b8be44724bb747193a429f3cdff432f777fea6f46c7cd95f1c0f20ee7711076512d87bd3916d71cec5655d89565eb77f4922e6f24e78655124d82175984c061687b55df446c65c5e0942c387e4a64ae5958fcc0f19d1a5cbc7959e6fefcbe14ea4dd16de5ca2f80612a04ee4fd52705a9091643d371962ce5f79ab5b7c4496d15272e4dd451256531012d5fce635bf50a05d847c79fba60a4dd2b32387f3a311ea10d7d1e20440c3260e1c5fd5f1e353370c9422e40454c09bd75a7c855ffef5a9e70b575a406eb4c304fd690d2282702274f9a5dbd305dcb48d2070e1cb0137a6ec8d8d50a37a57ec33dbb012bf434def6d983abda76227e82aa384c7cd12702a889cdc69bf97661d81e49c673c0a1ab487f1234187924d7d469b7fd9a326e6eb1817ee2fd16d71bec4e831f8a3ad3181539c2ff6be23851794e582302d6ee5e994e12a9f8b563020acc3f0113999577ab23d8e69b4e9dd4ffc9e36b919f2e6ccec7ba10b76f6db8eed85c6da30c18cabbd8ca82f7d6d8acfdce3168e02d7f1b645d298d696187fdb23cbd23852403c7fcb341a00d3bd9d4616f2aa0d54d340bc9bf7c53e652c41bd8857a96d1f633174bcdbb635e7178e187bda856e36190a56f1030ccc38e78abbe43655021f3ba4bba9aeed7520dfbe1f55ef657bb0c91378131da06c58d7bdcf7106c745675cb121b48b7899a982448e21147a6b365a8b0637be012118f5696047f3990f0487327890d0bfb60ffdbde98d3a613583d7de45418a0dc91b1ca6e1cd299c960f415ff2ee1c94b8c5d99565b0a1a55f370558f6da664996ce36650adb982478bbf2cd0b5bf1092b420ec4f8103495c1382d5215bf248846b0ce2320ee397e2beb1169e572e0e81de5d612ebafdbfdd7e196d36426911e16a04b32ef2c663a75458120149c3720103be73d58fd99631f3f68c7f2dcbf7ae05c31c7df0a9dd650583969cf88ab1196e431f3d65bf747754f6d070e8a9b37582eee292f675fd8d8de90aa9cba2f3a262e074704673fb39999f18d179f86f3ffcb74f0d1f452d59b3a016971fc8f969c1263258f82958dbae97947c2f9866d7dda6da952aa80e96c4f8992979a5aa30576d89141bbc379f80efa311a83e82b0024c3c1c2e7f74883b8f4fa533fe766e1cef7d033023e0a679746e84c807b6d38331cc6c84060b464a384f4c58e1424f1f8f61f8fae5f5ff18b2b1c56a7385bc8c2a92b45dcad9bd2cb53e2da07e2660fd8fe4c6abb6d122152d2fc81fc610fba8b5694d7d4e0d4a185131727015687dc392662c7d4ae9767e32b6bb5f6c7d7ab676b07ea1bedaa9db896e3792f6b292fca3a80c37d4157f0423f05554b2ab7878dc0c0e15c21d27736dc19c59b33cab5c5b8bd06137deedab0d047ef6e5305d13faee26bcf3a7805d9d670584bba87c6bd68bb06c49f602a6e7bbe0569c2cefcc95320ade62c03ad1d1aed039dafbc55946985252d30ee208659e0849aa727dbed0093757810c59933b2b5dac8715d4cdfe3e317b24d72f84ccb6d0d71e053bfb88bc7423ac98372c449689dd7f91516bb78aae7dcbbccebbf2f8b2c8490363ce662576683486f6479bda3ad2766ee6ac68093b8803ee31fa9aa98236414ab822b7ee0199357032263b2c5eb9e901ad59320bc44787a3f0ba7dd09f28d4bec56129f313e5ff9275259b136c6a6fff21ab92b64181eb1aee3cb0aaca29eb7b1dafdee5a6ffdfc6d4301ac24783633479c5da0ab6fbc59f8b30d0a413f56b9496b00f8a8ea6d4df3345cd1e5e4278e6341b87c06df043359b86ea1c84c18c69be4f88547c6a49befb963d84b46b07a58b22ebc297ca52ea1521a2528779ed508ea44bd98ed850509cdb130f59ab3d4cd55e23404fab42ca95f8bc1c95561bb7129c1cfb4d86987e8adfab63c699c087d6523de1b49d7c7836deb0b0b61244576f08364cb5567c6281b7452c626872795ac1477a31229fd407d5eaad727955266132d87427ab0c8c19b13a4fdd80bcaf57979fcb2e2579ebf9b694cfe46670bc94df159e8fda52ddfe3909ba29806b13de54c312fdf9dbfebb27e7607defe01c8b4c3e57141c5ba837936ade4b38405c789d9495916dc101ec016fe2e21d946edd3f3f277804f91fa7dc725314396dd96839163bf7d9804b4d65fc786dcabff3acbadc06622ccaed0124f511bf8b742f6661e7948c508fb8b32f8692e97716701e672ee9d859d77a5d82f33eac4aa698acda302c4ab6a73e0b99ef82063edb9a60d04c49fd4352d328335fb191510e8812f927cd67977c9b25729b8bba52c6a0446b9448b0276da74a187d90fa910e09a0a59098af88556e6ae7454d660cdae0383aca7ec1c22ef97743014849f99f39f46f6119ff5c723c10e6680b16eb85e89ae05413eecabdb1083e4d1e9d5407c2284c69b40c5b971189e121bc827283ded2447a398b3270d24646f22232f44ed6c8f35569ef27fa8d92d23ced049c83087f308b963ec6ddf328172dce9ccb2f41b81f4b037f0fa8f9ca15bd017be8f8233a923c2a11f76bf570e87968e2ddb9d19f3f612d884d47b929b1cfbf4b9af681cf35479e846c2753e8ddf1de165cab9045f861e5e5ade952bb3e27073417ef4d48bc64cec31f85da73c8a83dc47f251fa5e890aa4a4078ee5a024fd4832dbabcc7ab4da437a146782152f75ff6c1f851d3303e2c03130182d8fc7b051ae7f18cbdfc8f1f60ffe8f2398de6aef89359b03e5b7b1a2a148cc4f2235fa69e65a0a1c6015abe9087dafd1bbc4a2ea4e7636c4ad8c218a15b42f49fc8ff0330d1bb66ca6e991f0a88ce18c8df1d9414f4ebde9029cebb5c1b1688a820e4749b982ab00991777d04ebb4144edd121a7dc14beaa01efbb9bbb8b2c7a9cce702251d87b420cdbddaddc1dda732d3dfe691e70cc6780db52a23fdf6272d5858f748c2fa452dcd968539e3e58f5c84801af78be77f2f53dad8fc456e035558b0d3ebbabb88cf852fd9eadebd913f2d913b4091e157866ef86c98436ad340704116088472c1ca71ff02d7153d7a034f23ff50074d211ebf3fda04b769f9a7b7e5d0c70d4216b8f21a0685da9d6f05cc3b275fc170ae66fe18c9c6182de48c190ffcedd43dba808aa5785d7ce7a4f841e4f0f79cfdc3aafddec2461d22f06fa74804717b97b7c7ef1182401f029d0d0d69f9a44eeb6c1c6af738976fe728f01e2c73a0ffd514196a98807d8b149dcbb9793e6e3ac21f1f7abb66d98717c4faa6e838f5f3a9e6caf422ea847979cb05f6db84662cdfaff08a81ca2674d367886490525915b5df1af237306ca4c03c6e2f7a9beb97a9b338732775ad34718851897194b77a8456afbafa19afca48862a83175d9f0afc73a80a889ed993d887a6ec3f1d2438c52be9b2990a540448dbbbc9e923e3b25602013b9f77401ece573bd30e6f9a56991c56664dc4362c1b52d799960c2d729d980f1ad80fb47f3d58ad3cd36f3f3f0eb95adbbcdbe95bf2a1bd3456d47c02f3d3a32134efc8d66b31a74816681eb259b57ee89206638c85444366f73ed669cd6af7f60b149541a1eb89881274d195dba958ab7a6828705220b6e6cd25170aa0137f8484c2a4fa4006c12b5007941eec98107a294beea484238144c59d10695ff4bf9d1cc435c76e0994050a1c561193aa1e89999c42e48dac36a5f8b55744f455f8d9ad935b732d786d529416240647b354aff03c615158b05573a3ef5603653465ab64a5c26291f24301854c6b16cf1d4155e56650b73b1b5b86c2c104210f3d29aedcbd084a2b662414b121f6ee0773df97c0d96b359e1adbbbfdf5fb81c5b870314f4a09942f60ab886d81b6e8fb5d1d3ef4c2ee72007c764e681401208685285338552f442f4311fe4a6f68eec4ce5592240c04f6406e80db47767f5bd37874aeb296bdcd862d0c3937be3c2870766d120c90ef32b0a7b7b4af623642343297617540805654ee49b6d3aaf944c5309e250ce24f9c9f4858a61c57a481e28785ef3c7f690194e3dac9594708b82127d3c11f5ce348647b16fdfeae5b418db00505c230fc3a1d7dca631999a53c690dc0916a1b1e7010f921d6810240f615673e0006c9c3792653574daca9e30fea20289885e91f4c2da7e92e85fb694ac6bfa7d3101bdb341ec37febe92be6ca001a3f60ef4951d8869985aea0acb990913ff7070d6e1ddcbdffa45d50a5708fe875636a4aef14521a49e3b2e5fc8cb36c936795cdde66b6f9b758b55b9c5cc64c7047b16d8c69681feb0cfb123e11bee"}, &(0x7f0000000040)=0x1008) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(0xffffffffffffffff, 0x84, 0x1f, &(0x7f00000011c0)={r2, @in6={{0xa, 0x4e20, 0x8, @ipv4={[], [], @initdev={0xac, 0x1e, 0x1, 0x0}}, 0xffffffff}}, 0x39bc, 0x8}, &(0x7f0000001280)=0x90) 03:49:42 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x0, 0x0, 0xffffffbf000) 03:49:42 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x11c4, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x11ae, 0x0, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}, @generic="92fc3555c96f787fa7b40c6fd7f2fe385ff27aba93f3063be7c5b3b769e07d00aa2a188ca6acaec19a45b37c039b8c5461d027a897148c1141312a940f82362c31d1d430202b649d9a2f0ab0852bd0285841916e530067fa1891f70d0e9ac6c1d0f2bbf4166c322dca30", @generic="0f5632ac02d1291b9ccdab0cca032d3c31a2b7192d2368f29dce77ca4c1e4c669b99b9c67dc2d7355c707bc54f84a14b6c4ff61a94b89b438859f1b7aa06f132d507068e7ce2a9a72a806a112d6cc4649d72c01e6c904e322aa3acf6302f30832483d3167b3ee55bff017543a3645c12b227e8bcf05f87abefdb83485047812b3fc05522707af40a076bdf3c0c2f2a48e6c0d2", @typed={0x14, 0x81, 0x0, 0x0, @ipv6=@ipv4={[], [], @empty}}, @generic="7084b6e5c8119944808ceadcc3fe305eaf7e0d33d7d39cf87cdea04a228837bce3825bc86ee6032415472f925cd1e35ecc68fb70f68c6fc6d7871e3855d5a066e63b087736ea1a18ba871f43936232eba085329133dc9e", @typed={0x1004, 0x23, 0x0, 0x0, @binary="234d516bd620e162cbaa52066ce6ba5cd416fdd10f215578e773ba9107c0a7c2dc9baf20b3e20e674e4a7ad9a0f1af9211b7a7cde60b05fcd5e16e99fcfe8531432b4a1a43fccbea448e6aac9b80ffb6db2ccdb36418e7baccd599dce4c95ed3f130984993c52eee016e05845ee69a12046f4bb666316a97d576f30728f98f4eb25da9f889fa8030b88ddddb078dcad23d80cbf92cd59fb381d16b10e9e9895219690e601113a11c1d952862af7448c1e009eb5dd549faa04a311878fc9f6cb839c4d9ef8ce2e7c4096da9cf6321cb065af2281c727d6e8ecd32bde5a555766868157b6112a734168fbb90c6b8f7a2caf69dadefa8a7c08375faaec3fe989972b07d62478c1b020464607e7dbfa470ddd1de2ba21c26aa4bf87c6e336f5b0d824dd5b0bb6947a2c93a33a859899c2a3abe12f1798f2b61b51b5ab951cc9e290f848b713bc1ec47ecc28899d87979ff2f5c5cb7f0c6f2be662ff70a6d4828d4618703d564c7f02929ecf66aa95f1af58fa4c561b875f863c81e0b1e8aaf2e0ff35495dd9eb6cd2c8229cc8401a2eebb60416d51bf64bb284a613a2570ea5dc077d40eaae795fa81ab7d84fea8418ca1a37f3cd200fedf8b6b693ce28ffd482e0e3fa3e120ba46c4bff0ced264e44b96864cf1601d77e6d49e6f0f5fdba56a285a833c9ccf47f3e880bc3af62182181595d4f963ad8bb5542b46beec14eb3ccab846348208eeaa1d0426d957c175258056620f040e36679e4a55ace1aabd80fa924e4cd335a98706e75828a6b7192f2e6c8d4d8b3bb86786dbd236c1cc4405a8f9d2148700b58d02b0cb03ea3c35300467ae63ecbeb0f6012a24b7a11a71b502227dadc88e11a854891081fd77530384a97784d4e5861d68119ca687716a07dcd12b54e5149b835fb11298e5be7c5fc120aafc63c3aabcca0164976680002720fe8b8c8795bb30a56dd9cbe7c0f1ea149ca4a2c20eff7db54e811761e271a05f92d4178565c62cce8cd96ec04175985b327d8a59475225dd9936e3d6fa5d739a48e3f5eae918f7168c2c4cea66696f3c65db4f36c8a5e6a66a51274ae00a0c6a2effe35a74c12dd271c16f219c8833feabc231925851e84a67363f515460e1deba1a3cff91f11d2ca7b8fe7b45cc89865585766945b31816d41a150d4c0c8f98978208af9de2ed7d159763fc79c4e6d09e967f032fa8761177ab7ac6e9d5cfa3b5e510aa79d9b3fa658ba33561bfe192d401a94fe4b4bcf34d067eb46cd36185d17f28403d2d28e6a3444500110e95419be31cce7540fc397b0bcceab25da56e46ac1c3725aff1a98d89fe70dffa00577c5b427d4e887a96d564e43930e8c64b9b9f7a0789ff29a7a144ebc0c1fd662f045735d0fb5e29f5ed98f8f9706f858bafc85a2810157ea70666bbe578e918d4dcb635b44ea4404278c651bdd5c42ae711748536ccc2279224ee4fd08c6cacafea6bd1e358544c983baea4fe1ee4b6423d4ea3524d9e15a83b3608a335a0f6672aab7a597778c5bc9bb617da21aff4e30a922146b1399c98d30e1037906522256d90e5b53a533619c4d48477e8b68e9e16d31988f2d9c67a3751033b3b0e552506c4e91fe0e178fd4f126c4df2e1b974e121d4def96cbba44b75ac35ce9c01ce131e0a64f8a5b304b9d905124416b68e14b06b1d830343ad057ef60920e2610d1caa98dae81bb11ccd442b18e195fd23d52a23d08ef6dc03a656625b8c336c6fc31f745f8da7683a4348cb5d2ac8d9385a593d4a6b7ebdda08867eb775cf31a536ab2c1ed3cde07f0c9ecc3be6a009175f693eca707e4aad1c43ad11aebfd8c78bb33694364a7875133b5031412ccc3e8401f137aa8423d971a96fe574b740e9bfc8a8eba4727bafde1f0c0300a93b3e4b209564716f8f51e8e8a17e4490ec5abe59c9eaec97e006e9fb59f0429ccf502450ea5a776725a8da34f520001cb43a60486571d9da242db176a2579b1ced0f3f42c47b10fe0d20b64e8eb2197b680ffa578b1a9111838fbe6183f8425e3598501bcda747e622c99c1dd67fd62be7552493b49bc6f914ba597f44dfdeef8616f22d5411b49b1617a770798cd7c328d2257e7a08854bea2a0a240bcf2eedb93eeeec5fb28db68d0b7e8848dc6cbf0a751b7627b38b68b838e6d47030141b3d785152e351cec4766d080a0eac36e7f88672a2e68c52ea141f12007cdefa750a736605bac0935ff119b9fffb112ea85cd096b9d1ec95d37a10716aa3e055fa42f0b11af0b901221a8215990585ec197d17f480d5e408b2b1071839a676426f77fece439095ad132904f538cbe55dee4cbabcf63443afc30061577e331405b65ef188049ab30fef836064b91ad8f7918417bbba9c3bf3d5baa9d7ce29af610d5e72a11b9e3c542daa569ece98135e6483a22936d108fb7effe79d2094be3565cafd283d1ba6758c744b0c5cba80ee34148cdbdc4c35f22d99652914be6c6e913709f3f95c737440ef35a0b65ad96c30bbcc5cf850585741ba46e5839a8df3234e1e258794aab6ce16beb7dddd911376285922ea2dcb6d7fe143b23322f041330acdb0967375832feebb76755c091166e4cd93db654867fb9a3562855d26da08e0b629d3043d6a53ae8296f02118af869f799cde38c486e1a22621e2d5eb26f531dd80334b46635360cd4bc64a55361b3603b204d7c6e025893d4045690d12292cd0bbad2ddfc8d29c720ac763a8cb459f1eb931ef3e258b9f627f71bd1b8232d0d038511e0daa8227a291784c6d404e671dcc6a068ad334339351f7bfdaaf2db5a8f2149048702126da1b934095dbea9f2b458eaef5819aba25c2afb4559ddb4354ce9f575c34004d4fb4b7c6d7e7d6a031617e14ee85f8d0ad9623af9c37a1c90ce82aa0973f7a0a5663bb0371b9db7872b1d9225aa4ca896f3dfcbcbc80998d1a8777fce266839789b42cc0fab369052f4c2a9ff8c06d59f8e081458bf7cba4d3baf38df2fef50718beab62c9e6e47dfc2d51868fa5238b955607203633edfef1cb7f2f0788fc4fab312f8e0cd21e7ca47f67bf9d31787273cec7a444ca408f9d086dc56b26d23f433d3c5698b56efac28a8d99c2b242e20edcada7b8a20e355139aaeaf0613f0db5fb84f6a934ff4ac5510d3627c05c8a3fdb37ef8fdcb74c35615c00b39efd3928cc1ddc1cc8fce8719e2757400b70827e594fa7454b39dc282fe041bee504fa1edfdc87abe722f3ff0f6adb4b32eea9251edd6628e44649414dffba681c2f4e6e7c2f370d00bb43f342b9339c153e61a777f87a39d684d8a0afcd7f98e6181695cbf87cabf0952568f7d3acef0f00e9c09d72982e8bea73f929a99e1339afa3faaf3a5bb1bbb39701cc0a4be433b93ced9c583856ec3402a383c1fb3d5ebbe14272349833ac5b4720dcf94a9d866a4001df5420d03fddec2c3af3dc43cc1f33e9e82ad1b6abae0e22786db52c67c007a1c99a6231a1952423968eca041561c479fefdc6573f4287d12f726e71d203652e97d1701d9f65ddcbf89c53997a212ad506268c26ab13bbff3a3923e0d9273b796e362aee46f4cca31ecb061f12a8e28d46bcf7738aeb58955a1f1f66498466798f9cf70adeb7f32b512e7886ce59913b9e6b4ba6774c6415ab548a8e9d4fc2a0653c09e63bb5633607d302a3bd3c197d3ab78d552376af1e2e5ec30132a03ed944804e198733eaf4084f30e1ef5d509d7864497f052b1cd4773d97230b095d3a1e5fd6935385bf7f2c6da28a5e3d109fa89fcaf23164a7b47da61c9f08e72a1f3f2ff019cd3976ce97d8dbb1211ef3f42d9f4ed33a440c3957d9ec9cb02618136b2db5c8815082c8150560b4226fd8c54c2b6349151f9152751d1e6f28a1f61b811e34f9453e3353505f79f76d21ae975e26dd423c1b0a5d32b7398412ed94f89daa6b57673ab0c36c00a449b2186a78b5c5cedf5c40b75631b88eb961f5b6bf3bed759981c03d9140440f80a6563962fd86462c09297c4439875539e258996c728efa285ec482c571ac07288cd6788fbd4259d1e22326025e5e130e143fbb72cce2fcd98fff9edfff701ca8052cbf1db6cc2c353c7b33f95ee49a62cf99826e7bdf8d2ec64e6d6ad432a6b3535a77da69556cd74f967802395f09b7c9c0e5879823d8a0760a055682fd3f02b81f7df617bbdbe0aff2a26ea244c7eab10adf9067c5cedabead3d35e2f5ed254b5420c84ec6df717b19514ed361ea946e5e5c751e8582507d17c21514705a7c2b09e4694f1952e0558c5e0f4c9bfc0061ae228eeb7ef61d1f284844500efa06a446d67c226e601706765c2831222c0c0ab9ba331317f66f7481644de5fbbca41b266fb5bd0145b5db09926d03afb6e2840c85d1346ea3e692e7f474e08c21d05a0c2d9f93ffb4a53b19c3bdfe958ce150c74fe6c5e7319fc6afc745cd647e26b6f7cd012fc35587c5e795f8fe1ed6652d6ba64fbaaed60aec2fa68427d76a69bc60d420d9c786047b2a6419be5ec1440316fadd16723ba88db2cd7fd53c03c6f4e33e203f2678fc16252933b545fe71a3f6f8c27665d5621499e7abbdd225b64801a857f5b145d306db82b5737a19f92fa98e3e27245a32f63b987ebc75ec49d27efd0414e878b3b524cc3fbc30106364562823983f331f1acc5bf6e8284c1e1e55a3502d395130612c629f1e3caaab2dbd5941aad836e267883f722e92d64f7be37f065f77600b8e06d4d96a046be4451141f0d4f1fb8af30f5ce2cd7da7240333a3e3f811b0df019c44262c1a1134bdee05ca4aff561bdfebdd30bda3de3ff9ba4004ac93c68edf7d06f8fd5b1edf1c6db608efa55dd6480378d63d0e9e7cbc67cda4d600dbe0346974df0c7c104dc256cd47aed4efe5c8fdefd5c5c6874d1a7ca5b71f6f441eccb4b42bdee94a1706af550b023c0008fcb50528a4d1ed039e6314af8fa29a11dd4892468f5835f550cb6f243782e00b22734556e81a2d6c54a783f89493fca9c96e3dd2ddc52db60ab7069628ed89eebeba7b4e3cfb33c982e24c40df7320e212bd3afd3baf13fd29fde60a16fb1310de9f6144950c62f6ff4e85a8088a49b2fbb9d712d3192645add7589d8ce1c7de23511ce84ac58196ee2a7b900a27d25017521ea97eca7d09d226c18e62ee2fd00849e194352721b57a946b2839ab165c913c140f52eab0e8f9b3ee531ca2033b0f44cbebf4baff39058c237409345a38e0da717c86f3f023884138021279e66dc728de546c2e4d6a59f0f56146637a2bff8cbaee6a52a7d71569636a9f500f0bce93f982905c10010fd4b184cf58c3c6ef91ad04467a371a6f44b2ce5d65ad874184cdba1dfac1f15624ec49ebbd865b35868d03b5a95e30824e84996bd03c895c96ee130ee18c229948d845bda1eaa014e7ee30933a6cd7bf7ba5c3a5b4d5357bfa69f7d061665bffd155dbbc5bcf1aeb6055d5beae0691a08e8daccd62bc3fee94379388bf62f8c4abdc6c8604957c03ef90d8185b28e6ec174d13d03e47ed1d724906d1cae89b5e7576efc8b31f91fc6be900d1e0d34e72d4d515006f8d7ee5d0ae42a129392bcb78ba4eca7dae9242e31d35ef5f9e454b467cf76504be4d473cbd3ef92d18f4562c253014c259e80a0b4f0a6f7d620a595fbb40609d7e5a16ddbc78924991a092556e0ffd65deef88d48cf7deae3c2c6fc6dca0292c2f0cca6867eb13e5f7f4823de888cf3946e1f1b564d9372e478347236b9b1ddaa34f59255c52ca3cf678ad2706a309afef083d10c2ccfc59f893d2ee54db81bda9e655190f9202"}, @generic="346540c6b37d0e40f84f0556b6266ff68c5d9c66f18d30b73df0ec1b5a3823862140c90b86ae2b661558"]}]}, 0x11c4}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:42 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, 0x0) 03:49:42 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, 0x0) 03:49:42 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x18, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x61, 0x10, 0x50}, [@ldst={0x5, 0x5, 0xe001}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x3}, 0x2f) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, &(0x7f0000000080)={0xffffffffffffffff}) sendmsg$RDMA_NLDEV_CMD_GET(r0, &(0x7f0000000180)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f0000000140)={&(0x7f0000000100)={0x30, 0x1401, 0x400, 0x70bd2c, 0x25dfdbff, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x2}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8}]}, 0x30}, 0x1, 0x0, 0x0, 0x4080}, 0x4840) [ 184.762481][ T9133] netlink: 4504 bytes leftover after parsing attributes in process `syz-executor.3'. [ 184.799935][ T9133] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:42 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, 0x0) 03:49:42 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x1198, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x1184, 0x0, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}, @generic="92fc3555c96f787fa7b40c6fd7f2fe385ff27aba93f3063be7c5b3b769e07d00aa2a188ca6acaec19a45b37c039b8c5461d027a897148c1141312a940f82362c31d1d430202b649d9a2f0ab0852bd0285841916e530067fa1891f70d0e9ac6c1d0f2bbf4166c322dca30", @generic="0f5632ac02d1291b9ccdab0cca032d3c31a2b7192d2368f29dce77ca4c1e4c669b99b9c67dc2d7355c707bc54f84a14b6c4ff61a94b89b438859f1b7aa06f132d507068e7ce2a9a72a806a112d6cc4649d72c01e6c904e322aa3acf6302f30832483d3167b3ee55bff017543a3645c12b227e8bcf05f87abefdb83485047812b3fc05522707af40a076bdf3c0c2f2a48e6c0d2", @typed={0x14, 0x81, 0x0, 0x0, @ipv6=@ipv4={[], [], @empty}}, @generic="7084b6e5c8119944808ceadcc3fe305eaf7e0d33d7d39cf87cdea04a228837bce3825bc86ee6032415472f925cd1e35ecc68fb70f68c6fc6d7871e3855d5a066e63b087736ea1a18ba871f43936232eba085329133dc9e", @typed={0x1004, 0x23, 0x0, 0x0, @binary="234d516bd620e162cbaa52066ce6ba5cd416fdd10f215578e773ba9107c0a7c2dc9baf20b3e20e674e4a7ad9a0f1af9211b7a7cde60b05fcd5e16e99fcfe8531432b4a1a43fccbea448e6aac9b80ffb6db2ccdb36418e7baccd599dce4c95ed3f130984993c52eee016e05845ee69a12046f4bb666316a97d576f30728f98f4eb25da9f889fa8030b88ddddb078dcad23d80cbf92cd59fb381d16b10e9e9895219690e601113a11c1d952862af7448c1e009eb5dd549faa04a311878fc9f6cb839c4d9ef8ce2e7c4096da9cf6321cb065af2281c727d6e8ecd32bde5a555766868157b6112a734168fbb90c6b8f7a2caf69dadefa8a7c08375faaec3fe989972b07d62478c1b020464607e7dbfa470ddd1de2ba21c26aa4bf87c6e336f5b0d824dd5b0bb6947a2c93a33a859899c2a3abe12f1798f2b61b51b5ab951cc9e290f848b713bc1ec47ecc28899d87979ff2f5c5cb7f0c6f2be662ff70a6d4828d4618703d564c7f02929ecf66aa95f1af58fa4c561b875f863c81e0b1e8aaf2e0ff35495dd9eb6cd2c8229cc8401a2eebb60416d51bf64bb284a613a2570ea5dc077d40eaae795fa81ab7d84fea8418ca1a37f3cd200fedf8b6b693ce28ffd482e0e3fa3e120ba46c4bff0ced264e44b96864cf1601d77e6d49e6f0f5fdba56a285a833c9ccf47f3e880bc3af62182181595d4f963ad8bb5542b46beec14eb3ccab846348208eeaa1d0426d957c175258056620f040e36679e4a55ace1aabd80fa924e4cd335a98706e75828a6b7192f2e6c8d4d8b3bb86786dbd236c1cc4405a8f9d2148700b58d02b0cb03ea3c35300467ae63ecbeb0f6012a24b7a11a71b502227dadc88e11a854891081fd77530384a97784d4e5861d68119ca687716a07dcd12b54e5149b835fb11298e5be7c5fc120aafc63c3aabcca0164976680002720fe8b8c8795bb30a56dd9cbe7c0f1ea149ca4a2c20eff7db54e811761e271a05f92d4178565c62cce8cd96ec04175985b327d8a59475225dd9936e3d6fa5d739a48e3f5eae918f7168c2c4cea66696f3c65db4f36c8a5e6a66a51274ae00a0c6a2effe35a74c12dd271c16f219c8833feabc231925851e84a67363f515460e1deba1a3cff91f11d2ca7b8fe7b45cc89865585766945b31816d41a150d4c0c8f98978208af9de2ed7d159763fc79c4e6d09e967f032fa8761177ab7ac6e9d5cfa3b5e510aa79d9b3fa658ba33561bfe192d401a94fe4b4bcf34d067eb46cd36185d17f28403d2d28e6a3444500110e95419be31cce7540fc397b0bcceab25da56e46ac1c3725aff1a98d89fe70dffa00577c5b427d4e887a96d564e43930e8c64b9b9f7a0789ff29a7a144ebc0c1fd662f045735d0fb5e29f5ed98f8f9706f858bafc85a2810157ea70666bbe578e918d4dcb635b44ea4404278c651bdd5c42ae711748536ccc2279224ee4fd08c6cacafea6bd1e358544c983baea4fe1ee4b6423d4ea3524d9e15a83b3608a335a0f6672aab7a597778c5bc9bb617da21aff4e30a922146b1399c98d30e1037906522256d90e5b53a533619c4d48477e8b68e9e16d31988f2d9c67a3751033b3b0e552506c4e91fe0e178fd4f126c4df2e1b974e121d4def96cbba44b75ac35ce9c01ce131e0a64f8a5b304b9d905124416b68e14b06b1d830343ad057ef60920e2610d1caa98dae81bb11ccd442b18e195fd23d52a23d08ef6dc03a656625b8c336c6fc31f745f8da7683a4348cb5d2ac8d9385a593d4a6b7ebdda08867eb775cf31a536ab2c1ed3cde07f0c9ecc3be6a009175f693eca707e4aad1c43ad11aebfd8c78bb33694364a7875133b5031412ccc3e8401f137aa8423d971a96fe574b740e9bfc8a8eba4727bafde1f0c0300a93b3e4b209564716f8f51e8e8a17e4490ec5abe59c9eaec97e006e9fb59f0429ccf502450ea5a776725a8da34f520001cb43a60486571d9da242db176a2579b1ced0f3f42c47b10fe0d20b64e8eb2197b680ffa578b1a9111838fbe6183f8425e3598501bcda747e622c99c1dd67fd62be7552493b49bc6f914ba597f44dfdeef8616f22d5411b49b1617a770798cd7c328d2257e7a08854bea2a0a240bcf2eedb93eeeec5fb28db68d0b7e8848dc6cbf0a751b7627b38b68b838e6d47030141b3d785152e351cec4766d080a0eac36e7f88672a2e68c52ea141f12007cdefa750a736605bac0935ff119b9fffb112ea85cd096b9d1ec95d37a10716aa3e055fa42f0b11af0b901221a8215990585ec197d17f480d5e408b2b1071839a676426f77fece439095ad132904f538cbe55dee4cbabcf63443afc30061577e331405b65ef188049ab30fef836064b91ad8f7918417bbba9c3bf3d5baa9d7ce29af610d5e72a11b9e3c542daa569ece98135e6483a22936d108fb7effe79d2094be3565cafd283d1ba6758c744b0c5cba80ee34148cdbdc4c35f22d99652914be6c6e913709f3f95c737440ef35a0b65ad96c30bbcc5cf850585741ba46e5839a8df3234e1e258794aab6ce16beb7dddd911376285922ea2dcb6d7fe143b23322f041330acdb0967375832feebb76755c091166e4cd93db654867fb9a3562855d26da08e0b629d3043d6a53ae8296f02118af869f799cde38c486e1a22621e2d5eb26f531dd80334b46635360cd4bc64a55361b3603b204d7c6e025893d4045690d12292cd0bbad2ddfc8d29c720ac763a8cb459f1eb931ef3e258b9f627f71bd1b8232d0d038511e0daa8227a291784c6d404e671dcc6a068ad334339351f7bfdaaf2db5a8f2149048702126da1b934095dbea9f2b458eaef5819aba25c2afb4559ddb4354ce9f575c34004d4fb4b7c6d7e7d6a031617e14ee85f8d0ad9623af9c37a1c90ce82aa0973f7a0a5663bb0371b9db7872b1d9225aa4ca896f3dfcbcbc80998d1a8777fce266839789b42cc0fab369052f4c2a9ff8c06d59f8e081458bf7cba4d3baf38df2fef50718beab62c9e6e47dfc2d51868fa5238b955607203633edfef1cb7f2f0788fc4fab312f8e0cd21e7ca47f67bf9d31787273cec7a444ca408f9d086dc56b26d23f433d3c5698b56efac28a8d99c2b242e20edcada7b8a20e355139aaeaf0613f0db5fb84f6a934ff4ac5510d3627c05c8a3fdb37ef8fdcb74c35615c00b39efd3928cc1ddc1cc8fce8719e2757400b70827e594fa7454b39dc282fe041bee504fa1edfdc87abe722f3ff0f6adb4b32eea9251edd6628e44649414dffba681c2f4e6e7c2f370d00bb43f342b9339c153e61a777f87a39d684d8a0afcd7f98e6181695cbf87cabf0952568f7d3acef0f00e9c09d72982e8bea73f929a99e1339afa3faaf3a5bb1bbb39701cc0a4be433b93ced9c583856ec3402a383c1fb3d5ebbe14272349833ac5b4720dcf94a9d866a4001df5420d03fddec2c3af3dc43cc1f33e9e82ad1b6abae0e22786db52c67c007a1c99a6231a1952423968eca041561c479fefdc6573f4287d12f726e71d203652e97d1701d9f65ddcbf89c53997a212ad506268c26ab13bbff3a3923e0d9273b796e362aee46f4cca31ecb061f12a8e28d46bcf7738aeb58955a1f1f66498466798f9cf70adeb7f32b512e7886ce59913b9e6b4ba6774c6415ab548a8e9d4fc2a0653c09e63bb5633607d302a3bd3c197d3ab78d552376af1e2e5ec30132a03ed944804e198733eaf4084f30e1ef5d509d7864497f052b1cd4773d97230b095d3a1e5fd6935385bf7f2c6da28a5e3d109fa89fcaf23164a7b47da61c9f08e72a1f3f2ff019cd3976ce97d8dbb1211ef3f42d9f4ed33a440c3957d9ec9cb02618136b2db5c8815082c8150560b4226fd8c54c2b6349151f9152751d1e6f28a1f61b811e34f9453e3353505f79f76d21ae975e26dd423c1b0a5d32b7398412ed94f89daa6b57673ab0c36c00a449b2186a78b5c5cedf5c40b75631b88eb961f5b6bf3bed759981c03d9140440f80a6563962fd86462c09297c4439875539e258996c728efa285ec482c571ac07288cd6788fbd4259d1e22326025e5e130e143fbb72cce2fcd98fff9edfff701ca8052cbf1db6cc2c353c7b33f95ee49a62cf99826e7bdf8d2ec64e6d6ad432a6b3535a77da69556cd74f967802395f09b7c9c0e5879823d8a0760a055682fd3f02b81f7df617bbdbe0aff2a26ea244c7eab10adf9067c5cedabead3d35e2f5ed254b5420c84ec6df717b19514ed361ea946e5e5c751e8582507d17c21514705a7c2b09e4694f1952e0558c5e0f4c9bfc0061ae228eeb7ef61d1f284844500efa06a446d67c226e601706765c2831222c0c0ab9ba331317f66f7481644de5fbbca41b266fb5bd0145b5db09926d03afb6e2840c85d1346ea3e692e7f474e08c21d05a0c2d9f93ffb4a53b19c3bdfe958ce150c74fe6c5e7319fc6afc745cd647e26b6f7cd012fc35587c5e795f8fe1ed6652d6ba64fbaaed60aec2fa68427d76a69bc60d420d9c786047b2a6419be5ec1440316fadd16723ba88db2cd7fd53c03c6f4e33e203f2678fc16252933b545fe71a3f6f8c27665d5621499e7abbdd225b64801a857f5b145d306db82b5737a19f92fa98e3e27245a32f63b987ebc75ec49d27efd0414e878b3b524cc3fbc30106364562823983f331f1acc5bf6e8284c1e1e55a3502d395130612c629f1e3caaab2dbd5941aad836e267883f722e92d64f7be37f065f77600b8e06d4d96a046be4451141f0d4f1fb8af30f5ce2cd7da7240333a3e3f811b0df019c44262c1a1134bdee05ca4aff561bdfebdd30bda3de3ff9ba4004ac93c68edf7d06f8fd5b1edf1c6db608efa55dd6480378d63d0e9e7cbc67cda4d600dbe0346974df0c7c104dc256cd47aed4efe5c8fdefd5c5c6874d1a7ca5b71f6f441eccb4b42bdee94a1706af550b023c0008fcb50528a4d1ed039e6314af8fa29a11dd4892468f5835f550cb6f243782e00b22734556e81a2d6c54a783f89493fca9c96e3dd2ddc52db60ab7069628ed89eebeba7b4e3cfb33c982e24c40df7320e212bd3afd3baf13fd29fde60a16fb1310de9f6144950c62f6ff4e85a8088a49b2fbb9d712d3192645add7589d8ce1c7de23511ce84ac58196ee2a7b900a27d25017521ea97eca7d09d226c18e62ee2fd00849e194352721b57a946b2839ab165c913c140f52eab0e8f9b3ee531ca2033b0f44cbebf4baff39058c237409345a38e0da717c86f3f023884138021279e66dc728de546c2e4d6a59f0f56146637a2bff8cbaee6a52a7d71569636a9f500f0bce93f982905c10010fd4b184cf58c3c6ef91ad04467a371a6f44b2ce5d65ad874184cdba1dfac1f15624ec49ebbd865b35868d03b5a95e30824e84996bd03c895c96ee130ee18c229948d845bda1eaa014e7ee30933a6cd7bf7ba5c3a5b4d5357bfa69f7d061665bffd155dbbc5bcf1aeb6055d5beae0691a08e8daccd62bc3fee94379388bf62f8c4abdc6c8604957c03ef90d8185b28e6ec174d13d03e47ed1d724906d1cae89b5e7576efc8b31f91fc6be900d1e0d34e72d4d515006f8d7ee5d0ae42a129392bcb78ba4eca7dae9242e31d35ef5f9e454b467cf76504be4d473cbd3ef92d18f4562c253014c259e80a0b4f0a6f7d620a595fbb40609d7e5a16ddbc78924991a092556e0ffd65deef88d48cf7deae3c2c6fc6dca0292c2f0cca6867eb13e5f7f4823de888cf3946e1f1b564d9372e478347236b9b1ddaa34f59255c52ca3cf678ad2706a309afef083d10c2ccfc59f893d2ee54db81bda9e655190f9202"}]}]}, 0x1198}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:42 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, 0x0) 03:49:42 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0x0) 03:49:43 executing program 0: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) setsockopt$packet_tx_ring(0xffffffffffffffff, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x0, 0x6, 0x8000, 0x6}, 0x1c) ioctl$EXT4_IOC_GROUP_ADD(r0, 0x40286608, &(0x7f0000000000)={0x80000001, 0x5, 0xfffffffffffffff7, 0x80000000, 0x6c, 0x20}) r1 = socket$inet6(0xa, 0x3, 0x7) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x0, 0x0, @empty}, 0x1c) sendmmsg$alg(r1, &(0x7f00000000c0)=[{0x0, 0xff00, 0x0, 0x0, &(0x7f0000002780)=[@op={0x18, 0x29}], 0x18}], 0x146, 0x0) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(0xffffffffffffffff, 0x84, 0x1a, &(0x7f0000000180)={0x0, 0x1000, "f724c723c67c31e8fcc0cfc80f331a01919c05be57afb15f8e2a6fdb1e992b410492321f020468b5fbc63831d991a83dc3c4e0eff3722578e04ebb24ad43fb185604954aa4cd97f8c74000362721b4682ead2a7ae9c12d6542d6892cfe1ff7db58b437a6d712499a2559ad458fce4a0277d88162fd2fdacf55841d8ae28236676c62c4fc87785634baf597315341b0b43176b6879de54aba5db0ffb242a6b38df7239896674ad9f39bd4ad90e8c47722ef871dba702f99fedd632fb9e9592727229e7782f9e994471e9561a2b1317b626f5fde75e9de9553e38ff63c36d52113a7e55fde459006fdc7caf0cd1ad39a20624cd4d1151e5d6492470d76cab7b1947602f418450e7b0e65931e6ba772d0d3bf01cdc5361cdbbb24f16b36e48923bed7796af19fc3fa19e90c8783e46cd5fed21d329ccfc148c995f98dd867dd72320e10fede2db480bc5b0d0ced175001a8b36809d8aea54c59f09dff18b388c7c4e805eb69820bb819754fd5b9fcee9832a9bb8f9604b0520ae9ede2d7cb792b0322011fab6e97a58fbed5a561ed3b319b38cd34e9c70957388cead6a83698da06570f6264825ba2355c9236e31e34350d9b3bd2e8b2b54b8d717b34bfd1e3ed50f6081068bcf4458ffd21fee7028b536c6ee147c385d1aa16c1ae498281ffc22a62bf9d80a6dc01f7d95dc886e89c241d2c1dbae2db20adfad394bf12970c7ac4a1893d0e44ccf225bb15b1472529418c0faf7b858f39d15dfbd08103d03977f70d60137f90e3df97faeb346bd497b53350b30b90c39400ff52fa9031e961f9686b628340a1b87a7c43b0131d49113776cd1edd7f30388d72c16a69fbcdadacf9cc7b8bd054df8d4919bf660e4cce8a5860edc34218336b4744e52af45228309cc4dbda929a6d654ed1211ebc6973b7efc803f0121d940f85de7afa53a5e854879fce18d8b75e021f798d21fdcaea0108b381894c26b0c1e40be6be3502150f8dc2d3e2aafafb4f71e71ec0c38e1be56529776a0d9896c49a131bace06939f2bfce32decf3cdb06640c58e09dc332b4f3a118473a65f1975fa7d9100a2c9c291c40c4b4222cb51448cf8024a7d70f2e6a4bbe44ad3ddecacf88eace9ba04c50632a8731756e2381f0f25c7332354c9be657ecd5fc5d2536c226f0286a40f5ab5d18af925121ca91c8ca43c7aa0484815cb44033985fff1d0cc35127ddd5fba5ad79c136228dab46f305e0d5116d9e816bfb9a41c2ec309ab23a84f64a98708d62d2cbde6305124d5454cc680e60272602b9f778a954e336fb485efa8599dba5c6ffc6e21ec69e506b92ea6811a3a69008f0a9a7c67d04b8f3bd78a6d58691afea0e9feb0c58dfc93734e19fbb239b47b8485169e75a4d06385ec9f68b3db91f08664822d9a53d26836fb97d991c9bd42b8d021ca6d99414934fe30116359e380b03047dca960727f4f1ddbc2e3e61aac55813ac66d8774285c4033ff68ac55f25725c2700a2826dc8f087d2d027f4b8be44724bb747193a429f3cdff432f777fea6f46c7cd95f1c0f20ee7711076512d87bd3916d71cec5655d89565eb77f4922e6f24e78655124d82175984c061687b55df446c65c5e0942c387e4a64ae5958fcc0f19d1a5cbc7959e6fefcbe14ea4dd16de5ca2f80612a04ee4fd52705a9091643d371962ce5f79ab5b7c4496d15272e4dd451256531012d5fce635bf50a05d847c79fba60a4dd2b32387f3a311ea10d7d1e20440c3260e1c5fd5f1e353370c9422e40454c09bd75a7c855ffef5a9e70b575a406eb4c304fd690d2282702274f9a5dbd305dcb48d2070e1cb0137a6ec8d8d50a37a57ec33dbb012bf434def6d983abda76227e82aa384c7cd12702a889cdc69bf97661d81e49c673c0a1ab487f1234187924d7d469b7fd9a326e6eb1817ee2fd16d71bec4e831f8a3ad3181539c2ff6be23851794e582302d6ee5e994e12a9f8b563020acc3f0113999577ab23d8e69b4e9dd4ffc9e36b919f2e6ccec7ba10b76f6db8eed85c6da30c18cabbd8ca82f7d6d8acfdce3168e02d7f1b645d298d696187fdb23cbd23852403c7fcb341a00d3bd9d4616f2aa0d54d340bc9bf7c53e652c41bd8857a96d1f633174bcdbb635e7178e187bda856e36190a56f1030ccc38e78abbe43655021f3ba4bba9aeed7520dfbe1f55ef657bb0c91378131da06c58d7bdcf7106c745675cb121b48b7899a982448e21147a6b365a8b0637be012118f5696047f3990f0487327890d0bfb60ffdbde98d3a613583d7de45418a0dc91b1ca6e1cd299c960f415ff2ee1c94b8c5d99565b0a1a55f370558f6da664996ce36650adb982478bbf2cd0b5bf1092b420ec4f8103495c1382d5215bf248846b0ce2320ee397e2beb1169e572e0e81de5d612ebafdbfdd7e196d36426911e16a04b32ef2c663a75458120149c3720103be73d58fd99631f3f68c7f2dcbf7ae05c31c7df0a9dd650583969cf88ab1196e431f3d65bf747754f6d070e8a9b37582eee292f675fd8d8de90aa9cba2f3a262e074704673fb39999f18d179f86f3ffcb74f0d1f452d59b3a016971fc8f969c1263258f82958dbae97947c2f9866d7dda6da952aa80e96c4f8992979a5aa30576d89141bbc379f80efa311a83e82b0024c3c1c2e7f74883b8f4fa533fe766e1cef7d033023e0a679746e84c807b6d38331cc6c84060b464a384f4c58e1424f1f8f61f8fae5f5ff18b2b1c56a7385bc8c2a92b45dcad9bd2cb53e2da07e2660fd8fe4c6abb6d122152d2fc81fc610fba8b5694d7d4e0d4a185131727015687dc392662c7d4ae9767e32b6bb5f6c7d7ab676b07ea1bedaa9db896e3792f6b292fca3a80c37d4157f0423f05554b2ab7878dc0c0e15c21d27736dc19c59b33cab5c5b8bd06137deedab0d047ef6e5305d13faee26bcf3a7805d9d670584bba87c6bd68bb06c49f602a6e7bbe0569c2cefcc95320ade62c03ad1d1aed039dafbc55946985252d30ee208659e0849aa727dbed0093757810c59933b2b5dac8715d4cdfe3e317b24d72f84ccb6d0d71e053bfb88bc7423ac98372c449689dd7f91516bb78aae7dcbbccebbf2f8b2c8490363ce662576683486f6479bda3ad2766ee6ac68093b8803ee31fa9aa98236414ab822b7ee0199357032263b2c5eb9e901ad59320bc44787a3f0ba7dd09f28d4bec56129f313e5ff9275259b136c6a6fff21ab92b64181eb1aee3cb0aaca29eb7b1dafdee5a6ffdfc6d4301ac24783633479c5da0ab6fbc59f8b30d0a413f56b9496b00f8a8ea6d4df3345cd1e5e4278e6341b87c06df043359b86ea1c84c18c69be4f88547c6a49befb963d84b46b07a58b22ebc297ca52ea1521a2528779ed508ea44bd98ed850509cdb130f59ab3d4cd55e23404fab42ca95f8bc1c95561bb7129c1cfb4d86987e8adfab63c699c087d6523de1b49d7c7836deb0b0b61244576f08364cb5567c6281b7452c626872795ac1477a31229fd407d5eaad727955266132d87427ab0c8c19b13a4fdd80bcaf57979fcb2e2579ebf9b694cfe46670bc94df159e8fda52ddfe3909ba29806b13de54c312fdf9dbfebb27e7607defe01c8b4c3e57141c5ba837936ade4b38405c789d9495916dc101ec016fe2e21d946edd3f3f277804f91fa7dc725314396dd96839163bf7d9804b4d65fc786dcabff3acbadc06622ccaed0124f511bf8b742f6661e7948c508fb8b32f8692e97716701e672ee9d859d77a5d82f33eac4aa698acda302c4ab6a73e0b99ef82063edb9a60d04c49fd4352d328335fb191510e8812f927cd67977c9b25729b8bba52c6a0446b9448b0276da74a187d90fa910e09a0a59098af88556e6ae7454d660cdae0383aca7ec1c22ef97743014849f99f39f46f6119ff5c723c10e6680b16eb85e89ae05413eecabdb1083e4d1e9d5407c2284c69b40c5b971189e121bc827283ded2447a398b3270d24646f22232f44ed6c8f35569ef27fa8d92d23ced049c83087f308b963ec6ddf328172dce9ccb2f41b81f4b037f0fa8f9ca15bd017be8f8233a923c2a11f76bf570e87968e2ddb9d19f3f612d884d47b929b1cfbf4b9af681cf35479e846c2753e8ddf1de165cab9045f861e5e5ade952bb3e27073417ef4d48bc64cec31f85da73c8a83dc47f251fa5e890aa4a4078ee5a024fd4832dbabcc7ab4da437a146782152f75ff6c1f851d3303e2c03130182d8fc7b051ae7f18cbdfc8f1f60ffe8f2398de6aef89359b03e5b7b1a2a148cc4f2235fa69e65a0a1c6015abe9087dafd1bbc4a2ea4e7636c4ad8c218a15b42f49fc8ff0330d1bb66ca6e991f0a88ce18c8df1d9414f4ebde9029cebb5c1b1688a820e4749b982ab00991777d04ebb4144edd121a7dc14beaa01efbb9bbb8b2c7a9cce702251d87b420cdbddaddc1dda732d3dfe691e70cc6780db52a23fdf6272d5858f748c2fa452dcd968539e3e58f5c84801af78be77f2f53dad8fc456e035558b0d3ebbabb88cf852fd9eadebd913f2d913b4091e157866ef86c98436ad340704116088472c1ca71ff02d7153d7a034f23ff50074d211ebf3fda04b769f9a7b7e5d0c70d4216b8f21a0685da9d6f05cc3b275fc170ae66fe18c9c6182de48c190ffcedd43dba808aa5785d7ce7a4f841e4f0f79cfdc3aafddec2461d22f06fa74804717b97b7c7ef1182401f029d0d0d69f9a44eeb6c1c6af738976fe728f01e2c73a0ffd514196a98807d8b149dcbb9793e6e3ac21f1f7abb66d98717c4faa6e838f5f3a9e6caf422ea847979cb05f6db84662cdfaff08a81ca2674d367886490525915b5df1af237306ca4c03c6e2f7a9beb97a9b338732775ad34718851897194b77a8456afbafa19afca48862a83175d9f0afc73a80a889ed993d887a6ec3f1d2438c52be9b2990a540448dbbbc9e923e3b25602013b9f77401ece573bd30e6f9a56991c56664dc4362c1b52d799960c2d729d980f1ad80fb47f3d58ad3cd36f3f3f0eb95adbbcdbe95bf2a1bd3456d47c02f3d3a32134efc8d66b31a74816681eb259b57ee89206638c85444366f73ed669cd6af7f60b149541a1eb89881274d195dba958ab7a6828705220b6e6cd25170aa0137f8484c2a4fa4006c12b5007941eec98107a294beea484238144c59d10695ff4bf9d1cc435c76e0994050a1c561193aa1e89999c42e48dac36a5f8b55744f455f8d9ad935b732d786d529416240647b354aff03c615158b05573a3ef5603653465ab64a5c26291f24301854c6b16cf1d4155e56650b73b1b5b86c2c104210f3d29aedcbd084a2b662414b121f6ee0773df97c0d96b359e1adbbbfdf5fb81c5b870314f4a09942f60ab886d81b6e8fb5d1d3ef4c2ee72007c764e681401208685285338552f442f4311fe4a6f68eec4ce5592240c04f6406e80db47767f5bd37874aeb296bdcd862d0c3937be3c2870766d120c90ef32b0a7b7b4af623642343297617540805654ee49b6d3aaf944c5309e250ce24f9c9f4858a61c57a481e28785ef3c7f690194e3dac9594708b82127d3c11f5ce348647b16fdfeae5b418db00505c230fc3a1d7dca631999a53c690dc0916a1b1e7010f921d6810240f615673e0006c9c3792653574daca9e30fea20289885e91f4c2da7e92e85fb694ac6bfa7d3101bdb341ec37febe92be6ca001a3f60ef4951d8869985aea0acb990913ff7070d6e1ddcbdffa45d50a5708fe875636a4aef14521a49e3b2e5fc8cb36c936795cdde66b6f9b758b55b9c5cc64c7047b16d8c69681feb0cfb123e11bee"}, &(0x7f0000000040)=0x1008) getsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(0xffffffffffffffff, 0x84, 0x1f, &(0x7f00000011c0)={r2, @in6={{0xa, 0x4e20, 0x8, @ipv4={[], [], @initdev={0xac, 0x1e, 0x1, 0x0}}, 0xffffffff}}, 0x39bc, 0x8}, &(0x7f0000001280)=0x90) 03:49:43 executing program 4: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) r1 = socket$kcm(0x2, 0xa, 0x2) ioctl$SIOCSIFHWADDR(r1, 0x894c, 0x0) r2 = socket$inet6_udplite(0xa, 0x2, 0x88) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = socket$netlink(0x10, 0x3, 0x0) r6 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r6, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r6, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmmsg$sock(r1, &(0x7f00000059c0)=[{{&(0x7f00000005c0)=@ethernet={0x1, @broadcast}, 0x80, &(0x7f0000000080)=[{&(0x7f0000000640)="a44e112011938fd0fad2670fd91d620b62b96bb3f68d61530c4d0ae9280350f9eddfebf6246e10c9db75e6a198fbcec6055e09f9f0783ae92b07b0db2aff0e6d007cdd91e928b70e7c447ce125c0607dd6f98c72a90c57c5634ad2d533f531881eff5d2c884a7c6cf211e91bdf459c732eccc2d27a55b83086248d00b7a9643efa3f995b3bbe2181d62e350eaf6c8cc19cd8b39b3f2401349c4a5c48f202ca7dd07c7d72", 0xa4}], 0x1}}, {{&(0x7f0000000700)=@nl=@unspec, 0x80, &(0x7f0000000a00)=[{&(0x7f0000000380)="1b698714e189a98a339fc484829b8c97ce122e06e4fa6fb3a69ce4fb3759d1fd6d29f5259fa0d8a7bb2a499e240f0a1233d2a7d461a01662b93aa4", 0x3b}, {&(0x7f0000000800)="47d57b14f07a63737b7d46b58eae877da01c2a19bacd508f60eb7508aac66cc146b861cec720e0e15fd05c853ec1712908a7e94ded13dc0c9306e16297a7b32e0932b966252208116f1d58c8974fcf2f1d540a4d9a81e97980b8124a54766cd9b4ae338990ab9e1ba00c385790055c3ab6c9338d0d70944de9a8bde00a7e4bb4fde0fc413ede933a62227b8e68dc487df0fb0088f0523375d0d4173b42287926a0bc74e196cc607c7f9da3916a4c7eaf431934f3ca11c089b0d7dfe0f81b59f26cacbe425fc37d27dc8bf415f30225b96f866258da2bb7b4279576afee93b9730f8b55d197ddc5da9c63", 0xea}, {&(0x7f0000000900)="3a7c9a719806496a03848a5a4ba82434350088e78b019a122c9a28fd83cdc1118b2c982130343bed77c19d4558dd51c7e34dde717905c6ef1c441a0f1640a02498d19a2e39f96d77effe18890c9418d0f2dc168113757a336278f06ef11830521ce5c9bb12d5a22f3213682a82018f0bb8f4240668715a4767c9d0e053709c2701a77a9cc053d8d8a1cbb0ae30dc332af815355819d5964678248bda4afbca2d146874b84ddaea202ad5b8a873eb57034f7de079bec105e6fa4c24ed0bbd4342f303a425af29755e745d49a5", 0xcc}, {&(0x7f0000000780)="d6e62da46fa3960bed57836a96079d422bcbf08de79d35dd41bcf0067259f7", 0x1f}], 0x4}}, {{0x0, 0x0, &(0x7f0000000b00)=[{&(0x7f0000000a40)="f991249cfe3109e0c6fcd3", 0xb}, {&(0x7f0000000a80)="1d74ca4f1030390098bee49a5902492c07fe5aa3221d9ec3af5c7f456f907ef28ab209d1168f9f6dedfba221a78df000d43d99bb4fcf006a2878f7a1d54a7fd9763f8c34ccd317b3cdb5b3249c5cf1a3979b62ef93178fd7bf4437deb6f402e629b5e51c4e94038e52272bbc6891072c9e", 0x71}], 0x2, &(0x7f0000000b40)=[@timestamping={{0x14, 0x1, 0x25, 0x5}}, @mark={{0x14, 0x1, 0x24, 0xfffffe01}}, @txtime={{0x18, 0x1, 0x3d, 0x8}}, @timestamping={{0x14, 0x1, 0x25, 0x7}}, @mark={{0x14, 0x1, 0x24, 0x400}}], 0x78}}, {{&(0x7f0000000bc0)=@ax25={{0x3, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, 0x7}, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @null, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x80, &(0x7f0000002ec0)=[{&(0x7f0000000c40)="b3ff0c293b45d6013b83a6d27e9b35840c5c87d073ccdc005611b9afccb7535938b920fd90fe56dd8e3c243221e36ea330a47c81a56d1253e8a7c1777fee6ee4de73bcd5f65228ede760c26f5a0e00ff93eae35812cf05211b09254da1342e9156611b71acb89d3c504ee6d8b18c453cf125b4e3a64f9b8e3c7860c883ea9f49f4689594b77bf8e1119624cc466087379574e7078328009e27e5358fbe8e65cb11231192aeb41691e1805f18f6633c9de5ccf217a1ea2268696b14b67dea712a4ff849e9bd001220e93c489429295cd371143dde30ebe8c3c2ff748b71a70e46f770486bb20640fcf780b3352df0272c6b070af7d10b371623860ed1b2a43052bc99252214f3a9a9ecffaf57abfe847b14e332209166c7d890473c9bf68503a6de54c351a054204d9d7d1360296978a731115aebae3e2e3311b934396879fd4339771da00c80b80d1e15bc29eb383c48ceff9d918e9ec51445eaaf404fd3ccc1057ae42f7c00dbc3645efc29f2c7e45706b4d679bb52ef485b2635137c212fdc47de7d374d3c5638d1684351566b88d5263624859a29d4f0c8377241d1456c80c8ba11e6388d08c69bfb61c901db02301a22534a924672fb2b3a82a845fd62974007ea91db5046a2add8fb92a9089c7afc6687e856abfbb54291ca3895fe66f68fc1e33d485963e0649849f365e7e79a7ac4445f1e80bbf42093dca4d8c58c8a1bff1e9ace91506ef4d97a10b7dc59166e0b2e28b1661bd5665490b7834a35ab413175d7b077d7fe69cfd9723037b685d205ecba7a5cab7b680011d64e5c6707c229cadd162f49e44f0655565745bb6305e39ba2599d3c65a090f7ff9b92aaf048da29d9d664a00197ebbc2edb8557d91e8d4a58fc590131d51e0dc9e046211d1127b26678122f7e85805956f7eac46081c36023a55f903ee092dfc33fc44f6749e20c1ad7c317bc508ba7cd4fd144ff6bac1223b53eae24cfc14903fd306d5891369300022f82c24a111334348b3953bdf4eb90e076df831a0ea17f7c495191e291fb3e644e8d0c4b665e10991c35fc6a76c8676549f88bc69a280882cab2f8bd8b56f21335129c747facd208146271570e16c085f0f9b9d90990f8fa2907a90eb8f4eb29c3860511aee9bae0e01da6c07e0fa6c2983a9afede5a4b1a3e7daef61a719ec0bb58a2fb1b353fc67688d30ecd219be84d456d6a5dd808fa889778fd2b06af960346286450e7a2fd1f0ebfd37bfbba3f9e3d3148d387b3b3df2b352de1deebad1ca69eafe87f373259ed522e6b1360a5a7464137b9bac1d0f42efed89e646ca35d6dae549cbccbfc7b0d1d66e7739bb99dd75ca600cbf6a01c93497a4fdc8e2390011382ccea3ccbe187740d67b04f52f278dee97f258f55646781323a2c38cd37aeb0ec5d5ff8ea041e77c807169668393f5544bea72f56059dfdb67b5d01f46e0f938727632ae485fbcd1a10d5e83986303dd7f628f1d06aaca379419ff110cb93a791d59b3a0096a3030f96a14a962578c896dce77eb847d6ac68a3bc58ff26789f3347d1bf3201d8f7733b79901f7caf7936d7c00d045300a4d22d67ef2d39bc3a46e56d8fe4539f06832c53b716b2d8ad7df4076bed32cb4ff04952ab31179da6002246b7eb6a64fe3b199b594758980f9ec0becd939960af7cf849298fee8b95478d1011078c5833e27340be09dfc20d3e4c9c575da66b56f88fc04a005a9e6e48632ea77bf8f6b1d7c4a8d8e724c2d7319095ca82ecff989cbfce28628270fd5e42d61d7a1ac5e944925dd2975d768f43cb219fbc396c6759d522ee597ff58fe0eb8bf7009a0508a9c99f123fa392df55d12a615a51dd8c03ae10d818bc497a4fea2b5d7c09be699865d18068f04fadb533541883512886950bd405992332c42ef5ec809bee444123300b22a1f7b23e395b50548ae5f99682c92d8dc5321824f9e3aac82267c557b2e9edede026f29643d7dd68b8ecfcadbe78177c7b9cb7ea5b66aee84b0ad98bce00ef15436bb19b845a6d60f668195b18adb85c14a0fb932ad30085431c6c6f7d9d943277d45cf6f220950a999e04565ee922d7c15007275e25ef99776b663fd1f44affe93d8be642d017e286a72d2492b5b055f48ec371c0b0c8c7236f3e2d04af1f73cfa8c3a8b71904a712a8199d87a9ff0030040bca2cff961d1aca57d24ecd70db8c30dc9c8fabe22c1493e47f588557c3a341b615ab3f0df643e2c6ebf4b3fe63ca919b32f9757a80c1e48af0a4c59d9eb716a03b0b152b3f1da2c9f08daca13c3fd8787682d624428539ecfabc80320090b18b3a669d8634d985b214a658b26713f56ff01b21d47a32ce0a3f9852dbfeb873ce846cde11deff5cf00c4460c3aea1f4654ec643e5673022b7412f8a58ef3cbc0be4e3561aa062cf608c96923dd8d8c41a326bebe104d944c03f9de58dc16b340fa2db60af7a5e38a58882b2a0388999fe851b6691dccc43bb5688249f7b1686e48b098988024ceba5693d2e0ef8ae8d9e61327e7e5b61841fbb264ed8af625a3d0b35c72a0b336adcfb10c86709e0f2124917c856f4c4862150620e1870352b9e2400be535e240a44bb44015e3fe86519e8a6400a90e2427b62abc2db60e53b8ff975d092f49a87cdcf83019735fc2da6e3072cb4e879890922c5af9afabc346859620ece25dd8a4196c35c9372a32391e00b91fee086b712b6c2b730cb245c6fbfda467e5184f038a3a46ad243ee072084b7c1f7942f27e2851719665cd2d3b89444b3c381557464da723bacfae7eefa444033aaa4855c65e356c41f020af1e8131515b3046b9e9b73298bd26de85dca527ab9c868665be664019a2f1bd541835aecca4edde7a6cf89567839e3e7c82168e576e97e6b6546be17f68a2298aa20c9353204c278cef49c59ba805084be502f2bcbd2c4aa38c03be5339f285ae81a706f0762ce602ac5f244ad0e01adc112e1f517a0da06522ed770f45753ceabd7d9996e082eff216f8011ca35ab08a8e446127a77a59db32455788302c73907f8d2e29e49cfb3d05c58f0358b272a98d1f804453ae2b9c20a9a1c1b1f37b35a383d1f198741c24ca20769c01afb5cbf8f693555c640360fe1dc6841098a5a8f432c99e3001436f8187031b855a5354b4a3b6b68f649ba416f215ba43b3dac722860e1c667842a38700b3b082b33f87ae10334ea90e6d376de34c5048a8ae0b7e236318b97c8c456682bc4c448d10f3b90499dd2317fff9ee7fe14af68769ff2ac04bf00174c4dcbf2dd5054cf62e7b3dc8cb41737dd06390d9181e67ceb8493602c8fdb4530fd4fc142ee856c29c2586d35d600e32e111b804e16e4292587914c1b6a7d19edc6acbc6c057eec05e06c0c0a5817ca69b21fdc96ceea7a970545b41a0d3d86aa0f7aaf351de08ce3ba4c50109a39920d55d420bf6709a6c152c9bdd1b658a45fecfe7d4e9c7a5b079dcd42df7e2aa969843daf4dca4521ff36ebb90439c84a61c704de65dd007605b700724a584ecb799d401bdd20ccb312da9ea4ad49398ed3d4fcd7337def17de603e5234f1e0a6ed3b3cee33c36bd4508f673abc4ab23c14d70b19829f98487892013b9af72820c7efa7db80442a211aa5c8d0d4fc615386f363795a3ac1aa4f649a37ec376aa59ca8b2ae48a17057d954d0c6f2a2671ba27ca2ac371c545365494ee6dbe65843ab8ce4b3c2dc1da1426a45b2590025decbd4e0a5d7c750c811eea9fa329154fb84530c6ad36390a185b00135423d5cda4238a7bc35504e3afe565675dfe5df0130e3d0b69568bc09e6cbd4bcc017fc07f2371bc6656c760a548264abb2e95732aab11bd5ee43f3cd29b274a6db4d8658a98af4bdc11800f029a81a32cc7fb06de715eb5957e8e0c8b00db0d355e8a21d7f4af9990c13acf3ddaaab97a9f3841b4795de97f34e9c26ca39997b724d7822693ade4458f4dd66300f1fd06f1110f27323b8e782c4a922a308d62dd57df73c57c007170d3899cf5665ef033c3df3aa0ec86285d5ff75fe57c18dfb19b29eeecfd518bee951cca34f5436d4fadd324def195ad7723ba6df331c2b8517667d200802f40f778625eeb17efa8f502b31a4dd69bcdfb9872fc668039aadba32a8a0495045eabb2732f389388d8dea59743ae17c46383e1bcd39be91b78304bb2a10ff80a413a41ad5e5cb3f380a93c0fb2b180db86add49959c92e6cf7f162f0344f8576d87db6d2ff9ae96bf7efef317f00bc9668a8bab9298f66e5c353f09055b7d62c521763875c382fd5dc06d8f7aaf73536bb80015b96e45a7687d4e0197e40846132d336eaaa4c4977b78f99cf7e2a6a6e92c0e9e15dd9d1cc8230a385b71ba77021ec5823baedaa47b2085234971da97dce538d9ecaca9f50a9d4d75cbc67f0a9f9502c516545e9514c1edf9598c2a0cc44c8155251d33b68ef21ead194725fb32dc760a841f713558c57c40864510afde7453a2a74093794ece8cb17fb89741e217197a317e2b023b87e424d74549fcfe8d8b2b7f0c475aff7f2f517517b784297d55926f32820c7792695dfed69de33367f0c2bc175010f1920ab89ec600f8b390312d11a68a3be001116a2b889705c140eb6c0fb5a9afcc01bb5bce5a29b2859cdadae590ee4de43c1a1f0b363f4e185a8a33415b8f57b91ed86a966de78e19d02576200df1aa521a67a5334295241c0170263cd456383e57c680f5a06c9a64aa450e8f3e86b84e94a3bba54387a5d05a07a64becbc8a77d1082840c8bbd430e8f8e4ccca56558cb390d291135c5ea193e49fece18df810870e661bc2c608501c405fbc562c5287fe032fa08c6bdde2b5a11f2c282847622d43747ddd0517c7ebaded71fea6837d8a0b7f5c8d80fac6b8168e798940b8fe543a8313a71b61bae8df58cfce617d2ef95d629f6430115b9bb9fc71a34fae928ff8e77d06d991f2abed16b06e954aa041be3b5d7c2fbcd86c1760f47aaa24e89a34ba0b74d8dcef7c681d5f98ee373cb65a3096afd66febc3b8a813a322a5d0e9f745300ab6e362bd755f180c9ac8624ddfd395af7ba0f8f71aba12b2f3c02a68496ae92c9903acf86fa01fea6b16b73c4bde710069d324f055d7a685ade3ed8e9ea81723a54cc747927c6acee9194be56083d8b31b278d31feb2521271bed3dab528b69a596f8bd4018f43b07909700a240648c269af355fbb553d5a73f57691365fa15a046dfca838dcce06cca368e8508ce65775e2fc00c499991bf3b021cb00d746db972090c97d2de2d81e547aeb4e930f3db3dfad3c3d05750285ef704da776a9c46063eed2a63d1ce3d8a7730ecf7f2c8db6b706454e955644e8e4192cf33ef4f4be12d4f1e749df207ce6accdbf0b005470d66a7aa8e72aa7f2edb76c08d0474d3400ec415628db96b09a373946f61ccdedea4b527f3177681d8c5a6c057e9a96a82e302a242c619cedd4c13bd375f281315b4497647e55c999371773981a389ab3ef70ffca3b6894d2912008aea9df5671bea6517ad3d8f925a338234ff7f0bf4235f7b2a71ec044bdc3d93a7fe86b4cbe7671fcfb3d639ae8b761378b19a6b45dce5a7a6d4a94c312c28a194ddca22800d5c8034f83c88a91447470109155a22ca6cbf5e49163f0717f64b29d92eaa23a39b47568690e70d02fdc89516a55d64604fcee9bfa5ba1550cee747c470314a2421890f2d265452b3ad4b6834d5c32a57ea2b332c094fcc8656f25ac4fcb74ef85caea7f61d21fd87a3ae651d2b21bb62bbf4ad277b68b2521e714cea835775f909ba53e", 0x1000}, {&(0x7f0000001c40)="4542292f20c4fdf55fdf963968309f0db3bdce19a862fbca52809a478a19a60cc1d56ff6f6dfe9cb5e20d8adb5c4174400d6ee72a42fca0f099eb228a8dedf8b3aa27a184edeb4963ad37b1bb093e072c187f017f7e5a66c5f3b2c126dbad0b404e72c23a56914044f6b6ee09c1b28ceb0a0f4ac15fc1a108882beb05214cf42a7005128c264004874c71c5b80b951b1a4dc29d5f4e84570c9b9d7c9a837a4d5af455a19da542d4412c50eb504ab1988794139008f992cbf867c63b743d854cf96cc9e25d31da107829feb506cc1d932e89322254369a5d214a27e664dccdb88ade93170fcf22b6395804f48186239f07353668979611066fa6467fc4f477a3b7b956e8e8a786d95db4e6241e25aaaa3d1b851f9ae4d52b3ac6525e4cebf7487f1cceac1579c57badc26718290693923f26da32e01f6335aa2c99b8095df6b0931b743f742eb7cfe0ff5e009508375902571dcc10e6aaca1818526fb4d28fcfdff1cf4f695917b4f9a9065513ecf57be88c623ff9898ea46609402d25ff2e4c206c7148dc64e96cd00f88189ebbba9a2d4c709ffd2a2ba71071b18972f58b37754dc0079cce5a887a6c06c7fe8687b6199887fd90246a0ecba83c20af36845023fda78c419364e898de0f6d101d89c679121e5eb027645a1dd4aa23ad3354b6a765d0433b6980bd178df9863f8b1bc4d08119bce03e794669d49f5b7b127d20a2050dcb7f3cf37576bf65202f6abe9cf486909ead58e8c10d8f3de551448a0d5dda66fd5470b7ff7324f1958a463bc3ded61f2961123114740a711f1e36389129e2d54f401b412ea8661136df84b6a902b19cb11a07763dc8eab9a1ed01cadbad34fa1fd850b600b8117be8f2bed35afbbcd369d58905bcecf35d7f06be5db1893f8bc19df826349673841b7977637e498f43ab8bc915da06cb3212a68cb46e3454fdf57de8638f4458336c92b0fcb75ff45f4f85f735108c3d2d3d939b81c8048c5ab2543164bf05728645e251c36f5a334868ec13447d60b4c9048e6d11a4367e249a85002bfba68f9a522f425e7f047a032f81bfc09d48b50a9409b9c866b92622a7622302ba62babfffa63caaf4c4c5a506b511f8ebdd3ceae96db4b7a7f9be78fdd0877960eafc3444b16ee7a886900cbb33eecde939ab0b6662480eb69261ed2ee883d86a7c78fef29541d53fd6504b6ce55111b0d4fed5e62b57286e52699a756890e0d3e2bf1ed7d797bbf7e7324484f4ad7bf0c70a6fc8d4ea074277ca58f8d3ab04a38f541b8685aa408ce863727be1013dd051202b8d797027f689cdcec7ca3388f6d954cbc72adde5b6b552110edc18b28b97a6b7e84f1270dca92f33b898adbc2ec98292411a99077a5476cc544bd2e5dab855afbc35109de3cbdb7c14ddc580147cf8dd57c049073ef0a70e21c4b0a74c6d58191d57ba79c3bcd4819ffdec383af95f7d091a817fd1ff3123c2cbdc31de52aeeb5f362a8cdef26c51f6aa1a0a91b9dc9a0af6f77b20ba081d291534d18735952fe18806259f1e66d33824c4abe57733214ae18e0cef47ac2edd5d51da323f0bd46a1502727744d41bca99d8c698604a1f0540e9e42cf4f2f847de5161ee532094602c619519d24e3fa8f5bc9cff25c8afea1f10add62886e3ca1b14bf78ae007339bcce3b7a7fbdb2b287322fd63672570b0220193ab8267ed8cf407151d19306b8c8e5a982ebaf61e96f92296aad138fbaa7127d7c898c891941ae6aa922170198ff784a90a9e0385a4c62177c4e3c612923988ee7731f76f7dde3af86efaf1b73e474a74b83eeac8c0a383ffb94a0c4abce4461d9b81c141787230cb478268d1094ac59746e59f377f4308b3740e8f4dda0f999e7023ad53e09ee877b4672e1286808abb1aeeea2a22941307816dff75f23d6752a19119664f7e551f49a71c72af4a9f4c6056a539100601c4cfcfefb7aa6c007374ce9dad0ec92b4a3c55b238cba0881edeb6df0d8cf57b25cea876555cf040a2ba9ef096387c395d6aa212f12322dc7304815a5dc5df37f3bf1ad03187b91fe11cabb1a9813a8e2f4c50c5882523a9e7b94529be779a0146400f06ade4074ed90c530346696eb92e0751cec6494ae64e536e2856cb44651f9fd3d9d87434ff523041c5c296b7a32789c79c9ea995b9f18a531d7413b66ea78dbab663651ca3b6c9d94fd88a4bcc3d7925c9903ce4f210af8fbc4bcb54341c6370a67a7a9ac16bdeb3aae3f5aea1b338cf0a539ee4edd55c27e5fb2f38a03046423dab1617f379c68bd007752d08dadd02fed4f09adaa320e9aa1844120105b54077ad1bc648be407392d2f6d323e7efbd85e31a5239ef9939ed084fae7247e705f561a8435294bf60887160da0def7f21a68ed5be49328827d272e2833a90d19cb6c00903f0d1eec76e3033e2835be37c617182aee1932e5e685b460da31433ee411a96c4657837e9c9a7a38eb9e6784a550873fd59ebfeef4d93a2333eab8a915070b7542848d7c2abc907173cf0ffa70775a458eba64e0b6ded35b9b5078eaf374cc0ab286573f241aa691bcb8cc1bd2643f2c0b5d171c0f8e5d2ace2760eb220730163bbbba977215065b2fec63dd38a3671ff44cc09e2394faa17256597ffe29c8d27d26407549762da69300e2a38fa7cf3618bacb8b05391aaf92cc224e94dbbb937b77624e22b238a75de49871e1281f8e15e8fa4dfaa1216fe8798f67e0b60f2b3f1a912478ccda6382627af16187ce232fe6c82a98bab0574e28e5c7e9798cc3d11eac3a18e21f038a38338ee0e660ba84f512794007e3634a6532ad3340bde82225562cb0c77257257df69e5270cba1fe2432e16f6569c1fb3878fee9fb1f9b4a0138aee868610db91a84e9c82739294c72dc9322070a93f0afc0ad0d88e2ec439085200b5ee28c3e9025754385d6f6993e2aa9db1b9456b610c9bc76b0a4a4099c125750661548bdbe9c7dd786abee7b10f29d1ceec95cad19d9a17acfe6a7152750ecea4cf074e3eaf2d339d8b3147195db724c9ab194811bec9e09c5f98961754860789dddc7737a6e7ed79899fab486606e02df777bf9141b92e988c1cb94c3d424fc3a0c0b7b2c06700d2a944df884dd0f842bc0546686d69ecc12f93d6abc4f752b100d90e4ebf915b538832a6e132d46eb9d334f23d58c4af9c2a2c54678fc4ba67f752591c9510afb64e5d1772bc8e4fd35b2697b93fe55f47cf500cb3a1a3b7875731aa0e32a9357d757043e6283b5c6169094a6c6244055d8b768365b6f4386253522c9aed786b415a3d10586767bb5cfbfcccd81cf0996ecf22d5e2cacb74455547fe52d956f0d0df08a32c98b07308a8949237667a174d30bee72f88d2d59bd603d1bad145a18c51565618a0817bbcda88bc55cd5f657f5e375aac8d50f8cf32c6e5d4d27cef238e1f4d6888147fed5b89bfed465808617aec5b66f1de273193a97686cf1543640a8c6185561f7c9e6db7e61d49c0499d5fd117448fa1685a1c25365592a56368b5901e8263754be35bfa05d073a9de170cbfea1c0514ff924448123bc576d731940b8be30b6f6fcd7df5d9f112141c10a8014fc085031b1c7a934cbf6956fedb29014f79354b2e638dcb13396bb140ce49b3822eaacac97d51a1accea450536b6834c6d58c4bf5b79988f97fc5c1ac7620dd6065ba337333816e54ab410218a628ee041810e1c2cae274fb86e1c8f6a2ca94a8b7b68737f91984253a8503fd8adfc48614f9bbf24544150ecdc5a11d30bb168f5f6ba1366ae59d71bead2297c2efc8cb3d562a02b1149d27f1709ae8fa6ecfb90f8efd1be041e765a8b523d17220629d6a90c3ac13c65e7a1420e6c241cf7cdfd69325c44ba5bbf6964a7c5dd5cfa6eb75fbb46a13736437f41e7341c2014ba873086bfe28c0d231acb8612267b6b7075022e641f70a03d954f4f30f644e4d57c8265b32108d35a89a5912e6c654888a9c917d45d722c1fbb92856182d6fffad147088fc2f3c9b19d3cac604c801ef94b40318849cb143de059354ec7d98bc9c559947b2ec09f2a58f907577fbd4374f1cf40907ce5918289391a04ae7f635a1a6bcc76919fb8c832d2f17456b130d7bd1f213e8a00363f0887f8a608901632a3c08321d469871affc4630e3786ecb6ef7c726fd3266b1758eaf469066e5c4aa9609ca7057f912ef0048616ac70312fc51bf0106c475d31ecb23cc7001300792263c655e821798194b59c2721398269480580fe19ed46111c4f5affcbc0d295278c6f4839dd9583909700e96d0e24eb4318888585ab27fc07705c0c29d53111ef92e4917d5a0808aa96938581af0afd3aee8a2f9a0c87452f15aa3b045976ccd1a3ef9d761fd59168d5f8cbecdbe8d821189bc6b582a426c8c7ca9dd1187ec0b9ac803aac8e5c37fa37b6a86818923a0a8c4091430e2e3e4b7a3ac8520fc23f8d41f10268161a6d791e98f7c74e945aed7f1eb2bf7e50fc5eedf6fe68f1e953c259bbc903a41b03294d9d2f5c9bdc738b788fde9b6cf92f174bdf3a70356ce31292a3a597ea0ba5db791c7ecb954e9ddba77cb9452ccf498d1c93e03355caccab3d9f7fa1f489b0ea3ce205750c6b61b8be12faba3982566deed77f32e292886ff218e79c73c4520bee78c72ec84d866a8a3c8a6973b004aa9a45808059f9b5e422fa36899411728759bd633e2fff17caebcdb5dde331b94ab8f2c7a2896cf8666d3adee9f5cbf0a9c6eb8797fec82e1c8cea90d4bc6354d3500a14fc01966018b7c88e42c2b5cee24ed9f1094c88f3c2e800afab4ccbf1874978bced4cee1ebc703f719a2658a7d3eca8a72d9a987c0895164e848435d6000e702bdeb7397591f5fee1b6793ffe390b5e337e87fb3493f3e2058427e20b5c5e8c5508d85591dd2fe3aeaf3a9742181ea35ee7c3aa5ea26333209b397c84eee57dcafe2eef6909a82e1e590de4f21c8e80faa1643d77dbcc6c297fe8338238d2d2ea958b3f0f324beff7644154821ac0fd0ef61f998204d261fc1e078b2d4cf0477f357b12e6e6f72131f9faa2b01920a0f200c189bed1e433567de6d5fe24b420bd863e99118b9141b5e74764c67ed6d023f124f2a4fde76b44bc2006d83ff4c6a7486a83efba7bd5246e6a4003fbe439771310fcd978913d4e297abecd4f3e5b03d64a6e7886b7798df9a35566882acf0a5bf83a28fd36afd97e116b77cd7e17bd00a4676a1ff8329c6e6a259eabf8ca6cf7b78f5a8e3dbca4746aaff8c603a93f4bfd48b4d1242e9e83e06fdc431306f46d9b12602e2db126bccd68e2cc52e6f56eb9f327a093659b46b596f5a387ed35098289dcd8186add8caa0a43e0137cf9ec8ac7ffd197857fcd9aeb5cdfd6023f76720eca77b22a7b645d606bddfa0b6d3452f2bc14a87809e619ad6696696f03147418ee8e63b0765eb9343fccbd00e447cb8e24ec6153e55af7a7b03b06b995c9f1a051dfae8bfbff69adc2b54646030683bd52a716def7c8808212b6a8cbf57f85f0fe79e6f63ea81e7eea9e3174c9d10cc6d10c62c7c6e24afd3616fca18933c5622954546d47713b6c901f7ae26183b8e0a096281589cf4a02154ea8f5bfabc8d273f70a891748c1bef8eeb60dc66e8e17980246cc0f672a298247aff4b27bd4e10b9ce1d3c9eb5fd1e715cbdfe4315bb9cee05d9f5b5d05754ccf750a148ff7260bccb6d1ea2f7c8b970413a3bbec32f82bd2c70a1156bca8435f3e46fb71d7cf6be3b39d1997afa637bb6c3b0b17dc13dbea6b60c9b60baf888a7158f320deb1951f47d91", 0x1000}, {&(0x7f0000002c40)="e9c4c04245d3203ed1296bc82098443bb50be5da7a258754369e1488ad3cd8e89e0931df15f2108f0e29", 0x2a}, {&(0x7f0000002c80)="04d43ebc893a2454c22a015b2250902ed0f43adcf02fe27f160826ce7f5ab18f0394ace981b4f23858b5acb98b54fc945adb83921ea47ba27c7dce6edcaa60a449ed5f1db66ffaed396766dee97f17cc1b9d612421a15504e1a2fb88cffd", 0x5e}, {&(0x7f0000002d00)="198c5aaed283d10d75b6790393f94e58a25e768c092a3cafcda5d77b3167fcd7d30c65a01d4c62bec7b74a70580271d7cc87d32cae7220ab8e76135f40f533054451b378fde709b637b9d86599f7b7e8bf6b56e46f86d92f8ca8c9080124220fa078be95ac250a8a62a4c31f99b921d971eee7bdb7166b7a", 0x78}, {&(0x7f0000002d80)="22874e31fc8da58421439492defcbd0b53af18a1eb39e979b643b47843d2065150176c8586ea8eb59b6954d77c13fc378a4c83b0a4dadbfb9c2af0f799f155c2a6aad12e906bcaa342862013c758960fb5ba62177a96d7a9b452c336b41098fa80a0925244", 0x65}, {&(0x7f0000002e00)="428a3dd7429682ec69c46a209be3ca8a711bd02a56743c904f566f935523be8c8fad60acfc40b2e2263f60ad715f08363ec61e21e2dae2c640301068720775c0e65721bd7906f03a1cc206de108d9c0d5d4f44659e4cd1c0acf1b19e6578eddcbebb096cdd39b6b58408d16ac02034e09ed9d94df298b13afdd15aee2a8a588fd0e3baae977e", 0x86}], 0x7, &(0x7f0000002f40)=[@timestamping={{0x14, 0x1, 0x25, 0x5}}, @txtime={{0x18, 0x1, 0x3d, 0x10001}}, @mark={{0x14, 0x1, 0x24, 0xffffffff}}, @timestamping={{0x14, 0x1, 0x25, 0x5}}, @mark={{0x14, 0x1, 0x24, 0x7}}], 0x78}}, {{&(0x7f0000002fc0)=@vsock={0x28, 0x0, 0x0, @local}, 0x80, &(0x7f0000003180)=[{&(0x7f0000003040)="7e53560e7e7b38c3512e0db5bd1f6c9bb36c96c0c8c58c8ae80500804e0a6b5e1906543d50badd40581e105ed264a2b1b92305850ba6b7233b0464bb548f6484ccf4330529c07b7ddbfb5cb64ce38e8ecde9be0946370f084dcf2b2c", 0x5c}, {&(0x7f00000030c0)="22a030e7d1a4acc863236ef5daa054c5956f925457cf5fe1df853f888fffaebc722c77b4230e313dd8ce64421e4989eb30fe76d78e936e1a3dc46a44f699946461fa9d3b4875cce57d674fcc70ab537d573c7dcc042bbb40c4becd3cc79c0f7d13bfeb0fd8c186b246f849834d7be2b222abe6c3a812b4cef620b2918901e498fa206a7c3c551893ff221596e4725f0867b4692fd79070ebcb6b663a7a04f26a512e04eee201933d26c4ab357a77bf13ad65358a0fe6e4", 0xb7}], 0x2, &(0x7f00000031c0)=[@timestamping={{0x14, 0x1, 0x25, 0x1ff}}, @timestamping={{0x14, 0x1, 0x25, 0x1}}, @txtime={{0x18, 0x1, 0x3d, 0x10001}}, @txtime={{0x18, 0x1, 0x3d, 0x8}}, @timestamping={{0x14, 0x1, 0x25, 0x6}}, @mark={{0x14, 0x1, 0x24, 0x9}}], 0x90}}, {{&(0x7f0000003280)=@tipc=@id={0x1e, 0x3, 0x2, {0x4e21, 0x1}}, 0x80, &(0x7f0000005600)=[{&(0x7f0000003300)="462f0226430711bbc55a974e7b8dd4b9bae10ec90cf91c43e3092ef84c13c748d0d53c7eb58d0983aa1a7609b20e16aa53334235dd86f3cf4b33c4ec9ff049fa1ac7fedbaf67b3876f89130ead8f083f9b7cdc1fa2383c34bd35de914f9e023397fb1c6e4d8293f209957a11af5713f0fa542cbcdec0bc2cc2bbe8c513f469a98b83b9a9d0448ec0a66f52e4de5f93ba0749e73bbab89a716c7772da99de33a332f2d0ae4ccc53b501983d629d6ad1de2856c2ae73be0b3da497859b0f9085cb695a1698edfb58ce3c4ae3b56f1fa6c44507dc854aa10c6194a122f70474850565625b3561f888ea688bc969e305556257ba249e7418882128421cbed4f67dfcd82006d2514b6dba6f6d4941c1c22b7df2669c9dd9af9ed1838ae62137818d5508c44c6ce3124e5a949ee76f516a24261b3578ed38d8928e8f50d19945b772d2ffe297c702d2b9f9f90bae41c79a4dff47fd568da99826bccea6991c5c7cba34b2fc34febfd3200ed86afd42b5bd93dcd3ecc0b2dedfd6eac268765a97efe0a3f0a8119fe95574e03bf3f8c093773687f2156feaa7471b1d54148a90a849a389539bae483558f3e3e6395cf042e8aba34e866f27ebca9958e0bcd801206aa6987b38d4d56e5fcee3ff2a4acc935814d2474c0c3944d4bf01e0f018dad622b02fc52aa0d7a6b41d48b7ad34221a1a0a6978c56ac2eacb285f7ad97695d54940cf66492476cc79066a22bc8042837f2bf7749734b43887d67da053827abdfaafa48994f59012bca7dd5b545198cd30280695ec7bddd5887c465b04f37ed283fb236cab50310a6cced879bd7ed6ee7d487c1375b58fdeadc3ab0a777b42608ecf932f49239994ba53eb1665f515aa30367516c1c640f8dc160417076249567d0564b2106a7540e763810438722868ae9933d633deef25dd25c013ffe097b1dd72504ff0f11e525ace8ba668233720b1893f0630bb5081728db118c5cbab8e441c429e6bf4bca97ebca3ed5bce8859345ba0eca8f4b2962a8b909fe7f05ec0fd02a05601f5dd7dd295657033d5f63969dcb779ac665b8f41258ac02988ce004dbd3d5b4874b78f3e812af8b83b14ffa628692628f89835d7b6aa02a8578fd3084b95518b3022b0905512c78409f29963bef4ab65193f311e1d3c7f7d4c560d52358d69f022ddd65d72e5d2256ed78427e652de9149c549938ef71b957c53cd6b79219d1a4707db4c68321953b83c048c0bc1f9cbe7fd48338bd776fd862d9737853e39632daa534636aba3ff77b4b47aa320992afda34ed376f2d2d5d1b7dfdb8198166dfae0c1dfd61ecbc140a732fedcb94ea67e9ab778179c3240847fb3dbe63b3b3b2f7b24a280661b150780692220f02f5e1dd39c80697e0c64b5667739d84b49fe47de080a0ac68497a883d6f785f4b5c5ec9d2499efe97afac37e40dcf3305328f59cb383240cc31c1acab7abf00cc3ca6f5f81299661e6d0b95c7ea63ea3a1fafe66f704bbb6d54d74ebe7e7da92e25ec574f66f923603df5edf144992841f4c3cbff44f67d4e9b49f667017bcad52d3b20da8ffbdedbe49ba4321c5f64c9c0208153e50fdb0b39bd8ffd2f963eeb8d2ce808fb2c908859bce7537b3309555ef5bfab9ef11e72bc896545dbf3e1a2bb5400332cf8d91af967e4937b09e10ccea5c080f1dabf0af51acc0342858940ecbfdd98e848be0954703a13601920b03713f13540a642d0227562eafea50fcfc027b27573aa6986d7e5f5dfd6e86d20099d45eba00016eb77e8d1e14106cae7e28ed6dbb2dcb1ec6642f5a614947d5e5a6e43ff8f32496529d32e32fc91cfa600e79760e40343cd18fc8a80fd3ee8f77b88718de3ecc84bdb5581390d9462b4b96ad949183945a9ec5ab35e9ea873194d83b42478bd50269d8d69849f1010c3085a7cc001ada28fd7282a0b42e5517f5c68b424b2929b5a5f95dbaea492e1d75949b3eedf5fb00590b2bac081d8fb57ae9f47e11e4c4918d8f8e67d8f6a8dcfa6f2e8d19d62b9064781ea3a7924ca70a4d931760a5b45fb71e6d03711d027da215afa69b9d15c7862ca47a2cae4af5ae56d3d926f6b6a4344e84082d42c28cd7ea6e8846e0e1da2b8854ed6635298a5f2aaccf6e8ee54997e43213d8a18f20fdfd3d233131f3d44488356df996a9821c7908ae4d924c97df070c61583e02967b64419bb70f9056d7d61ce6be1604583590899d188ea64f52d90f31cb2fc31dee958b239947bcd8e9731bcf4c682590299374b59f9c4a19f24649822c6edf3df780755fdc36754ffd2d5616753d22543426215a4f25269e44183d3a4ca43b18e165260c6be28b10865f55dc6029ecd01874fb9342a8abd04dcef71393e3b071133f5eeaeea31ac771ec6fa2b16b7ac828362f22dc80aa154504de8fba63409f7bbd5a3b161e9373a971628ec8686a9f80ab2bedf6994ec8635f2b76738f9d02c87dd6628befff3c4002c4bbbb5ed7187b33e5287857c70da2c1ddb2ada550543fa02ddf9ffb1f95e0162e69c376b25c0a5a064c41dd22a325f0496a96512ab84e19539732d872e2dee3a84362ea4a0607bb7796a61c3d927e2d05ccd00e12015ab1b7e1d7bf2614ceb2360ca05102c3b7c2f346249bb67356769130e0b917a4b8170030e36aba107e21a1aacb7443c5e4dbbf6e5300cdc7ec2f1086e091378263ad9c309b8362f82d0dc14c0d3b34b2d1697e044b376749c5df72e6b6a6553866c5098c16d6034996f903e0fd1b14454a4f81a576c3a684a04784b894b278ab4dcf02303cb6a9a888c8a492be107b366506ffa6653fd3396c062b4cd8f785df341be918e2f199a7d48e0b3394024517ebbcfbe84750818ccbce699db2643ad287a9c0fefea3e82c85c1648444fa4c5aa1d2b78e84545bd7b34d199f87c6f35471ba00a1e956a4a8cfc96a7518e047d80e22f3798ee97ca73062ebd685257721f17643bd7687f7681bd31b6c02f998722c0780256fbd09bef900c60fad307100c1f4e62478176ffafc8ce48ac68a3b331ec1c54dc22f019a178b83f9e8ce0abf292577777de357a49e0915cf9ce5e96c12ed4ab5be42d3b5d23c3f8c7cd15922485c8c174c080f50bce1aebf4fdc377ecbdb7ba82860f0f590df7c304fdc580bc5c0af5edceb12a3b1f75efaf6b607acd16f2a52556355edc0c502f137f9295c9b8b136a88f1505998c2e38c75c4c79d542fae2bc18ec2e776cba19e164574585649a7ea8b6218f2793a711b082d2c6209b6cc9d7fa9b92d3064511fe88599c718fc0eceac18c7044816dce108f16673ff9ca7f73b381f0707fa40de05b5e20f55e5847e698e25bca9f41ea7345d3ef254d69ebb153d959a2af885c811524dd81359e620218f52e9d4276a8a86608c7c5ac74127019aba94eb45f67adcf1428a4d7159f8263511e07ebfcee6e433d4127aa0bb1e94bb75d6d1a4d5e6deafe6441dcacf2275e556a1670949e0dd7f9510e43ba3b0b2027b66c74d128f786780ef96cc0b5e13e3716f16318a47a593a13ce7852e025ea9b3ffd3c27e3f8c2d396b596e9fc6d6b75c82fb8111102c6bacfac619905ea2f03a16380ba99933cbfd2e635dbbc502c4d858e179ac9eba2b8abea7d8ef1eae31e6b83afdf305cd80d87a320ce60954285142f5d5f70f2f63bbffcd18a2740d7f51340b7463b4d88dd19a8fe8b58ae9d5e0f396132ed5e04acccecc51cdccceea1bf18b1392d00c6e30c59c15d49d5ffe691b5b8f7dcac35dadefabcae76b747c660637edc7f1507ab4fe365b692b7da643895d55bb0f5a23c951ac40eae7e1a3dc42426a95540b5b54c589bd5e31a68b2490a9ec10d8df7722134b9ef03edf7ea450a22d18f6114f7f5705cb601bc821fd78f3abd8d919b49b9eb05b19ce8e157d88fa9a2b7316af52ca625ffdace5b64d5108e9921b2476994c58a4245e08a96d2ebe3b0d8ee1858ef4575231dd66b240f6f7e7caf9756a49c809de06e426f2b968385daafb7b1237507e5636cb0ac1d598b098f8e9bcd52da9e95d5e3c6da9161107f8c62f0958c0568be1822b655dd9e9f7ee00d9799f2b25c93e137619acbd56bf38b1451a54a32318733c592ee6dc942cfc2e9bfe39d1397c68b25346192c9a80acae654f5c25c5ecb99994833c81ae1d14ced0e3b7eeb49bde53a4639cae4a849e34c0c53d321f3731bf5376075f86376111cab24a4ea99c2879736f3b254e892fb5222a2d50356c31be12cd326878780cb79e579eccda1e47f262b682b6e8bee925b5ca5c3ee80f0a543f039ff5fc48c88010a6eac2cd6a1d7d91675b8c1ff6decf70ca0abab71727c699445f4bd437071beb0d76967230fa03e3e0e219084409774260f659e094153d19c89761d09ac3a54f8f1c4f1ed6ad599574bdc0a95a2ed78417f6408618892334f4c92b11931908f29bb55386701c40251c9f7312f5a18833a476cd8e838503163af1049ed06cd66b70a5124afb0892ea8a159f16921f02fc1cd6b304456372077c975b226f77bcdec90b5cf3dd8f2da613d4708c2380c8a75db4517d9d50693c794390445db273140a920bff7104fd8d3d91f9eb9ac9321e39e210eabe70c5d971d95681dd06fa7880d71cfb00549d328e34399f6640fd08180b9c023688727008f90c143e79f97fd894adeb29faf136e2e0e23866dd1d8c6bfbb04b8ac84f231d8beb350c06b6afe8ec1d06550766a517e8b0ee0250fe2c3b8cce9c3e9016cc05dd5b0cb31de390f6fb950a3baee3cb2f461f5b6ac637bbffe1e6b17ed3593e4bc20fc992ec49fcfab042992a3ce82cde61f7ea4ca1a7e97829aaaad9a1f9a6d85c966bfabf9afd9dee3fd76c896a2908f45a3dfc7a68527ea7f691a132d39cab60ae4faf8a09bed149809d61a39fdfb092a9621a36a7c5378961e7d460ba9204edbe687a2359424788da1bbbb1c682e83699507d0ff88e68adb52472ad5d2c74192625e7c96430570b1b8d5371c40cf29d73d62e8c6c4ad5a59d09b499e8206f0fe356b33510e0bf06c037e0892dd50cb64390b2723abebc0bb4e41ce84d683d4267199978a8cfd6baa44c73043cbf5f42da7565c129e1dc38218a38131934d77f6128fabaee55cb0767ece330f2cc4ebbc51af6d9d2aded35e4a51490ede76b24426724ead6dda6c2ae51cffc65c199d7e105a8625d1307b4685ac1f1d52c8b29362ff1688db4600e9cdaa4dd85d989f165db757102fbf4f7ced3ecaaa332c16ac5f501a1caf76ecdc6cc3efac7485a6c09087d870e20b412d0982684d793a8dca43d7c2228427b8a10d1031486d6327800b3090257fdb915175da1bfc70173edd56abd537b68347bf8b12c0498e842132fb844e9c680070a0f60f0c57840a44dc0e24eea6b355531987b98e240fcf4e09b06d67cdc6e9511845d8849c5a6199dfba14325864450c80a25e91a758bfa362d02e2cc96e1b1e6a463bd39ddae98b5c4b87b5f3aa9b9f93321dfd546a868101fc768f8c2076167099d7555a0fac55acf0394ef59ab419b200d9f06c6d0c84d5da845417642d9560d391a1f1f824d850ded0c5f11450025bbbd622796ed153c17387ff095c8412eaada6abaa98ab7e4fd18f85802f9f789020a81d076d379e1c62fbb385dcad9557f45a09839120a69359cf5c78309d1f7abfbd50fb0b5f5a0c6f1de240ca16c2534e973fcbb5e33c9e4fb73a400f4ebf8ec84e70be9cff5cd2bd1e425a6fa102a0c9ae300a14349f062de434ea797c987a7700390a529d24db0da18f5b0a2beb7196ddc537544eab348162a30bf23f6702d40", 0x1000}, {&(0x7f0000004300)="aeddb3ee78b13bb4eff205ed7dd34747e9a4205c15cb46fcedeccc73f8d48145cf4c0b8cf345e7a9104e5602e8bbc8f5b5b84b67d3fd78d9820e219fea26a22badb109eb8275cead16b7f5803df6ed6f03132f67f720ee104dfc7da3813e56de7fc528fa72af3540ed7e22aff3d07c5b6e6c776412f26e4560cfa81b8d0a5d86f7467cfff3f2cb06f02fdc2e169a6fb7e1f7bb48ea1a9116038c87a74e410559d2eaec6fddfe53db8abd39516cecaa3c3cdf2bcfb7596bd86caf08ffd9c6f8d6454f99a45a6c76a0f4ecbacb", 0xcc}, {&(0x7f0000004400)="3eaa3abac22c73af1d14c8d7f74b94ab48fbb053f9e066516f5ca99920cef5db244e05778b2dfc41382b2dce891c826229a7bdeb665218812d78380ecdceffd5503f9cb31dabcc2da4e86aeab71a826c308afdd4d9a1fe91c704f8fc2d64be4cc2e91d0ceedbdeb01dfe42e7d29acafbc4ea9554513d4fd9e66f94927e2734ec49444badab2ea8fc13fddfc21b69576c78693a413149c3b7cfc234a1e060bb1b0576358ae076d2eadff9e6b2448fc81724c37f8c3ecc0ab575a6c8d94690e3ab574c52168093e34b76478b4feace1d60407f2f55648e2c91d3ef599ac1c16d6188a758f7d97c3c0f99dbaf79f7b49383975178f7634fa8ef341a9b5ae36a946f828e2a4db19cb26f6f987eeec44da8a45eb78c00ea7d64d079f66a471c97e4cebe5365e5efefa7e95a40545595f5dda69119eecb686a5108e2a45062b8fc193ec05d70a2e6daf7187619702592b5d9e9a5450dc78502d17227b51377849b1b23b07a7b5fb31cefa629908ba06d31f464759437cee607d08e53dbb65b55aeed3f40af9dde6a7c6e0ffddddfc1d38d77009a27f739265c695ceb0503cc40efb19f561d8a9757fd90c0a4bc8fa899b5e101eb5182c17d265e7bfa2e50e99aff57becddd0fe65f3b45e43883c868c46c330e5809553d98f66190612d3d0b8ce0bb8c6454af974c847c3ddfcf6cfc1cff184ce04dcf536988b27dfc17fe5f6cc830eff104c8dd0956bded5003c3b7e7eec71a67c90a2940a467b95f9e74ad055ebc60865673d4eb050f7bd4067d11955e9d3da1a83fd5c3ed428373187aa6c181a019e37044be83c1d62a7592ad503b7ef4ef8310f615fc5350970d63d43cfdc0411894e000d0f4f9b1ee87ef8c0ac31946641f60cd7540196e5e03d32aac6f620c19b27b0bc2fbe34909ba81aa3f77d71017e7fd9a043083fd9c8736ebad8fd263c74036da15e5f3890d4556f0bae7c25be22953f16438558f57c49db9bc0c5802a3ea085e709c5bd77b7a3c16238365fa1ca962316124af152c53cc164690f9597c53a3b7006b40f2748e40f05975e44c33f69f95e1e1103b4cff13714d5cd71b1dc215d7afca3b729176e3c942ee35df55b3719107aa140c329418dd0948cb991f66badf8bbc23efde00ebee5f7b23befde0b6abd7631796e26a2da03fd203bf25e5f99f195100fcdb5e2291715a5504376b5b68a80d2bb10a4411ec90bacfee777eae5da8b1afc2c0308b519889a6659fd020e0ea4d58c92be4f136a9a2a7e805b78446bc64e803c99f5728bfa14c099e32a046742d4cec2cae0ae3623b9016d175589f80df279c74b5f85b7d6269bc080d4dfe6017b666b1c258cd755502e60b5ca4b3a58127fcb8e8503e26ee01bc773822d644786dea2b5730976bd170a53acb46419cdd92be120a328de9d407f9f4a44addde5cd59dde79910d30482784a2508136ecde71d0e0098fbb0b033ed8066f45d755d628b76dc0c7cc644145f3ac32c357f043eff944b65c81a1767bd9f228bcf878811eb4500c3ef67b4036b023518f4df85ce05476b2d62abc3eeb4f9f73b44d09a1047df9f35c81fe3a8a45f63c343972fecb19010e07c8d47e81ea564088d79d4c1968225fa53957f64607ebf643f5cbef5dd39e316202cc083fe489adf65a09a9a76b76e21afeea414166ec0e775fca36037661be5b5b1fe1308099e16b6d9cd32fbfa9d78934593ea38250e90d1df259c9a4eda04f63908e9c66066c291af3bfef86008c13fcad89fb1a6ef244e5d228c177a4ac016f0f43e2888c38664b711fdb2e4649f5df1dbc37ce3a2b7f60c2d1e6e3e2346a4cf4f2a409adf642e56e426dc9957ec24cc76305e2c30fcdb673b0ada432a9d6ea50ca3c629c0f64247ca0591c4c11cda3119acff82c96e0bc64b874924291fc976c608c69a6c2e7702e08982d548923248794590912b54b6417451496f4ddbd9f703319dff867cd3ce3860bfead1aeb10109f18a05110201494c13cf7690d4d04b47bb543e7a1a11b58e3863f3ecbd2a1d5d0c765ca834d0fab09a682ca99748c583f4579d248761f6cf6e70dba73abec15eecfa7fe473e141f4b96f0f0352922bd00a3435270c9f76b4b23f489dfd7f9053777a11e8bb2e67edcc2b92658b4d39ef992994c0f39b8121e14ed25af9064aba059b3fde4d8e62a99bc4fe43ea47342877840db8729df77793897a53b02dfa2f7d9b06652a9e866963f26b2e5bce93ac8207d1be6e6122ee19bd8fb624141bcc16f762de35001020f5e6c267f9fb6771894c39c7774bf193955520cd49e2ce093e42fba28f8d44fa0d87836e4442e27c66d6079578ca03a3ffd8256bca921e0b527c612bbbebe80d3804fb40a9b8d878b790ac90d099895b2758d03a704c944ea2bd89576ef99773938fcf215f68ee0c11f67d97ed057b1b0879f75271a72c6e3853bb60681e81e370fe91cc23b7f6b96d926e8871fdc6138b3b84f956e811903078f39966695e7c81fc126ebe2a401451c004e15e5bb8f2548389c40569e14e0607ea8c46e04ee159576ac800aaf45db20f395695274ba5a5965276e72fdb2e609c929e8a51b38401d2638f59e936d3e5edf1c8f6c9da7561d3fb2c5e2697236e38f705fcbb83aef583f84fdd251859e49fbaf932fc221dd3ea5b51c5fbc73aee6ceee1bd73691001c38877620931f859d9225fd0d6717bc6a6ef7f9300c922ca8306f470e0050e7e42f2c2ca6f9ec1c18c4d677e03b5ed9efcd6082adad285684a5a1aaca6d510a44b81eff3f702ad154d29b7de71da20f668d8616397d233aca321c24e3e79dc6467b7c33c68aa6e0c37ea38443646f2935bd0408d34b1e83372a37099bb39e9d2f1cc69d9a22fcce47ee30dbb1bf796e085d8df88db874c9abe7839c2491c536a812d210cdaede5a5933c71fe3dbfad6234fe9576d209e15831f3ad47d71bf504b499b509030fd55295b3af3e011665b35a70610eea4cae4df7c6bcf76eb796a0f43976698806305cf309ea918ddd74fdd7def14617df1de5246e0877a5a5bdd2d22e45990a143eceec25618fb4fb0c998c2738955c28af93503e5cee573fd57e31d54b3e26bd5b2a9c31655593ce1ebbfe0926d6e63bb5b9345a72678e24abd45154c003925c5bc1a201d1569e3a6a65c518cbc2c20040e010ffa935136be7b889d71ca446144909a438aa8c41d279a489c372655a740cda6d53a6242c337f079eac7a0955ad7988e003840a23165142a33c3ca67df0d28a7dd641f7528f8b16bfb7283876e799330846553f4d6414cd61e3aec8393926496103a4808021309bf401224d6d8b6773b6ca65ab0dfa972099ade09d1a93404e463f1a088c8da861d5b93e8b4f0e9e7e52e91508a0611c1a3ab84ee05ad60c48477f40cad06f36cc589fef9c4a65911d1e7b033fb34b5b5435491565742874cb518abfc333390cef0d0b7111cc301e9d95293526b8dca1b9695e3361d55a1b8411923e20d942c3a2b44dd64bef301045742d9d7e99ac08862fa32abbcacd3ac8b093cf44cfae4c3dee4c8ad504ca5a2a1270c08fb69f329e97f96a2d7d78eecc1098a98a815050bca75c9de2041c458917d4d1a9da19c27bdda6c754dbdb15b3d30ab03adf33caacc4833033b91b061fb425a4c3d17385f3ef111ac01aaa843c64ca8493a919d87c853510077297455e239947dad782c49c6c348e570f55ceea27375420d4e7cd98fcf38792cce787bf3153ea35f0237e3e3aa5420a028b995ce68cbb6e1503cb9d475bc519de407baf74b96d8e7a7dc17bcaee06b1a62bcdc300cbb2ea4bb8500fedea522875598b1a8f00b8b0d9a8fc575f6e0a6b6e7a8e0664421093de5f8da5f2efc7cb6815a70e8e0c33bc0e4e30ab81a593fe2afd1544b38ca54314577edab4754c24d0099c26ee2213743fcc37c85526d1d70db45daa586f5f27cf9c0d6463d33790dad8a38b0d75fe4d48a01c5eb5ce23741db9c579e39a4c5fde75ee23c0adaa69a127acc7c5a4514e7549999fc59055f23409fb271f5d6ac82fc92c1fcb0bc560d453b428750f56c66622ce6230079a6a8b8f71b2a1c9bd740e468a6338d63dd40488deaefdbb317747362a70c539a9f5839f620585835b3cb58b3a2de552ddc8e19bce91934bcbf8d229d12d80e623fe52f499dca31939edafab19c57ced3b743d0daf748d7666c0d4e2e8e9bdde777cbbb5a7d149a909454e720ad2108de9497a0ce8d0ff794ac0f4fa69b86e31d02291645dee8ddec7142b351a893b6141de63bc1a33bfb6bc689e6faba423c9dac04d54d4eda19de556bd4cab34c3d6389e171c41e2c39d8617f4614576b297351ceae65cb52d4ba6c7801c42c09c9c0a12b43e0f49a78118d60bd70c1dd6eb697526ebe05d6b94f920ecb18787dc40655acc8e240d97dfed11575257b419352932d9b32fc4c12e89d826c6df65bedde9ae76c10899878363878dd0b2580a003b09bf1a3cb1b9ade610ab01e2ff03f56d530099bf162b2a473ca04b7f293f0022f86375d8236c27df7502aaa6565290fd96959842bd75fae4017074377609fb444ad9fbf7c6abe1a73ba8a27bd5ed356144544364d93533df0968bcb045776297fbd50359df6daae76fc4c097a114235bae731d13c2a7fb5d4191fcb0d5774222e80a218f2aff72910810ee7f898e75e25029d87f63fe6a5ebf0fb993faa2de41a7089522a634e4316477720738667a52ad2281f4eac150f7a515c0b7d476308a251fd972b2c64cd42d2d7ab1b0831300398eb302de7f7f0938ed2479ecaeae27731f1a388c7cf6f7acbd54b6cb8740c5f40b7d4e3d4abf6bd28833159523e24207684c4afc33c3e3420d7c048305b469dc315bd202660aec5b6a4491a88f69f7a15d0bb0de7395e266f5cc5b4a34f460f75c179e4d22b2fe4597c11cd65dfcfb7926174af477236ef257fad7705c47df48c3b8aae581ed58fe71d313411f973ae4e3c648fa6c80609484a2da95a8552b898793a4ed1b3993c999a5fe18973821be930ce9b6dbe1e8fcfcabb23db2b2c66ff5a9961ca1563365eb09d82d5805e2ae05c1a9b90cf7af9d310a8bb4888c27cba3f176122f7fa5365ed13a757a369ce411707082b9887512ea2059f345b81eede13a0d327982b5629cd92ed58a6de35d9e63a0b46c64d5c67588694dc2e74c3e8f510d0c19f31efc1df2db6952cc6da0ea68326b78e186fbfedaf3b2213df506356785e28d4ca9ef190999db7e6f3990b821b93d975f3bd90ce1dc7df8f4c4b42f711948ae60b749c95d80647f5e373aba8bec6f7bbc9b150c7726cba447ab723a3eb0d277eabafcd31a52d18087518e53006a6483680e03f054c227367cea4b7ea2dc7424a3cd10d003dc1995cb4d8eff6fb70114faaea664300c40a984dec746d5ba6fb1cff359613411bc28f70d905bed7041fe5891ec1856dfc562c95a46f16aaaeefcdbf11859e14ff3171077fcdefdd0e3cd16ef79f6e6824e98d5d510012543287e06da070f9b05c13568a0190f60550ca51a8ac6411c52bd5b6cbe0d360dc79f2ecb23d57019830c2c148e54d3a20741e05b67867e253b31e3b5798032ef52f3bc60869ccca6af79f2ab5314dfb82a5c3f5179c759daca2cfe8ea8b853caf028bca09818fd76de7b1c1067d3de680d964fa60d64ae701907b5355232b7f8b9271ee79f1348220c5aadf64f03be852af4965b2cb878d7ad5895fa6382da3502d07f7fb3684891fd51813e2e47573f71500a171ac2ed3b4e010e06b2a9a69dbce9c40330467781065a4da4fdf4ee91ca318320c", 0x1000}, {&(0x7f0000005400)="8a47e03f83fc15906d2f23f574703cf2b97ef5c9dae3e0d3a65076f6d6085cb2486e84832aa0f9073eaec2d50d0791fe4ff1976ca84681ceaec1f0a6703c6a2c1c8b8840", 0x44}, {&(0x7f0000005480)="2a58d0652e88065c02939bac34e1ab3dedfc6c496ce6864dffbce0b9843d0325659b426b18581c667a89ab56880998b00b3720c8c218360cd1699e5220199444eecea93dee4b416a088a0449ad1dc371c048f6c9d92771da166c4916", 0x5c}, {&(0x7f0000005500)="724eb6427895e921b6779e96bd422e64caaea54320895e38dfe4be42d88a30c846b4467a831303a45c212a31bb7cf9b2ba48372aa3fab48c05a250fe64645f24dc870881fb0b150d4106dafbd6f35317d2592fd28a66f184cbd9e4cbaa1e91738239f64421c4e1d9565a71a3505558692d1c36b665a3d5b47588142de6c46e91cd0e9ae89bb3c7e4089973e2cb395c1996f4784ffe6cc0744a91c35a89e5581db4dc75a9deefdb0750ac48df1bf81ac249332f77b5ee4c498ccafee9c741d850c2e89ceb3a097e6b2562ffed52c0040af20274d713da0ff88bcf9f7238b3d90aab043dbe0136638930bc2e7df4dd", 0xee}], 0x6, &(0x7f0000005680)=[@timestamping={{0x14, 0x1, 0x25, 0x9}}, @txtime={{0x18, 0x1, 0x3d, 0x2}}, @txtime={{0x18, 0x1, 0x3d, 0x36}}, @txtime={{0x18, 0x1, 0x3d, 0x800}}, @txtime={{0x18, 0x1, 0x3d, 0x4}}, @timestamping={{0x14, 0x1, 0x25, 0x8001}}], 0x90}}, {{&(0x7f0000005740)=@generic={0x6, "3193bfdee10a29f32a0349db5e6d8ebc7ec3c8590a709bb0794109c3fa19a5087fee6a4bc3f5ac7b4463728a02c06be19c0a5c606c7c5ce15ff44297554f2b177e975deba0c003572607eb9f8fab0e0fcd5bd5e840a9d48f6967d02ffb02f68d850d7e493ead61d95a3e955e2d40c8a8e305c5249b8a0c5ff5b7bc7a84c2"}, 0x80, &(0x7f0000005940)=[{&(0x7f00000057c0)="c31590317127ec5bf76834d9c4a607d17f8ddbea14904bdaf4281f9ff52f52b663526d295e883b4549f4b3a225b924693813e21011da1d6dd184717c61fd1231b036ad20e1a1f7dbc037dfe0f95bd859c52d657273cdb54d48b6beb1677dd4e31aa4c782ecf8b2e5ccdf959cc0cbdf20ba", 0x71}, {&(0x7f0000005840)="01647e2e5300b348623037c4d52eeca04b74cc8db48045dbad8a3dcae0a6a4225ffffb6de82e7e8622016c927297f9bbdc1a81cc0d0da737697a3f3760149c1c1d555ad0bca028455a54ebc09ed901667e98d793d954977e90e12d3ca10c291e3b370ac62e771adcd75581a24f6c54ad78ec8a9201ea78fba848ce45a9ec3862eddffc8f94c3919fed856a0d461fa69f19a0fb91b85078164e3650b2434d7b81b63c01d127a186c54c46e0fd15a151bdc46aeabd7e447d7709224b896cc9f543ddd411507330b821", 0xc8}], 0x2, &(0x7f0000005980)=[@mark={{0x14, 0x1, 0x24, 0x1ff}}, @timestamping={{0x14, 0x1, 0x25, 0x6}}], 0x30}}], 0x7, 0x1) sendmsg$nl_route(r5, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000007c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r7, @ANYBLOB="0000000000020000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r4, &(0x7f0000005b80)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004d07a2a30005000000", @ANYRES32=r7, @ANYRESOCT=r3], 0x38}}, 0x40084) r8 = socket$nl_route(0x10, 0x3, 0x0) fstatfs(r0, &(0x7f00000004c0)=""/241) sendmsg$nl_route(r8, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000000)=@mpls_delroute={0x24, 0x19, 0x1, 0x0, 0x0, {0x1c, 0x14, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x1}, [@RTA_TTL_PROPAGATE={0x5}]}, 0x24}}, 0x0) sendmsg$nl_route(r8, &(0x7f0000000340)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000300)={&(0x7f0000000200)=@getneigh={0x14, 0x1e, 0x0, 0x70bd2c, 0x25dfdbfd, {}, ["", ""]}, 0x14}, 0x1, 0x0, 0x0, 0xc001}, 0x90) sendmsg$nl_route_sched(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000400)=ANY=[@ANYBLOB="3c0000002c00270d000000000000000000000000f6a2f410853056806218c709dc400d5eeab973016909eb6164d881ee673f85c6c75c6d6b08d6e6f45937e95ebfd886463ad2dd5f0b12559e57f3d9e89bd66276c97fb6542a1cee0a2d6cf3410ca927de37a8adc4bb4bb41aa5580ace90e67564", @ANYRES32=r7, @ANYBLOB="0000000000000000080000000a00010062617369630000000c0002000800010000000700"], 0x3c}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r2, 0x8933, &(0x7f0000000000)={'wg0\x00', r7}) 03:49:43 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0x0) 03:49:43 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, 0x0) 03:49:43 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x194, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x180, 0x0, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}, @generic="92fc3555c96f787fa7b40c6fd7f2fe385ff27aba93f3063be7c5b3b769e07d00aa2a188ca6acaec19a45b37c039b8c5461d027a897148c1141312a940f82362c31d1d430202b649d9a2f0ab0852bd0285841916e530067fa1891f70d0e9ac6c1d0f2bbf4166c322dca30", @generic="0f5632ac02d1291b9ccdab0cca032d3c31a2b7192d2368f29dce77ca4c1e4c669b99b9c67dc2d7355c707bc54f84a14b6c4ff61a94b89b438859f1b7aa06f132d507068e7ce2a9a72a806a112d6cc4649d72c01e6c904e322aa3acf6302f30832483d3167b3ee55bff017543a3645c12b227e8bcf05f87abefdb83485047812b3fc05522707af40a076bdf3c0c2f2a48e6c0d2", @typed={0x14, 0x81, 0x0, 0x0, @ipv6=@ipv4={[], [], @empty}}, @generic="7084b6e5c8119944808ceadcc3fe305eaf7e0d33d7d39cf87cdea04a228837bce3825bc86ee6032415472f925cd1e35ecc68fb70f68c6fc6d7871e3855d5a066e63b087736ea1a18ba871f43936232eba085329133dc9e"]}]}, 0x194}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:43 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, 0x0) [ 185.105963][ T9156] netlink: 4460 bytes leftover after parsing attributes in process `syz-executor.3'. [ 185.135047][ T9156] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:43 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)={0x5, 0x0, 0x3ac, 0x0, 0x1}) [ 185.268685][ T9161] syz-executor.4 uses obsolete (PF_INET,SOCK_PACKET) 03:49:43 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0x0) [ 185.319691][ T9166] netlink: 360 bytes leftover after parsing attributes in process `syz-executor.3'. 03:49:43 executing program 0: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$kcm(0x2, 0x200000000000001, 0x0) sendmsg$inet(r0, &(0x7f0000000180)={&(0x7f0000000140)={0x2, 0x4001, @remote}, 0x10, 0x0}, 0x200408c4) sendmsg$kcm(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000040)=[{&(0x7f0000000480)="ff0f00", 0x3}], 0x1}, 0x20000000) setsockopt$inet_sctp6_SCTP_RECVRCVINFO(0xffffffffffffffff, 0x84, 0x20, &(0x7f0000000080)=0x8, 0x4) r1 = socket$inet6(0xa, 0x5, 0x0) sendmsg$rds(r1, &(0x7f0000001a00)={&(0x7f0000000000)={0x2, 0x0, @local}, 0x10, &(0x7f00000013c0)=[{&(0x7f00000000c0)=""/101, 0x65}], 0x1, &(0x7f0000000900)=[@mask_cswp={0x58, 0x114, 0x9, {{}, 0x0, 0x0}}, @zcopy_cookie={0x0, 0x114, 0xc, 0x4}], 0xf4}, 0x0) sendmsg$kcm(r0, &(0x7f0000001400)={0x0, 0x80040200, &(0x7f00000025c0)=[{&(0x7f00000000c0)="b8", 0x7ffff000}], 0x1, 0x0, 0x0, 0x1100}, 0x6d70) sendmsg$rds(0xffffffffffffffff, &(0x7f0000000780)={&(0x7f0000000200)={0x2, 0x4e23, @dev={0xac, 0x14, 0x14, 0x18}}, 0x10, &(0x7f00000002c0)=[{&(0x7f0000000240)=""/74, 0x4a}], 0x1, &(0x7f0000000980)=[@cswp={0x58, 0x114, 0x7, {{0x3, 0x79}, &(0x7f0000000340)=0x1ff, &(0x7f0000000380)=0x8, 0x5, 0x1, 0x81, 0x40, 0x42, 0x1}}, @rdma_map={0x30, 0x114, 0x3, {{&(0x7f00000003c0)=""/29, 0x1d}, &(0x7f0000000400), 0x8}}, @mask_fadd={0x58, 0x114, 0x8, {{0x7, 0x6}, &(0x7f0000000440)=0x10001, &(0x7f00000004c0)=0x3ff, 0x6ad, 0x400, 0xffffffff, 0x4, 0x2, 0xbb29}}, @zcopy_cookie={0x18, 0x114, 0xc, 0x9}, @fadd={0x58, 0x114, 0x6, {{0x6, 0x1ff}, &(0x7f0000000500)=0x8, &(0x7f0000000540)=0xcc, 0x3, 0x2, 0x100, 0x25, 0xa, 0x9}}, @zcopy_cookie={0x18, 0x114, 0xc, 0x6}, @rdma_args={0x48, 0x114, 0x1, {{0x0, 0x8}, {&(0x7f0000000580)=""/123, 0x7b}, &(0x7f0000000740)=[{&(0x7f0000000600)=""/248, 0xf8}, {&(0x7f0000002600)=""/4096, 0x1000}, {&(0x7f0000000700)=""/59, 0x3b}], 0x3, 0x12, 0x5}}], 0x1b0, 0x88}, 0x20000000) syz_open_procfs$namespace(0x0, 0x0) 03:49:43 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)={0x5, 0x0, 0x0, 0x0, 0x1}) [ 185.368925][ T9166] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:43 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@grpid='grpid'}, {@grpid='grpid'}, {@discard='discard'}, {@nouuid='nouuid'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) 03:49:43 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x140, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x129, 0x0, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}, @generic="92fc3555c96f787fa7b40c6fd7f2fe385ff27aba93f3063be7c5b3b769e07d00aa2a188ca6acaec19a45b37c039b8c5461d027a897148c1141312a940f82362c31d1d430202b649d9a2f0ab0852bd0285841916e530067fa1891f70d0e9ac6c1d0f2bbf4166c322dca30", @generic="0f5632ac02d1291b9ccdab0cca032d3c31a2b7192d2368f29dce77ca4c1e4c669b99b9c67dc2d7355c707bc54f84a14b6c4ff61a94b89b438859f1b7aa06f132d507068e7ce2a9a72a806a112d6cc4649d72c01e6c904e322aa3acf6302f30832483d3167b3ee55bff017543a3645c12b227e8bcf05f87abefdb83485047812b3fc05522707af40a076bdf3c0c2f2a48e6c0d2", @typed={0x14, 0x81, 0x0, 0x0, @ipv6=@ipv4={[], [], @empty}}]}]}, 0x140}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:43 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)) 03:49:43 executing program 5 (fault-call:1 fault-nth:0): r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:43 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000340)=0xfffffffffffffe6e) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000380)=ANY=[@ANYBLOB="3c000000100085060000ee00000000000000ff00", @ANYRES32=r2, @ANYBLOB="fe000000000000001c0012000c000100626f6e64000000000c000200080001"], 0x3c}}, 0x0) r3 = socket$kcm(0x10, 0x2, 0x10) r4 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000040)='IPVS\x00') sendmsg$IPVS_CMD_NEW_DAEMON(r3, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000001c0)={0x58, r4, 0x1, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_DAEMON={0x44, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_STATE={0x8, 0x1, 0x1}, @IPVS_DAEMON_ATTR_MCAST_IFN={0x14, 0x2, 'vcan0\x00'}, @IPVS_DAEMON_ATTR_SYNC_ID={0x8}, @IPVS_DAEMON_ATTR_MCAST_GROUP6={0x14, 0x6, @mcast1}, @IPVS_DAEMON_ATTR_STATE={0x8, 0x1, 0x2}]}]}, 0x58}}, 0x0) ioctl$VIDIOC_G_FMT(0xffffffffffffffff, 0xc0d05604, &(0x7f0000000640)={0xa, @sliced={0x2, [0x6, 0x1, 0x8, 0x4, 0x1000, 0x7, 0x8, 0x9e1, 0x938, 0xa14, 0x0, 0x3, 0x2, 0x2, 0x8, 0x101, 0x1, 0x0, 0x9531, 0x80, 0x5e77, 0x7ff, 0x5, 0x8, 0x0, 0x8, 0x200, 0x6, 0x8, 0x2, 0x401, 0xfffa, 0x8d48, 0x2, 0x101, 0x6, 0x4, 0x31fe, 0x6, 0x4, 0x1, 0x6, 0x26, 0x742, 0x0, 0x5, 0x7994, 0x1], 0x4}}) sendmsg$IPVS_CMD_GET_SERVICE(r1, &(0x7f0000000300)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000280)={&(0x7f00000003c0)={0x8c, r4, 0x20, 0x70bd2b, 0x25dfdbfb, {}, [@IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0xe41}, @IPVS_CMD_ATTR_DAEMON={0xc, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_SYNC_MAXLEN={0x6, 0x4, 0x51}]}, @IPVS_CMD_ATTR_TIMEOUT_TCP_FIN={0x8, 0x5, 0x7f}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x3}, @IPVS_CMD_ATTR_DAEMON={0x28, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_MCAST_IFN={0x14, 0x2, 'syzkaller0\x00'}, @IPVS_DAEMON_ATTR_SYNC_ID={0x8}, @IPVS_DAEMON_ATTR_SYNC_MAXLEN={0x6, 0x4, 0x401}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x5}, @IPVS_CMD_ATTR_DEST={0xc, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_TUN_TYPE={0x5, 0xd, 0x1}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x4}, @IPVS_CMD_ATTR_TIMEOUT_TCP_FIN={0x8, 0x5, 0x9}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x2}]}, 0x8c}, 0x1, 0x0, 0x0, 0x1}, 0x4044801) r5 = socket$nl_route(0x10, 0x3, 0x0) r6 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r6, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r7) setsockopt$inet_IP_XFRM_POLICY(0xffffffffffffffff, 0x0, 0x11, &(0x7f0000000540)={{{@in=@multicast1, @in=@empty, 0x4e20, 0x6e1c, 0x4e23, 0x9, 0x2, 0xa0, 0xa0, 0x41, 0x0, r7}, {0x8000, 0x2, 0x80000000, 0x10001, 0x80000000, 0x0, 0x96, 0x4}, {0x4, 0xfff, 0x2, 0x1f}, 0x5, 0x6e6bb9, 0x1, 0x1, 0x2}, {{@in6=@local, 0x4d5, 0x6c}, 0xa, @in=@multicast1, 0x0, 0x4, 0x1, 0x9, 0x2, 0x7, 0x9}}, 0xe8) r8 = socket$netlink(0x10, 0x3, 0xb) r9 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r9, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r8, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=@newlink={0x20, 0x10, 0x825, 0x0, 0x0, {0xa, 0x0, 0x0, r10, 0x3}}, 0x20}}, 0x0) sendmsg$nl_route(r5, &(0x7f00000002c0)={0x0, 0x5000000, &(0x7f0000000240)={&(0x7f0000000500)=@newlink={0x20, 0x11, 0x40d, 0x0, 0x0, {0x10, 0x0, 0x0, r2}}, 0x20}}, 0x0) [ 185.686196][ T9190] xfs: Unknown parameter 'appraise_type' [ 185.712132][ T9195] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:43 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@grpid='grpid'}, {@grpid='grpid'}, {@discard='discard'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) [ 185.738342][ T9197] netlink: 'syz-executor.4': attribute type 1 has an invalid length. 03:49:43 executing program 2 (fault-call:1 fault-nth:0): r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)) 03:49:43 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x12c, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x115, 0x0, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}, @generic="92fc3555c96f787fa7b40c6fd7f2fe385ff27aba93f3063be7c5b3b769e07d00aa2a188ca6acaec19a45b37c039b8c5461d027a897148c1141312a940f82362c31d1d430202b649d9a2f0ab0852bd0285841916e530067fa1891f70d0e9ac6c1d0f2bbf4166c322dca30", @generic="0f5632ac02d1291b9ccdab0cca032d3c31a2b7192d2368f29dce77ca4c1e4c669b99b9c67dc2d7355c707bc54f84a14b6c4ff61a94b89b438859f1b7aa06f132d507068e7ce2a9a72a806a112d6cc4649d72c01e6c904e322aa3acf6302f30832483d3167b3ee55bff017543a3645c12b227e8bcf05f87abefdb83485047812b3fc05522707af40a076bdf3c0c2f2a48e6c0d2"]}]}, 0x12c}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:43 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:43 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x98, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x82, 0x0, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}, @generic="92fc3555c96f787fa7b40c6fd7f2fe385ff27aba93f3063be7c5b3b769e07d00aa2a188ca6acaec19a45b37c039b8c5461d027a897148c1141312a940f82362c31d1d430202b649d9a2f0ab0852bd0285841916e530067fa1891f70d0e9ac6c1d0f2bbf4166c322dca30"]}]}, 0x98}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) [ 185.892410][ T9233] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 185.917857][ T9200] IPVS: Error joining to the multicast group [ 185.928882][ T9200] netlink: 'syz-executor.4': attribute type 1 has an invalid length. [ 185.950193][ T9240] xfs: Unknown parameter 'appraise_type' [ 185.959355][ T9242] FAULT_INJECTION: forcing a failure. [ 185.959355][ T9242] name failslab, interval 1, probability 0, space 0, times 1 [ 185.977827][ T9242] CPU: 0 PID: 9242 Comm: syz-executor.2 Not tainted 5.9.0-rc5-syzkaller #0 [ 185.986415][ T9242] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 185.996498][ T9242] Call Trace: [ 185.999798][ T9242] dump_stack+0x198/0x1fd [ 186.004143][ T9242] should_fail.cold+0x5/0x14 [ 186.008743][ T9242] ? tomoyo_realpath_from_path+0xc3/0x620 [ 186.014498][ T9242] should_failslab+0x5/0xf [ 186.016444][ T9247] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 186.018913][ T9242] slab_pre_alloc_hook.constprop.0+0xf4/0x1f0 [ 186.018943][ T9242] __kmalloc+0x6f/0x360 [ 186.018976][ T9242] tomoyo_realpath_from_path+0xc3/0x620 [ 186.037715][ T9200] bond2 (uninitialized): Released all slaves [ 186.037756][ T9242] ? tomoyo_profile+0x42/0x50 [ 186.051313][ T9197] IPVS: Error joining to the multicast group [ 186.053956][ T9242] tomoyo_path_number_perm+0x1d5/0x590 [ 186.053972][ T9242] ? tomoyo_path_number_perm+0x18d/0x590 [ 186.053992][ T9242] ? tomoyo_execute_permission+0x4a0/0x4a0 [ 186.054007][ T9242] ? find_held_lock+0x2d/0x110 [ 186.054041][ T9242] ? ksys_write+0x212/0x250 [ 186.086081][ T9242] ? __mutex_unlock_slowpath+0xe2/0x610 [ 186.091648][ T9242] ? __fget_files+0x294/0x400 [ 186.096335][ T9242] security_file_ioctl+0x50/0xb0 [ 186.101276][ T9242] __x64_sys_ioctl+0xb3/0x200 [ 186.105956][ T9242] do_syscall_64+0x2d/0x70 [ 186.110372][ T9242] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 186.116280][ T9242] RIP: 0033:0x45d5f9 [ 186.120175][ T9242] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 186.139777][ T9242] RSP: 002b:00007fbc9d15cc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 186.148190][ T9242] RAX: ffffffffffffffda RBX: 00000000000193c0 RCX: 000000000045d5f9 [ 186.156164][ T9242] RDX: 00000000200005c0 RSI: 000000000000541c RDI: 0000000000000003 [ 186.164139][ T9242] RBP: 00007fbc9d15cca0 R08: 0000000000000000 R09: 0000000000000000 [ 186.172109][ T9242] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 186.180097][ T9242] R13: 00007ffdef477c0f R14: 00007fbc9d15d9c0 R15: 000000000118cf4c [ 186.206733][ T9242] ERROR: Out of memory at tomoyo_realpath_from_path. 03:49:44 executing program 0: syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000000, 0x30, &(0x7f0000000200)=[{&(0x7f0000010000)="95a89b50000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b000001000000000001000000000000005f42485266535f4d0500000000000000001050000000000000101000000000000000000000000000000000000000000000000001000000000080000000000000060000000000000001000000000000000010000000100000001000000010000061000000040000000000000000000000000000000000000000000000450100000000000000000000000100000000000000000000010000000000007200000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009285d76443324aa0aee28914d548af887ddc34fcb256496a8775194356e1b78b00"/320, 0x140, 0x10000}, {&(0x7f0000010200)="0000000000000000000000ffffffffffffffff00"/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e40000100000000000000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009285d76443324aa0aee28914d548af8800"/128, 0x80, 0x10000}, {&(0x7f0000010400)="0000000000000000000010500000000000050000000000000000101000000000000400000000000000002050000070500000000000040000000000000000805000000000000400000000000000000000010000000000800000000000000100000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000050000000000002000000000000000080100000000000020000000000000000601000000000000200000000000000004010000000000001000000000000000070100000000000020000000000000000501000000000000100000000000000000000010000000000600000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050000000000003000000000000000000100000000000030000000000000000305000000000000300000000000000004050000000000003000000000000000020500000000000030000000000000000501000000000000100000000000000000000010000000000600000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005050000000000004000000000000000010100000000000040000000000000000605000000000000400000000000000000050000000000004000000000000000070500000000000040000000000000000805000000000000400000000000000000000010000000000800000000000000100"/638, 0x27e, 0x10b20}, {&(0x7f0000010700)="6c73cf0e000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00001000000000000100000000000001f26386fb4fd44736919bf8475e274c390300000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="0000000000000000000000000000000019000000000002000000000000000000010000000000050000000000000000000100000001000010000001000100010000000000000000006900000000009285d76443324aa0aee28914d548af88000019000000000002000000000000000000010000000000050000000000000000000100000001000010000001000100010000000000000000005000000000009285d76443324aa0aee28914d548af88000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009285d76443324aa0aee28914d548af880100000000000000000000010000000000007200000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009285d76443324aa0aee28914d548af887ddc34fcb256496a8775194356e1b78b17dc4d1c000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00101000000000000100000000000001f26386fb4fd44736919bf8475e274c390400000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/576, 0x240, 0x100ea0}, {&(0x7f0000010b00)="0000000000000000000000000000000019000000000002000000000000000000010000000000050000000000000000000100000001000010000001000100010000000000000000006900000000009285d76443324aa0aee28914d548af88000019000000000002000000000000000000010000000000050000000000000000000100000001000010000001000100010000000000000000005000000000009285d76443324aa0aee28914d548af88000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009285d76443324aa0aee28914d548af880100000000000000000000010000000000007200000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009285d76443324aa0aee28914d548af887ddc34fcb256496a8775194356e1b78b7cb3f0e9000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00201000000000000000000000000001f26386fb4fd44736919bf8475e274c390100000000000000030000000000000002000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e00005000"/512, 0x200, 0x101ea0}, {&(0x7f0000010d00)="0000000000000000000000000000000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009285d76443324aa0aee28914d548af880100000000000000000000010000000000004000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009285d76443324aa0aee28914d548af887ddc34fcb256496a8775194356e1b78b6d9a7957000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00301000000000000000000000000001f26386fb4fd44736919bf8475e274c390100000000000000040000000000000001000000000100000000000000cc00001000000000006b0f0000300000000000", 0x140, 0x102f40}, {&(0x7f0000010f00)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000f26386fb4fd44736919bf8475e274c3948edb66a000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00401000000000000000000000000001f26386fb4fd44736919bf8475e274c3901000000000000000500000000000000", 0xa0, 0x103fc0}, {&(0x7f0000011000)="d55f609000f5ff000000000000000000000000000000000000000000000000007ddc56496a8775194356e1b78b00501000000000000000000000000001f26386fb4fd44736919bf8475e274c3901000000000000000700000000000000", 0x5d, 0x105000}, {&(0x7f0000011100)="885389c6000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00601000000000000100000000000001f26386fb4fd44736919bf8475e274c39020000000000000002000000000000000a000000000000100000000000c00000400000000000830f0000180000000040100000000000a900000000000000006b0f0000180000000040100000000000b005000000000000006b0f0000000000000050100000000000a90000000000000000530f0000180000000050100000000000b00700000000000000530f0000000000000060100000000000a90000000000000000320f0000210000000070100000000000a90000000000000000110f0000210000000080100000000000a90000000000000000f00e0000210000000000500000000000a90000000000000000cf0e0000210000000000500000000000c00000190000000000b70e0000180000000000500000000000c00000190000000000d80e0000180000000000500000000000c000001900000000000b0f0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000190000000000f30e000018", 0x1c0, 0x106000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000001000000000000000010000000000000500000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b0020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000000500000000000000001000000000000020000000000000002c22343000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00701000000000000100000000000001f26386fb4fd44736919bf8475e274c390200000000000000040000000000000002000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f00003000"/416, 0x1a0, 0x106f00}, {&(0x7f0000000680)="0300000000000000000100000000000000005000000000000000190000000000f26386fb4fd44736919bf8475e274c390300000000000000000100000000000000001000000000000000400000000000f26386fb4fd44736919bf8475e274c395fd75ff5000000000000000000000800000000000000000000000000000020007ddc34fcb256496a8775194356e1b78b00801000000000000100000000000001f26386fb4fd447369110968c762b4754249bf8475e274c3902000000000000f4e3d9bd174600030000000003000000000100000000000f3fd80100000000000000390f0000620001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e00005000"/291, 0x123, 0x107fa0}, {&(0x7f0000011700)="19000000000002000000000000000000010000000000050000000000000000000100000001000010000001000100010000000000000000005000000000009285d76443324aa0aee28914d548af880000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000001d0000001000000000009285d76443324aa0aee28914d548af880100000000000000000000010000000000005900000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009285d76443324aa0aee28914d548af887ddc34fcb256496a8775194356e1b78b", 0x100, 0x8000000000108f04}, {&(0x7f0000011800)="268926f4000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00005000000000000100000000000001f26386fb4fd44736919bf8475e274c390400000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x500000}, {&(0x7f0000011900)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f315f5f00000000000000005f315f5f00000000000000005f315f5f00000000000000005f315f5f0000000000000000a67ec999000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00105000000000000100000000000001f26386fb4fd44736919bf8475e274c39050000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x220, 0x500f42}, {&(0x7f0000011c00)="0000000000000000000000000000000000000000040000000000000000010000000000000090500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x501560}, {&(0x7f0000011d00)="00000000000000000000000400000000000000000000000000000000a050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x501720}, {&(0x7f0000011e00)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x501840}, {&(0x7f0000011f00)="0000040000000000000000000000000000000080500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x5018e0}, {&(0x7f0000012000)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f315f5f00000000000000005f315f5f00000000000000005f315f5f00000000000000005f315f5f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5019e0}, {&(0x7f0000012200)="000000000000000000000400000000000000000100000000000000005000000000000000000000000000001000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000002c125c9ef2184c0ca78a7f79517bfdf900"/128, 0x80, 0x501b60}, {&(0x7f0000001940)="00000000030000000000000000000000005f315f82f61e513e329a75b95f00000000000000005f315f5f0000000000000000000000000000000000e1ffa2e69a28855be137930902f0889a68d2e4da47692316f3af528a5f794e5ad6c741f0fd65dbf4b70321c03dac516976aa73bca74a00"/144, 0x90, 0x501c00}, {&(0x7f0000012400)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x501c80}, {&(0x7f0000012500)="000000000000000000000000000000000000040000000000000000000000000000000070500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x501d20}, {&(0x7f0000012600)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x501e40}, {&(0x7f0000012700)="000000000000000000050000000000000000000000000000000020500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x501ee0}, {&(0x7f0000012800)="89e06a3c000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00205000000000000100000000000001f26386fb4fd44736919bf8475e274c39050000000000000002000000000000000b000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000a90000000000000000410f0000210000000000500000000000c00000190000000000290f0000180000000010500000000000a90000000000000000080f00002100000000205000000e0000210000000070500000000000a900000000000000000000000000a90000000000000000a50e0000210000000090500000000000a90000000000000000840e00002100000000a0500000000000a90000000000000000630e0000210000000000690000000000c000001900000000004b0e0000180000000000690000000000c000001900000000004b0e0000180000000000690000000000c000001900000000002a0e0000180000000000500000000000c00000190000000000f30e000018", 0x1a8, 0x502000}, {&(0x7f0000012a00)="0000000000000000000000000000000000000000000000010000000000000500000000000000010000000000000004000000000000000000010000000000000500000000000000010000000000000004000000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000005000000000000000200000000000000b00100000000000000007000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b0030000000000000000100000000000000001000000000000020000000000000000f2b5a8000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00305000000000000100000000000001f26386fb4fd44736919bf8475e274c39030000000000000002000000000000000a000000000000100000000000a900000000000000007a0f0000210000000000100000000000c00000400000000000620f0000180000000050100000000000a900000000000000004a0f0000180000000050100000000000b007000000000000004a0f0000000000000000500000000000c00000190000000000320f0000180000000010500000000000a90000000000000000110f0000210000000020500000000000a90000000000000000f00e0000210000000030500000000000a90000000000000000cf0e0000210000000040500000000000a90000000000000000ae0e0000210000000000690000000000c00000190000000000960e0000180000000000500000000000c00000190000000000ae0e0000180000000000690000000000c00000190000000000960e0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000190000000000f30e000018", 0x360, 0x502e62}, {&(0x7f0000012e00)="000000000000000000000000010000000000000500000000000000000000000000000000010000000000000500000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000010000000000000003000000000000000200000000000000b00100000000000000004000000000000000010000000000000500000000000000010000000000000001000000000000000200000000000000002000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000864f7391000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00405000000000000100000000000001f26386fb4fd44736919bf8475e274c390300000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/448, 0x1c0, 0x503ee0}, {&(0x7f0000013000)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f315f5f00000000000000005f315f5f00000000000000005f315f5f00000000000000005f315f5f00000000000000003eab921d000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00505000000000000100000000000001f26386fb4fd44736919bf8475e274c39040000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x220, 0x504f40}, {&(0x7f0000013300)="0000000000000000000000000000000000000000040000000000000000010000000000000090500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x505560}, {&(0x7f0000013400)="00000000000000000000000400000000000000000000000000000000a050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x505720}, {&(0x7f0000013500)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x505840}, {&(0x7f0000001a00)="00000400000000000000000000000000000000805000000000000000000000000000001000000000000000000000000000000000000000e01e765b273d7183000000000000000000000000000000000000040000000000100000000000000000005caecad043b65e1e908618f033f83d8f78e97c93da73b7fbcd4af0b26194f0af55f02c8d0f61f9109910d50f15dc8b5f296cbac9eef7d7b6ad78787b4a6d9c3f0c9b7298c7cda8390ea97b8445f877114cb0dd868610e07d5b2d65a75eb2491874eed33f4f1981020f60b56c05a50aa4a8eeb175935309c3531ca6c6a5ec3676a51f48", 0xe4, 0x5058e0}, {&(0x7f0000001b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100800000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f315f5f00000000000000005f315f5f00000000000000005f315f5f00000000000000005f315f5f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41244a9a7bc43fd50b8ab0eab63b8936a7cfdb16385f7e31c0a945c4d8de98753df03f0c2b43483977e4ab89dd118d7f433ee1599f", 0x154, 0x5059e0}, {&(0x7f0000013900)="000000000000000000000400000000000000000100000000000000005000000000000000000000000000001000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000002c125c9ef2184c0ca78a7f79517bfdf900"/128, 0x80, 0x505b60}, {&(0x7f0000013a00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00_1__\x00\x00\x00\x00\x00\x00\x00\x00_1__\x00'/64, 0x40, 0x505c00}, {&(0x7f0000013b00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x505c80}, {&(0x7f0000013c00)="000000000000000000000000000000000000040000000000000000000000000000000070500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x505d20}, {&(0x7f0000013d00)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x8}, {&(0x7f0000013e00)="000000000000000000040000000000000000000000000000000060500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000", 0x60, 0x505ee0}, {&(0x7f0000013f00)="2fd8c355000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00605000000000000100000000000001f26386fb4fd44736919bf8475e274c39040000000000000002000000000000000b000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000a90000000000000000410f0000210000000000500000000000c00000190000000000290f0000180000000050500000000000a90000000000000000080f0000210000000060500000000000a90000000000000000e70e0000210000000070500000000000a90000000000000000c60e0000210000000080500000000000a90000000000000000a50e0000210000000090500000000000a90000000000000000840e00002100000000a0500000000000a90000000000000000630e0000210000000000690000000000c000001900000000004b0e0000180000000000690000000000c00000190000000000960e0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000190000000000f30e000018", 0x1c0, 0x506000}, {&(0x7f0000014100)="00000000000000000000000000000000000000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000004000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00100000000000000007000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b003000000000000000010000000000000000100000000000002000000000000006bd8db4d000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00705000000000000100000000000001f26386fb4fd44736919bf8475e274c390400000000000000040000000000000003000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f0000300000000100000000000000cc00006900000000000b0f00003000"/544, 0x220, 0x506ea0}, {&(0x7f0000014400)="000000000000000000000000000000000300000000000000000100000000000000006900000000000000190000000000f26386fb4fd44736919bf8475e274c390300000000000000000100000000000000005000000000000000190000000000f26386fb4fd44736919bf8475e274c390300000000000000000100000000000000001000000000000000400000000000f26386fb4fd44736919bf8475e274c396fe28ed2000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00805000000000000100000000000001f26386fb4fd44736919bf8475e274c3904000000000000000700000000000000", 0x100, 0x507f60}, {&(0x7f0000014500)="4afa746b000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00905000000000000100000000000001f26386fb4fd44736919bf8475e274c390400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x509000}, {&(0x7f0000014600)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f315f5f00000000000000005f315f5f00000000000000005f315f5f000000000000000000000000000000000000000060cddede000000000000000000000000000000000000000000000000000000007ddc34fcb256496a8775194356e1b78b00a05000000000000100000000000001f26386fb4fd44736919bf8475e274c390400000000000000090000000000000001000000002c125c9ef2184c0cfba78a7f79517bfdf9930f0000080000000000", 0x140, 0x509f40}, {&(0x7f0000014800)="0000000000000000000000000000000000000000000000000500000000000000", 0x20, 0x50afe0}], 0x0, &(0x7f0000014900)) syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000080)='./file0\x00', 0x5, 0x5, &(0x7f00000018c0)=[{&(0x7f00000007c0)="c10a0bfbacfae638c648eb72cd7f1b707d90bfb4bb811d55fc312d4c296c315128b11b31f48b56323f9f9ed19855ace6cc9b285ff37557e730b817c8defd20456f7c11e08b0cdc54ceb8ff172cd1166d6814cee2e1777e6852f5c7139184f352687d07e9dc1e7b10264f05e69fb474e965bf390fe65154c0acdd2a36cdb8649791114b9a85d98c7509130d54802fb96126bd5bd2861087968f613b9e7e23b3240b3a69bcca26b460e5d0d8131af8cf4a8a25d2348fe59e951ec0f4e949d52013becf562cb4cc322438271bcaf20fb20d6cd816580bf44b9e06c69204309eebae267b83849c66a1feb492a4f8f3", 0xed, 0x2d7}, {&(0x7f00000008c0)="10ae9f852ee7b1beab34f9ddb7aaa48fc52e35eb7130487967e2d33fc9058b8fb6faafa208972161d4d6796680ec1d73643b599a7b3168671422ba73af5dfa67031a893a2db32cd9a43933d5546d7a2737aef8873a649c5f6285355ed44c67f53ed3d1ea08a74696e160b9084c84209beafe1c2083753189c352ab6533a0bdc7d902c20f977b91d2f3423d2e117ba65481aae3b54ceceed18d9cd5955f63898b3571588900213b5ae31bb8e5e26aaa8d939574729e67c7d7364c2390021baa00a8db1f8a2480127bdde4b5960d86d1377b016e2f27a0c1e43752f6239dda3b7afc483a696b50bd086c26cfb2c227aaa502c4bf976f6fdc271bd28e472113a70b8080df3f7c7f20b87c9ad2fd6608f991fb201c1ee0cc2dc3bcce30640d157810fbd823cce054090690ae6b91df818d9c254271daea5cbb34d64ba8153de41a8e59413e3f6c6170926dc28c554942f9721a92df9fb5b7db9568f4959897d7b2a68708bbe2fbfc3c8a216d91300bce33a0bb86be44b787c3b71471206ec3cda275971c2c684aefa783b2756edd59bff7ef0678a093a8ed28779f8f6b9d2186d38d8539c1ac93490d344109adb5206c3fdd5aee716fb6d138a8c2f8e99ac759e913df885d8804225b1a40b4540c6d2197bb26f7e1052ad8f5fce09d1dc57d5fdb91e4592ba4fde0055975499d91a97667b18410558eea9a0a1e2f2982a139d3ae403564ff5d1693220132563c4a1247c708f05059f259754f6a42a16d078d4ba68eb0bc140567b6ed41828c245c18da489c4922f4eebfef06167369c4c49dd4cd2ba2ebd4750b8948695a51cf2cb2a4861842ebe637337d0a4b08bea10c2e7cd30920b9170d86677587c962d14c423c6678d4bdf42c124476a36cf4ac5a36975ee99b6b28c7dbd9e9978d8dd7a15ae14107b1f1b6a799b357bba56ce91d3b5426fa0990b3ce47d4c6cdb1d265c00b9cad0a3c7dc1fc1030a96fb97668820288617eb12cd87916fc6819097b00361fe7f4d412fca9e0fd35ac1f6deb1987ad2be870bde9077981bbabe83e1dcb2f4023b35c3cc80e7891ebb293f54adefcf432029c23dd9a56af25f4ed39e70f640ce46042d6a9d79ec5de6a594d55e73f66bc476fe410db7d736bf02d4ef8387b8d5e83228f1eec3ca6299a259379b0c237545544e5838b5f3f7df8723d421c87eb487ad0f0628344e5e8b0643ce899f03f59af0698212b62b6533687e5dabb0714280ecf2a3cd7f8dab42b3255f9c6de62ba4d6251f88ad4801b4a0751d8868cdbc434832c0c451324970dc0e235a31585746f9b49f03123090a45c47d31c1326035c6418ce930698523692fc1466afc97bd433513f860bcf84dbacadc4aa7745136291d0470709001dab47c8a29e9c303c25d8cf03e65f4d0a4b95f94dbc97346a41aefe85e7daf66a9334a77aabbedb514b13896fe74a2c29e1ff49ca200ff68340f5d8a944d5028e8ceb7e52381d6bef6f740cb3432dbc120f9ab0da1625460fd776e67c51605566867d0ca6cbdb5db69f0677bbbc3e91dac820f6e310a59399e05d9543b1175fa499c279cbfe3555a9a89b034efbf9ad708e9e3ba7933ab380661a057f11384d806be792953e14953bab6be8b3e423faec8f5adbe7a56deb9aa57968445e749c48732be71169c2461a8f0d76e0182519c6c016812b26155b90b8db1872f2764a114554d821f3df0ae333ee6fba4f7b7d0faab33919293ac39fe3617f2082472006ff027be89a4dd0caf1fc4882c374c6aeb71410962ca44a545ca0e7ea7e6ffa7275f5ecc7ef904c86d9f24809b2cc4832d76e41cdc6ac689631eeeb657fa85d36b0ed96a05240388cab2c089630d634d9001d833e659a0bdb3ca093c74152f106d3f669726290f7f496d34586e3e97c10150a6ee969cfed98fc52d2f8a3355d4cf3f775a4d2eff8b3b3b28b6ef92c19bef37d50eab24f03abadc5f5a0b8d847842613739a1b89968807645b0336f87f0c8330d7161cf6fa7d6dd46dc777be86848ed88276e3c8d330eef3d1910a526c7bcfa6f008d9d876cdc79e039f245673a4dd03e51aca2a1ae691225d3b292deb7d89b3b273e275218bd036823d39cd16bfc2c002d5871f667866087107cdda58e4b7642ff451680a140324cd1ce405be477ab5476ac7750b814e013ffafcbef09ecebdd908db159398faf2c0db004b1e8ed5c372b86d90283cc9832e61614f3d28d35eb2311797639b1e8b631faf40f3e010c8c011da95d631b40ba48a169e5d4cacdd441609970b49a395692d51ea541f44cc850a98352128bc85b2ba42cf5f3f4c3dc195b4c96349b98c6bc033fbaa96aa61df99081e2e632faa7948ce64ea571ed6ed99bf61996dfefde0bc738c5ef5899fd792e17aad8983e5901a0609894ea585cba31c8752b38e844792a869f7063e4962fe4e3f722f58dadcff98c1d7023318bb78458dba8100a6a17e6366ae47551c48e08877a0ccf7b8ea765134a9a60aaeb7b83362aa0bf1de5cdf7c6a12cc009e7599b6977299117a14e5320ddc7e6e0be06d802315c45c6674326136c035e3a6efdce7e608d7876aad00567d5ac9320eecabf331300bae48b3b0b891462c3b4f474c8ef8525597670e368475efaaf4216efcc614fa22d2abe622ea0100c342899523a6562de53bfb9f1bf9aa1d2b7d968a4bb6f0db530797eb32529ff6102cd2ee13e5ed561e65c2229ca678c4aab42da0353313f95b03c371ca9bcf7bce4d8859403ab76620414474d4a5efac640fe8894162cf0399ec56de335f53568d462b3a9e83154b167609e330beb228ea839f34153d41db2fe55e7b95d7d0460d15b6a2c6f1ec05b1f55bb9d866e26331882c2265e772f51ea165705234e7b9387e9d15ab8106a3890fd36f5731e8d5e27300a75f623d554a271509394bb5a2a9724316aa97ab19a6f6b9919d604cb459e9962ad2420971d90e1997d6cd6d3d2d9944d463bb59a9a6141f50818b01860d906b4398a4991c658a6483f24c32bd6a604b9c3661c1a638240296e2d1ea9fdf812b92704949ff18d7fcd69f671828f2fef05ef7ebdf3da4e636095c719fc8d96edf1405bb59887499d8d1d1dd9a68e573744f7adb1945bd56b84d9858e90c289b919e52e735f119b5aa71c6bef9fef13084f3217683e7c01faf012102be9292cb07b0ef67f65ef4a2d1da272c6948c35c63283c335ba50ada6e974a0ab23764d3f34062388b59f4afd6182d64c5d7ecc16fcf13d0850c88f4318f866bce366ece4a303232e3ca220d476607c128ff142bd5fee58ee45cbe150414a1fb12c7e5c22dbb6c28422c1a4d983804f40e9409663286a349f2d67981e89ff90b771337cc50fd07d655659b7460fedcebaddd86ac05f4fa2027323ddfaf49b60018b11b6640b92c59878602aea834f8299210837670f87a6642117673750d2d1cc1d15af1dbac42291beadbfda9e6b1fdc7bbf428a62ba30e0daf1fdba81f6647cd355d16e261059fc53c18594cdb379969ac5ea230c544b9051b2d0544c66b60dc257c87cad0aa1251d6ff580ad163b108cebf75a91ba6dcbe04c4c6d56e70aff1140cf0fca86b403cb6b8ce4c292309868074fd2d437b19aebb9b4914babe0d0139e7d55aa121d2e42ee8dfd274ded9b24b7c89f8d8b3477dfa303bf07824c9ea1382a35ffb2c376a14420c8099ec82411fdd9c64f4bd482df41175f760aee767401c3598986e264f0177df024ad4e0c4bf91c4d20c7e1e79ee657ed3c820c5c18040974355673785615942e8e8857ba2c2336e7cfb40d7732e7ccc30359544ddec0a19a1434a73d81b2f901b5bca9a49ef7a9fc64f579bd2b1fefb4e2b71b373d54c6f6c4ec03c1a6339745faa5ba9052795a8b318d2c7360d602ae02fad2239393d7a44a10e9ea82df329dbe43d7399cf147cd6b2cc895ff6cd356167530389e23d9e99bec6f05522aead98a74c0b08d687713067737495ea1d611bd4820c15af2c068b803aa10ab87135baeb69b80bf26a7cc87c17a5caa44e87e0f3779d6c5516844ad830b9a672ad021627a48e12bd6fe5db9c2e87ec64eea093caa4aeb9b5f3d0dcc73d489222a3f79e24d564cf54117c04ac78f332c805b95e88a69327337ddc05143f51d8abfbacd4eb8959b4d5bc168628e44b9433766d678ad3983398846129d91382f39d7c14f44539a3d8e7524c90449d4d5a519d1820045741ad81bbcb9cde15bcf17e265ffa1b071f810a715254666ef76e4842d8be15aa745a208de651ef725a5d48ac085fe8594f32bcbfae72bf1740a01e9168270900ff54e4c0f01918ebd8642be4671c13552abf8e0ae3ba3cbcd4af750e46bd0eff094065fd69e235f748b0ae336a4c437debb864515ccbd0394fcc37cdc60c264c45dd788a254d728e698cca0c596954b4706c1bcacf9ff1a4febe7b39727086d795921fae6c8e36ec5b4e95333ad9c6d42b2f2ea3212447e0dc042d7bc8a24c21e69ea7296c1d268f5d121b97d82e3d5258eea3bd66a4b85bad5c18d7fc1509a5637d37791c11b2604e5fd6300707440d24b81124e965d721418715137385a32ca0f3e52ceae4fe7adc4ec220af52f4f52bf13f568dc80aec8fab56ed0a281ad0d89fd191b4b7bb9de458c79b2bb143915d369d8efad192b6e588ca04ec4df53d373b4cd650f1bd32ef6bdfbeacb3f1935aeedf84873f60b4ce9a632732828dc6c8f00bed77228a68c747d8f96de118a7f420d60ea082c50d3d5610d92399e965b724f5ee960dda6ed16dbf5199ba39a9d614e1f560e809fbee6049ff6db0bc583e6299ba547e66f20a216d18d229cc91e07c2990eed401ab72356c064f1f5bd2f9da5b353ea15ef8eb84756326a41bf43de90913f1d834dc4a01609388db95cabeadf528084ee5620210092afe13b987c820ed2d44a8404a4cb34e86d3d1abe2c6eabbf201b0932fb3742b1ca1985b07fbf5056121975de1ad94547b8f27f9981c5f6f0b5ba2076cc52b96f3c1e5a17495ae5bf827ed9c073217df34f2b694dbd4e5cafea8d3f525ba7304df093177a9161e8d9966a58efa8d4108e7eeb11b3330dc9aab2155452da63cc0c3115d99ad57c3716e31dd8171d71f9ab1b7839b9cf224bebc608ff52f5a760229291be328a863e4a45155151b1ef00f278892bb290ecad5e20e89d3e2601a54b11b7105e717bc6d8d64813b4b917f2fa3d5d118c5d24669938314db4a6c2078c642928d379b6e2bb8011eeaaec523423b6f5cf061c1b6632e616466ae59041dba0ced801636da78b4c809f3e4207d598bab74fb5f19d7cf49ab8b849b88d1e67960aaa5d711f59ddd1659a17f23e0eff3ceedca31a6932e617e5816bb03c93c2ca9bc7a5276b01cd5b0140db4c8de038318cb9b14f1dd276809da4dda671857d63c36c3c993f60ab4648ff536bcdf868854ac6e189cfb4b787e65205b495f61a83ae3a63734702328733c31d4c90d29caeb3c2e623d29553615fd7b75daaeaab672fb14e8c38fb3a99e0336eaa8148afe672e491a53f53a45960e880476eebebbeb7a360607de5f6d117f3e927cc3318733a947dee72399d4afeef9f2837a688d94fe791cf6a8551a16482208a07cf99c503c08446c814cb1c5db7dcc1c8484ebe5a8f6d686b3abc4167b60450ea3037b7ab935ce78d084dd332efbfe058d862ba56806dbcb3368be1dad3706d0e4d82588bc7d9fa17d2acc8e75429cf399541697dae2081aafa71039a32460cc746cc4f83f8739007bd81514a5860fd4c20901a6d2435335defa7c004a248a9da5af2ba7d82", 0x1000, 0x3}, {&(0x7f0000000140)="7afb8bae7ec2810bfb45a1da26c6d0fdc56ddff9ddaf0c0347bb286a37b7eca7a9907006000ebb08ca0c41089218d13a1f4bd8da9d39d7d17c6f9ce8e8e5c8d8328e15dbcf3842feed75f38e19ea0f", 0x4f, 0x7}, {0x0, 0x0, 0x70311814}, {&(0x7f00000000c0)="69ce4cf3d8642d4dd46af925881dbb23160d1021e2c1001208b7b41a564c59a1b677c8ea2962", 0x26, 0x4}], 0x2010820, &(0x7f00000001c0)={[{'+@&},---'}, {'btrfs\x00'}], [{@subj_role={'subj_role', 0x3d, '['}}, {@smackfstransmute={'smackfstransmute', 0x3d, '+}/'}}]}) 03:49:44 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x2, 0xffffffbf000) 03:49:44 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x2c, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x18, 0x0, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}, @typed={0x8, 0x4f, 0x0, 0x0, @uid}]}]}, 0x2c}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:44 executing program 4: syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000000, 0x30, &(0x7f0000000200)=[{&(0x7f0000010000)="709aa334000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab4858000001000000000001000000000000005f42485266535f4d050000000000000000105000000000000010100000000000000000000000000000000000000000000000000100000000008000000000000006000000000000000100000000000000001000000010000000100000001000006100000004000000000000000000000000000000000000000000000045010000000000000000000000010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab485800"/320, 0x140, 0x10000}, {&(0x7f0000010200)="0000000000000000000000ffffffffffffffff00"/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e4000010000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f800"/128, 0x80, 0x10320}, {&(0x7f0000010400)="0000000000000000000000001050000000000005000000000000000010100000000000040000000000000000205000000000000500000000000000000050000000000004000000000000000070500000000000040000000000000000805000000000000400000000000000000000010000000000800000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000002000000000000000080100000000000020000000000000000601000000000000200000000000000004010000000000001000000000000000070100000000000020000000000000000501000000000000100000000000000000000010000000000600000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050000000000003000000000000000000100000000000030000000000000000305000000000000300000000000000004050000000000003000000000000000020500000000000030000000000000000501000000000000100000000000000000000010000000000600000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005050000000000004000000000000000010100000000000040000000000000000605000000000000400000000000000000050000000000004000000000000000070500000000000040000000000000000805000000000000400000000000000000000010000000000800000000000000100"/640, 0x280, 0x10b20}, {&(0x7f0000010700)="96943140000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800001000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0300000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="000000000000000000000000000000001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000690000000000c6f64906b04b47ec9e003f8854e083f800001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000c6f64906b04b47ec9e003f8854e083f800004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f8010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab4858ed3bb352000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800101000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/576, 0x240, 0x100ea0}, {&(0x7f0000010b00)="000000000000000000000000000000001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000690000000000c6f64906b04b47ec9e003f8854e083f800001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000c6f64906b04b47ec9e003f8854e083f800004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f8010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab4858eec714a8000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800201000000000000000000000000001f9cd200c9d5e426891a1072182b9532a0100000000000000030000000000000002000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e00005000"/512, 0x200, 0x101ea0}, {&(0x7f0000010d00)="000000000000000000000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f8010000000000000000000001000000000000400000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab4858f2c7d858000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800301000000000000000000000000001f9cd200c9d5e426891a1072182b9532a0100000000000000040000000000000001000000000100000000000000cc00001000000000006b0f0000300000000000", 0x140, 0x102f40}, {&(0x7f0000010f00)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000f9cd200c9d5e426891a1072182b9532ab18e122d000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800401000000000000000000000000001f9cd200c9d5e426891a1072182b9532a01000000000000000500000000000000", 0xa0, 0x103fc0}, {&(0x7f0000011000)="2c3cc4d7000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800501000000000000000000000000001f9cd200c9d5e426891a1072182b9532a01000000000000000700000000000000", 0x60, 0x105000}, {&(0x7f0000011100)="71302d81000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800601000000000000100000000000001f9cd200c9d5e426891a1072182b9532a020000000000000002000000000000000a000000000000100000000000c00000400000000000830f0000180000000040100000000000a900000000000000006b0f0000180000000040100000000000b005000000000000006b0f0000000000000050100000000000a90000000000000000530f0000180000000050100000000000b00700000000000000530f0000000000000060100000000000a90000000000000000320f0000210000000070100000000000a90000000000000000110f0000210000000080100000000000a90000000000000000f00e0000210000000000500000000000a90000000000000000cf0e0000210000000000500000000000c00000190000000000b70e0000180000000000500000000000c00000190000000000d80e0000180000000000500000000000c000001900000000000b0f0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000190000000000f30e000018", 0x1c0, 0x106000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000001000000000000000010000000000000500000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000005000000000000000010000000000000200000000000000f09cca80000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800701000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0200000000000000040000000000000002000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f00003000"/416, 0x1a0, 0x106f00}, {&(0x7f0000011500)="0300000000000000000100000000000000005000000000000000190000000000f9cd200c9d5e426891a1072182b9532a0300000000000000000100000000000000001000000000000000400000000000f9cd200c9d5e426891a1072182b9532a636033cf000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800801000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0200000000000000030000000000000003000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e00005000"/288, 0x120, 0x107fa0}, {&(0x7f0000011700)="1900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000c6f64906b04b47ec9e003f8854e083f800004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f8010000000000000000000001000000000000590000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab4858", 0x100, 0x108f00}, {&(0x7f0000011800)="c312efe8000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800005000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x500000}, {&(0x7f0000011900)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f0000000000000000e2dfdbce000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800105000000000000100000000000001f9cd200c9d5e426891a1072182b9532a050000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x220, 0x500f40}, {&(0x7f0000011c00)="0000000000000000000000000000000000000000040000000000000000010000000000000090500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x501560}, {&(0x7f0000011d00)="00000000000000000000000400000000000000000000000000000000a050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x501720}, {&(0x7f0000011e00)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x501840}, {&(0x7f0000011f00)="0000040000000000000000000000000000000080500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x5018e0}, {&(0x7f0000012000)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5019e0}, {&(0x7f0000012200)="000000000000000000000400000000000000000100000000000000005000000000000000000000000000001000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000007d0d22035ebb4dccb2e0b4946f76d6fd00"/128, 0x80, 0x501b60}, {&(0x7f0000012300)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00a1__\x00\x00\x00\x00\x00\x00\x00\x00a1__\x00'/64, 0x40, 0x501c00}, {&(0x7f0000012400)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x501c80}, {&(0x7f0000012500)="000000000000000000000000000000000000040000000000000000000000000000000070500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x501d20}, {&(0x7f0000012600)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x501e40}, {&(0x7f0000012700)="000000000000000000050000000000000000000000000000000020500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x501ee0}, {&(0x7f0000012800)="7083ce7b000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800205000000000000100000000000001f9cd200c9d5e426891a1072182b9532a050000000000000002000000000000000b000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000a90000000000000000410f0000210000000000500000000000c00000190000000000290f0000180000000010500000000000a90000000000000000080f0000210000000020500000000000a90000000000000000e70e0000210000000070500000000000a90000000000000000c60e0000210000000080500000000000a90000000000000000a50e0000210000000090500000000000a90000000000000000840e00002100000000a0500000000000a90000000000000000630e0000210000000000690000000000c000001900000000004b0e0000180000000000690000000000c000001900000000004b0e0000180000000000690000000000c000001900000000002a0e0000180000000000500000000000c00000190000000000f30e000018", 0x1c0, 0x502000}, {&(0x7f0000012a00)="0000000000000000000000000000000000000000000000010000000000000500000000000000010000000000000004000000000000000000010000000000000500000000000000010000000000000004000000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000005000000000000000200000000000000b00100000000000000007000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00300000000000000001000000000000000010000000000000200000000000000f99111ef000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800305000000000000100000000000001f9cd200c9d5e426891a1072182b9532a030000000000000002000000000000000a000000000000100000000000a900000000000000007a0f0000210000000000100000000000c00000400000000000620f0000180000000050100000000000a900000000000000004a0f0000180000000050100000000000b007000000000000004a0f0000000000000000500000000000c00000190000000000320f0000180000000010500000000000a90000000000000000110f0000210000000020500000000000a90000000000000000f00e0000210000000030500000000000a90000000000000000cf0e0000210000000040500000000000a90000000000000000ae0e0000210000000000690000000000c00000190000000000960e0000180000000000500000000000c00000190000000000ae0e0000180000000000690000000000c00000190000000000960e0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000190000000000f30e000018", 0x360, 0x502e60}, {&(0x7f0000012e00)="000000000000000000000000010000000000000500000000000000000000000000000000010000000000000500000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000010000000000000003000000000000000200000000000000b00100000000000000004000000000000000010000000000000500000000000000010000000000000001000000000000000200000000000000002000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b0030000000000000063d4ba8d000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800405000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0300000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/448, 0x1c0, 0x503ee0}, {&(0x7f0000013000)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f00000000000000007a0a804a000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800505000000000000100000000000001f9cd200c9d5e426891a1072182b9532a040000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x220, 0x504f40}, {&(0x7f0000013300)="0000000000000000000000000000000000000000040000000000000000010000000000000090500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x505560}, {&(0x7f0000013400)="00000000000000000000000400000000000000000000000000000000a050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x505720}, {&(0x7f0000013500)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x505840}, {&(0x7f0000013600)="0000040000000000000000000000000000000080500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x5058e0}, {&(0x7f0000013700)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5059e0}, {&(0x7f0000013900)="000000000000000000000400000000000000000100000000000000005000000000000000000000000000001000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000007d0d22035ebb4dccb2e0b4946f76d6fd00"/128, 0x80, 0x505b60}, {&(0x7f0000013a00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00a1__\x00\x00\x00\x00\x00\x00\x00\x00a1__\x00'/64, 0x40, 0x505c00}, {&(0x7f0000013b00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x505c80}, {&(0x7f0000013c00)="000000000000000000000000000000000000040000000000000000000000000000000070500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x505d20}, {&(0x7f0000013d00)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x505e40}, {&(0x7f0000013e00)="000000000000000000040000000000000000000000000000000060500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000", 0x60, 0x505ee0}, {&(0x7f0000013f00)="d6bb6712000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800605000000000000100000000000001f9cd200c9d5e426891a1072182b9532a040000000000000002000000000000000b000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000a90000000000000000410f0000210000000000500000000000c00000190000000000290f0000180000000050500000000000a90000000000000000080f0000210000000060500000000000a90000000000000000e70e0000210000000070500000000000a90000000000000000c60e0000210000000080500000000000a90000000000000000a50e0000210000000090500000000000a90000000000000000840e00002100000000a0500000000000a90000000000000000630e0000210000000000690000000000c000001900000000004b0e0000180000000000690000000000c00000190000000000960e0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000190000000000f30e000018", 0x1c0, 0x506000}, {&(0x7f0000014100)="00000000000000000000000000000000000000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000004000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00100000000000000007000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b003000000000000000010000000000000000100000000000002000000000000000d5ee0b7000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800705000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000040000000000000003000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f0000300000000100000000000000cc00006900000000000b0f00003000"/544, 0x220, 0x506ea0}, {&(0x7f0000014400)="000000000000000000000000000000000300000000000000000100000000000000006900000000000000190000000000f9cd200c9d5e426891a1072182b9532a0300000000000000000100000000000000005000000000000000190000000000f9cd200c9d5e426891a1072182b9532a0300000000000000000100000000000000001000000000000000400000000000f9cd200c9d5e426891a1072182b9532a96812a95000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800805000000000000100000000000001f9cd200c9d5e426891a1072182b9532a04000000000000000700000000000000", 0x100, 0x507f60}, {&(0x7f0000014500)="4b268175000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800905000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x509000}, {&(0x7f0000014600)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f00000000000000000000000000000000000000004656dfc1000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800a05000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000090000000000000001000000007d0d22035ebb4dccfbb2e0b4946f76d6fd930f0000080000000000", 0x140, 0x509f40}, {&(0x7f0000014800)="0000000000000000000000000000000000000000000000000500000000000000", 0x20, 0x50afe0}], 0x0, &(0x7f0000014900)) r0 = socket$inet6(0xa, 0x1000000000002, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000001fc0)={'ip_vti0\x00'}) getsockopt$IP6T_SO_GET_INFO(r0, 0x29, 0x40, &(0x7f0000000040)={'mangle\x00'}, &(0x7f00000000c0)=0x54) 03:49:44 executing program 2 (fault-call:1 fault-nth:1): r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)) 03:49:44 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@grpid='grpid'}, {@grpid='grpid'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) [ 186.498502][ T9260] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 186.519799][ T9264] FAULT_INJECTION: forcing a failure. [ 186.519799][ T9264] name fail_page_alloc, interval 1, probability 0, space 0, times 1 [ 186.523403][ T9263] xfs: Unknown parameter 'appraise_type' [ 186.533029][ T9264] CPU: 0 PID: 9264 Comm: syz-executor.2 Not tainted 5.9.0-rc5-syzkaller #0 03:49:44 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x24, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x10, 0x0, 0x0, 0x1, [@typed={0x4, 0x15}, @typed={0x8, 0x34, 0x0, 0x0, @ipv4=@local}]}]}, 0x24}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:44 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x12, 0xffffffbf000) [ 186.533040][ T9264] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 186.533045][ T9264] Call Trace: [ 186.533068][ T9264] dump_stack+0x198/0x1fd [ 186.533090][ T9264] should_fail.cold+0x5/0x14 [ 186.533112][ T9264] __alloc_pages_nodemask+0x183/0x790 [ 186.533131][ T9264] ? __alloc_pages_slowpath.constprop.0+0x28c0/0x28c0 [ 186.533162][ T9264] cache_grow_begin+0x71/0x4a0 [ 186.533178][ T9264] cache_alloc_refill+0x27f/0x380 [ 186.533196][ T9264] ? lockdep_hardirqs_off+0x96/0xd0 [ 186.596659][ T9264] ? tomoyo_realpath_from_path+0xc3/0x620 [ 186.602382][ T9264] __kmalloc+0x2f9/0x360 [ 186.606638][ T9264] tomoyo_realpath_from_path+0xc3/0x620 [ 186.612198][ T9264] ? tomoyo_profile+0x42/0x50 [ 186.616898][ T9264] tomoyo_path_number_perm+0x1d5/0x590 [ 186.622359][ T9264] ? tomoyo_path_number_perm+0x18d/0x590 [ 186.628001][ T9264] ? tomoyo_execute_permission+0x4a0/0x4a0 [ 186.633817][ T9264] ? find_held_lock+0x2d/0x110 [ 186.638589][ T9264] ? ksys_write+0x212/0x250 [ 186.643112][ T9264] ? __mutex_unlock_slowpath+0xe2/0x610 [ 186.648673][ T9264] ? __fget_files+0x294/0x400 [ 186.653354][ T9264] security_file_ioctl+0x50/0xb0 [ 186.658309][ T9264] __x64_sys_ioctl+0xb3/0x200 [ 186.662968][ T9264] do_syscall_64+0x2d/0x70 [ 186.667364][ T9264] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 186.673240][ T9264] RIP: 0033:0x45d5f9 [ 186.677138][ T9264] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 03:49:44 executing program 2 (fault-call:1 fault-nth:2): r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)) [ 186.696734][ T9264] RSP: 002b:00007fbc9d15cc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 186.705125][ T9264] RAX: ffffffffffffffda RBX: 00000000000193c0 RCX: 000000000045d5f9 [ 186.713106][ T9264] RDX: 00000000200005c0 RSI: 000000000000541c RDI: 0000000000000003 [ 186.721092][ T9264] RBP: 00007fbc9d15cca0 R08: 0000000000000000 R09: 0000000000000000 [ 186.729084][ T9264] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001 [ 186.737034][ T9264] R13: 00007ffdef477c0f R14: 00007fbc9d15d9c0 R15: 000000000118cf4c 03:49:44 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x1200, 0xffffffbf000) 03:49:44 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@grpid='grpid'}, {@grpid='grpid'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) [ 186.800707][ T9262] BTRFS: device fsid 6edb6276-3baa-481c-a3d4-be3501ab4858 devid 1 transid 5 /dev/loop4 scanned by syz-executor.4 (9262) 03:49:44 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x1c, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x8, 0x0, 0x0, 0x1, [@typed={0x4, 0x15}]}]}, 0x1c}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) [ 186.869945][ T9280] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 186.894179][ T9262] BTRFS info (device loop4): disk space caching is enabled [ 186.950629][ T9262] BTRFS info (device loop4): has skinny extents [ 186.976175][ T9287] xfs: Unknown parameter 'appraise_type' 03:49:45 executing program 0: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fdT', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0, @ANYBLOB=',\x00']) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) r2 = openat$dir(0xffffffffffffff9c, &(0x7f0000004280)='./file0\x00', 0x0, 0x0) syz_fuse_handle_req(r0, &(0x7f00000042c0), 0x2000, &(0x7f00000062c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000006340)={0x20}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) getdents64(r2, 0x0, 0x0) r3 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000000)='/dev/bsg\x00', 0x2002, 0x0) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000080)='nl80211\x00') sendmsg$NL80211_CMD_SET_WIPHY(r3, &(0x7f0000000180)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000140)={&(0x7f00000000c0)={0x68, r4, 0x8, 0x70bd27, 0x25dfdbfc, {}, [@NL80211_ATTR_WIPHY_ANTENNA_TX={0x8, 0x69, 0x3ff}, @NL80211_ATTR_WIPHY_ANTENNA_RX={0x8, 0x6a, 0xfe}, @NL80211_ATTR_WIPHY_FRAG_THRESHOLD={0x8, 0x3f, 0x20}, @NL80211_ATTR_WIPHY_TXQ_PARAMS={0xc, 0x25, 0x0, 0x1, [@NL80211_TXQ_ATTR_CWMIN={0x6, 0x3, 0xa577}]}, @NL80211_ATTR_WIPHY_NAME={0x14, 0x2, 'syzkaller0\x00'}, @NL80211_ATTR_WIPHY_COVERAGE_CLASS={0x5, 0x59, 0x19}, @NL80211_ATTR_WDEV={0xc, 0x99, {0x80, 0x2}}, @NL80211_ATTR_TXQ_QUANTUM={0x8, 0x10c, 0x1}]}, 0x68}, 0x1, 0x0, 0x0, 0x1}, 0x8040) syz_fuse_handle_req(r0, &(0x7f0000006780), 0x2000, &(0x7f0000008780)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000008800)=ANY=[@ANYBLOB="100000"], 0x0, 0x0, 0x0}) 03:49:45 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x2000000, 0xffffffbf000) 03:49:45 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541c, &(0x7f00000005c0)) [ 186.996049][ T9291] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 187.099939][ T9304] fuse: Unknown parameter 'fdT0x0000000000000003' [ 187.119698][ T9310] fuse: Unknown parameter 'fdT0x0000000000000003' [ 187.230570][ T9262] BTRFS info (device loop4): enabling ssd optimizations [ 187.334472][ T9262] BTRFS info (device loop4): checking UUID tree [ 187.388997][ T9262] BTRFS warning (device loop4): failed to start uuid_rescan task [ 187.416328][ T9262] BTRFS warning (device loop4): failed to check the UUID tree: -4 03:49:45 executing program 4: syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000000, 0x30, &(0x7f0000000200)=[{&(0x7f0000010000)="709aa334000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab4858000001000000000001000000000000005f42485266535f4d050000000000000000105000000000000010100000000000000000000000000000000000000000000000000100000000008000000000000006000000000000000100000000000000001000000010000000100000001000006100000004000000000000000000000000000000000000000000000045010000000000000000000000010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab485800"/320, 0x140, 0x10000}, {&(0x7f0000010200)="0000000000000000000000ffffffffffffffff00"/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e4000010000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f800"/128, 0x80, 0x10320}, {&(0x7f0000010400)="0000000000000000000000001050000000000005000000000000000010100000000000040000000000000000205000000000000500000000000000000050000000000004000000000000000070500000000000040000000000000000805000000000000400000000000000000000010000000000800000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000002000000000000000080100000000000020000000000000000601000000000000200000000000000004010000000000001000000000000000070100000000000020000000000000000501000000000000100000000000000000000010000000000600000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050000000000003000000000000000000100000000000030000000000000000305000000000000300000000000000004050000000000003000000000000000020500000000000030000000000000000501000000000000100000000000000000000010000000000600000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005050000000000004000000000000000010100000000000040000000000000000605000000000000400000000000000000050000000000004000000000000000070500000000000040000000000000000805000000000000400000000000000000000010000000000800000000000000100"/640, 0x280, 0x10b20}, {&(0x7f0000010700)="96943140000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800001000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0300000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="000000000000000000000000000000001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000690000000000c6f64906b04b47ec9e003f8854e083f800001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000c6f64906b04b47ec9e003f8854e083f800004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f8010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab4858ed3bb352000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800101000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/576, 0x240, 0x100ea0}, {&(0x7f0000010b00)="000000000000000000000000000000001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000690000000000c6f64906b04b47ec9e003f8854e083f800001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000c6f64906b04b47ec9e003f8854e083f800004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f8010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab4858eec714a8000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800201000000000000000000000000001f9cd200c9d5e426891a1072182b9532a0100000000000000030000000000000002000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e00005000"/512, 0x200, 0x101ea0}, {&(0x7f0000010d00)="000000000000000000000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f8010000000000000000000001000000000000400000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab4858f2c7d858000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800301000000000000000000000000001f9cd200c9d5e426891a1072182b9532a0100000000000000040000000000000001000000000100000000000000cc00001000000000006b0f0000300000000000", 0x140, 0x102f40}, {&(0x7f0000010f00)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000f9cd200c9d5e426891a1072182b9532ab18e122d000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800401000000000000000000000000001f9cd200c9d5e426891a1072182b9532a01000000000000000500000000000000", 0xa0, 0x103fc0}, {&(0x7f0000011000)="2c3cc4d7000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800501000000000000000000000000001f9cd200c9d5e426891a1072182b9532a01000000000000000700000000000000", 0x60, 0x105000}, {&(0x7f0000011100)="71302d81000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800601000000000000100000000000001f9cd200c9d5e426891a1072182b9532a020000000000000002000000000000000a000000000000100000000000c00000400000000000830f0000180000000040100000000000a900000000000000006b0f0000180000000040100000000000b005000000000000006b0f0000000000000050100000000000a90000000000000000530f0000180000000050100000000000b00700000000000000530f0000000000000060100000000000a90000000000000000320f0000210000000070100000000000a90000000000000000110f0000210000000080100000000000a90000000000000000f00e0000210000000000500000000000a90000000000000000cf0e0000210000000000500000000000c00000190000000000b70e0000180000000000500000000000c00000190000000000d80e0000180000000000500000000000c000001900000000000b0f0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000190000000000f30e000018", 0x1c0, 0x106000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000001000000000000000010000000000000500000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000005000000000000000010000000000000200000000000000f09cca80000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800701000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0200000000000000040000000000000002000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f00003000"/416, 0x1a0, 0x106f00}, {&(0x7f0000011500)="0300000000000000000100000000000000005000000000000000190000000000f9cd200c9d5e426891a1072182b9532a0300000000000000000100000000000000001000000000000000400000000000f9cd200c9d5e426891a1072182b9532a636033cf000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800801000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0200000000000000030000000000000003000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e00005000"/288, 0x120, 0x107fa0}, {&(0x7f0000011700)="1900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000c6f64906b04b47ec9e003f8854e083f800004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000c6f64906b04b47ec9e003f8854e083f8010000000000000000000001000000000000590000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000c6f64906b04b47ec9e003f8854e083f86edb62763baa481ca3d4be3501ab4858", 0x100, 0x108f00}, {&(0x7f0000011800)="c312efe8000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800005000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x500000}, {&(0x7f0000011900)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f0000000000000000e2dfdbce000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800105000000000000100000000000001f9cd200c9d5e426891a1072182b9532a050000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x220, 0x500f40}, {&(0x7f0000011c00)="0000000000000000000000000000000000000000040000000000000000010000000000000090500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x501560}, {&(0x7f0000011d00)="00000000000000000000000400000000000000000000000000000000a050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x501720}, {&(0x7f0000011e00)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x501840}, {&(0x7f0000011f00)="0000040000000000000000000000000000000080500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x5018e0}, {&(0x7f0000012000)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5019e0}, {&(0x7f0000012200)="000000000000000000000400000000000000000100000000000000005000000000000000000000000000001000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000007d0d22035ebb4dccb2e0b4946f76d6fd00"/128, 0x80, 0x501b60}, {&(0x7f0000012300)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00a1__\x00\x00\x00\x00\x00\x00\x00\x00a1__\x00'/64, 0x40, 0x501c00}, {&(0x7f0000012400)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x501c80}, {&(0x7f0000012500)="000000000000000000000000000000000000040000000000000000000000000000000070500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x501d20}, {&(0x7f0000012600)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x501e40}, {&(0x7f0000012700)="000000000000000000050000000000000000000000000000000020500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x501ee0}, {&(0x7f0000012800)="7083ce7b000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800205000000000000100000000000001f9cd200c9d5e426891a1072182b9532a050000000000000002000000000000000b000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000a90000000000000000410f0000210000000000500000000000c00000190000000000290f0000180000000010500000000000a90000000000000000080f0000210000000020500000000000a90000000000000000e70e0000210000000070500000000000a90000000000000000c60e0000210000000080500000000000a90000000000000000a50e0000210000000090500000000000a90000000000000000840e00002100000000a0500000000000a90000000000000000630e0000210000000000690000000000c000001900000000004b0e0000180000000000690000000000c000001900000000004b0e0000180000000000690000000000c000001900000000002a0e0000180000000000500000000000c00000190000000000f30e000018", 0x1c0, 0x502000}, {&(0x7f0000012a00)="0000000000000000000000000000000000000000000000010000000000000500000000000000010000000000000004000000000000000000010000000000000500000000000000010000000000000004000000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000005000000000000000200000000000000b00100000000000000007000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00300000000000000001000000000000000010000000000000200000000000000f99111ef000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800305000000000000100000000000001f9cd200c9d5e426891a1072182b9532a030000000000000002000000000000000a000000000000100000000000a900000000000000007a0f0000210000000000100000000000c00000400000000000620f0000180000000050100000000000a900000000000000004a0f0000180000000050100000000000b007000000000000004a0f0000000000000000500000000000c00000190000000000320f0000180000000010500000000000a90000000000000000110f0000210000000020500000000000a90000000000000000f00e0000210000000030500000000000a90000000000000000cf0e0000210000000040500000000000a90000000000000000ae0e0000210000000000690000000000c00000190000000000960e0000180000000000500000000000c00000190000000000ae0e0000180000000000690000000000c00000190000000000960e0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000190000000000f30e000018", 0x360, 0x502e60}, {&(0x7f0000012e00)="000000000000000000000000010000000000000500000000000000000000000000000000010000000000000500000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000010000000000000003000000000000000200000000000000b00100000000000000004000000000000000010000000000000500000000000000010000000000000001000000000000000200000000000000002000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b0030000000000000063d4ba8d000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800405000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0300000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/448, 0x1c0, 0x503ee0}, {&(0x7f0000013000)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f00000000000000007a0a804a000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800505000000000000100000000000001f9cd200c9d5e426891a1072182b9532a040000000000000001000000000000000a000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b7010000f7ffffffffffffff8400000000000000006f040000b701000000", 0x220, 0x504f40}, {&(0x7f0000013300)="0000000000000000000000000000000000000000040000000000000000010000000000000090500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x505560}, {&(0x7f0000013400)="00000000000000000000000400000000000000000000000000000000a050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x505720}, {&(0x7f0000013500)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x505840}, {&(0x7f0000013600)="0000040000000000000000000000000000000080500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x5058e0}, {&(0x7f0000013700)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5059e0}, {&(0x7f0000013900)="000000000000000000000400000000000000000100000000000000005000000000000000000000000000001000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000007d0d22035ebb4dccb2e0b4946f76d6fd00"/128, 0x80, 0x505b60}, {&(0x7f0000013a00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00a1__\x00\x00\x00\x00\x00\x00\x00\x00a1__\x00'/64, 0x40, 0x505c00}, {&(0x7f0000013b00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x505c80}, {&(0x7f0000013c00)="000000000000000000000000000000000000040000000000000000000000000000000070500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x505d20}, {&(0x7f0000013d00)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x505e40}, {&(0x7f0000013e00)="000000000000000000040000000000000000000000000000000060500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000", 0x60, 0x505ee0}, {&(0x7f0000013f00)="d6bb6712000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800605000000000000100000000000001f9cd200c9d5e426891a1072182b9532a040000000000000002000000000000000b000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000a90000000000000000410f0000210000000000500000000000c00000190000000000290f0000180000000050500000000000a90000000000000000080f0000210000000060500000000000a90000000000000000e70e0000210000000070500000000000a90000000000000000c60e0000210000000080500000000000a90000000000000000a50e0000210000000090500000000000a90000000000000000840e00002100000000a0500000000000a90000000000000000630e0000210000000000690000000000c000001900000000004b0e0000180000000000690000000000c00000190000000000960e0000180000000050100000000000b007000000000000000b0f0000000000000000500000000000c00000190000000000f30e000018", 0x1c0, 0x506000}, {&(0x7f0000014100)="00000000000000000000000000000000000000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000004000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00100000000000000007000000000000000010000000000000500000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b003000000000000000010000000000000000100000000000002000000000000000d5ee0b7000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800705000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000040000000000000003000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f0000300000000100000000000000cc00006900000000000b0f00003000"/544, 0x220, 0x506ea0}, {&(0x7f0000014400)="000000000000000000000000000000000300000000000000000100000000000000006900000000000000190000000000f9cd200c9d5e426891a1072182b9532a0300000000000000000100000000000000005000000000000000190000000000f9cd200c9d5e426891a1072182b9532a0300000000000000000100000000000000001000000000000000400000000000f9cd200c9d5e426891a1072182b9532a96812a95000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800805000000000000100000000000001f9cd200c9d5e426891a1072182b9532a04000000000000000700000000000000", 0x100, 0x507f60}, {&(0x7f0000014500)="4b268175000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800905000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x509000}, {&(0x7f0000014600)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061315f5f000000000000000061315f5f000000000000000061315f5f00000000000000000000000000000000000000004656dfc1000000000000000000000000000000000000000000000000000000006edb62763baa481ca3d4be3501ab485800a05000000000000100000000000001f9cd200c9d5e426891a1072182b9532a0400000000000000090000000000000001000000007d0d22035ebb4dccfbb2e0b4946f76d6fd930f0000080000000000", 0x140, 0x509f40}, {&(0x7f0000014800)="0000000000000000000000000000000000000000000000000500000000000000", 0x20, 0x50afe0}], 0x0, &(0x7f0000014900)) r0 = socket$inet6(0xa, 0x1000000000002, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000001fc0)={'ip_vti0\x00'}) getsockopt$IP6T_SO_GET_INFO(r0, 0x29, 0x40, &(0x7f0000000040)={'mangle\x00'}, &(0x7f00000000c0)=0x54) 03:49:45 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000, 0x0, 0x4040000}, 0x0) 03:49:45 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x2, &(0x7f00000005c0)) 03:49:45 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@grpid='grpid'}, {@grpid='grpid'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) 03:49:45 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x12000000, 0xffffffbf000) 03:49:45 executing program 0: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = fcntl$dupfd(r1, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = socket$nl_route(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_NO_ENOBUFS(r2, 0x10e, 0x5, &(0x7f0000000040)=0x3, 0x4) r4 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000080)='/sys/kernel/debug/binder/transactions\x00', 0x0, 0x0) ioctl$VIDIOC_OVERLAY(r4, 0x4004560e, &(0x7f0000000140)=0x80) r5 = openat$hwrng(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/hwrng\x00', 0x121903, 0x0) getsockname$ax25(r5, &(0x7f0000000200)={{0x3, @rose}, [@default, @bcast, @netrom, @bcast, @default, @remote, @netrom, @null]}, &(0x7f0000000380)=0x48) r6 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') r7 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r7, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) sendmsg$RDMA_NLDEV_CMD_DELLINK(r7, &(0x7f0000000740)={&(0x7f0000000680)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000700)={&(0x7f00000006c0)={0x30, 0x1404, 0x1, 0x70bd25, 0x25dfdbff, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x1}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x2}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x45febfd}]}, 0x30}, 0x1, 0x0, 0x0, 0x20000810}, 0x80) write$P9_RREAD(r7, &(0x7f0000000780)=ANY=[@ANYRES16, @ANYRES16], 0x30) syz_usb_connect$printer(0x6, 0x2d, &(0x7f00000003c0)={{0x12, 0x1, 0x310, 0x0, 0x0, 0x0, 0xff, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x1b, 0x1, 0x1, 0x80, 0xe0, 0xac, [{{0x9, 0x4, 0x0, 0xc6, 0x1, 0x7, 0x1, 0x1, 0x3, "", {{{0x9, 0x5, 0x1, 0x2, 0x3ff, 0xff, 0x3, 0xd}}}}}]}}]}}, &(0x7f0000000640)={0xa, &(0x7f0000000400)={0xa, 0x6, 0x0, 0x3, 0x2, 0x94, 0x10, 0x8}, 0x8c, &(0x7f0000000480)={0x5, 0xf, 0x8c, 0x2, [@ptm_cap={0x3}, @generic={0x84, 0x10, 0xa, "2dd14761a2f641e2e18d3fe87dcfea2a29f6ab267f80a5a623e18e9ef7fc96a79a7e110a75b9e61e6be9976561b2c39de2ac87cb58349022290ebe044752d8784ff6a336d175c8895f142b162b06009b05791ae02c1618303c5e25d6bedf245061989df9807b4f1a78817b2057e7736a81e7d7dcc8adf286d36349d7c3e8e96c85"}]}, 0x1, [{0xe0, &(0x7f0000000280)=ANY=[@ANYBLOB="e003e014a47c0784b0e87deb5434044f2efcaf2d45757cc7a65bd3cc80470397b00e49851b3f5e8fd989309611683fc88c9a571d4ba557425c26ac9e71b85e196596ad5b16838ff7943cbb9848c459064afc2346994bfa14800d7ddd9b808198dfc509a4a1e0a0f4b7a5453c0b34fcd55c5d3ab1dffac1c8e4948647d8cbf815171cb8c38235483d241dc66af2a3bbcdd57ea4040000000000000071cf10ecca90674b1a6fc0fedf1acbdc4ac5b880f6c32d6ab978af73319f47974f10c784ca5c952a6cd33f731ed9a9a1bde7a463b99d5e6b22b0193aaedcde98171e71c1750fbc80f187ef0565"]}]}) r8 = fcntl$dupfd(r6, 0x0, r1) ioctl$SNDCTL_DSP_NONBLOCK(r8, 0x500e, 0x0) r9 = openat$mice(0xffffffffffffff9c, &(0x7f0000000180)='/dev/input/mice\x00', 0x80201) ioctl$LOOP_CHANGE_FD(r6, 0x4c06, r9) sendmsg$nl_route(r3, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000007c0)=ANY=[@ANYBLOB="2800000012000d02000000000000000007000000acf551281829c3c2d67e9cc9a31bb865b39588e1064e77597393bc7c7b65bbe516fd51f99582231093fc5511a91a67070c790abaac45542ccff38680e8e175d86a7e05fb90c8c148fc268980e15ec03c619b12a55531e92883d0fc1107c3e5f4fc78347f1ecbe3ef3acab0af451a9ad610828fc15538947bc27029f472a1e80692c4335107b62c29482bce95e9aa9bae674a92000d300fa1024fa368f684eabfe84d38411c14ad29de6fbb196ab5fe248c6275c0b721ad6d8a5ac4dfb183e12afd77e31795d0030558676138a7386662b48ea51a7d20620046f7e9e39a740af16196459639e9ae68fa29c888cd7b60d7d9c624cb3636f55a3cfb8e0ec1d769df05915760722461f7277a68fd558c44e8eecfbc", @ANYRES32=0x0, @ANYBLOB="000000100000000008003011e2fe0000"], 0x28}}, 0x0) [ 187.544929][ T9262] BTRFS error (device loop4): open_ctree failed 03:49:45 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x200000000000000, 0xffffffbf000) 03:49:45 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x10, &(0x7f00000005c0)) [ 187.648568][ T9335] xfs: Unknown parameter 'appraise_type' [ 187.665498][ T9341] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:45 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:45 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@grpid='grpid'}, {@discard='discard'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) [ 187.738591][ T9338] __nla_validate_parse: 9 callbacks suppressed [ 187.738607][ T9338] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. [ 187.791455][ T9342] BTRFS info (device loop4): disk space caching is enabled 03:49:45 executing program 3 (fault-call:1 fault-nth:0): r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:45 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b2f, &(0x7f00000005c0)) [ 187.835820][ T9342] BTRFS info (device loop4): has skinny extents [ 187.838188][ T9354] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 187.850737][ T9338] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. [ 187.873086][ T9353] xfs: Unknown parameter 'appraise_type' [ 187.985295][ T9342] BTRFS info (device loop4): enabling ssd optimizations [ 187.999342][ T9378] FAULT_INJECTION: forcing a failure. [ 187.999342][ T9378] name failslab, interval 1, probability 0, space 0, times 0 [ 188.006568][ T9342] BTRFS info (device loop4): checking UUID tree [ 188.012346][ T9378] CPU: 0 PID: 9378 Comm: syz-executor.3 Not tainted 5.9.0-rc5-syzkaller #0 [ 188.012360][ T9378] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 188.037196][ T9378] Call Trace: [ 188.040493][ T9378] dump_stack+0x198/0x1fd [ 188.044862][ T9378] should_fail.cold+0x5/0x14 [ 188.049464][ T9378] should_failslab+0x5/0xf [ 188.053982][ T9378] slab_pre_alloc_hook.constprop.0+0xf4/0x1f0 [ 188.060058][ T9378] kmem_cache_alloc_node+0x50/0x430 [ 188.065268][ T9378] __alloc_skb+0x71/0x550 [ 188.069607][ T9378] netlink_sendmsg+0x94f/0xd90 [ 188.074380][ T9378] ? netlink_unicast+0x7d0/0x7d0 [ 188.079347][ T9378] ? bpf_lsm_socket_sendmsg+0x5/0x10 [ 188.084651][ T9378] ? netlink_unicast+0x7d0/0x7d0 [ 188.089590][ T9378] sock_sendmsg+0xcf/0x120 [ 188.094030][ T9378] ____sys_sendmsg+0x6e8/0x810 [ 188.098803][ T9378] ? kernel_sendmsg+0x50/0x50 [ 188.103481][ T9378] ? do_recvmmsg+0x6d0/0x6d0 [ 188.108080][ T9378] ? lockdep_hardirqs_on_prepare+0x530/0x530 [ 188.114058][ T9378] ? lock_downgrade+0x830/0x830 [ 188.118928][ T9378] ? _parse_integer+0x132/0x180 [ 188.123788][ T9378] ___sys_sendmsg+0xf3/0x170 [ 188.128385][ T9378] ? sendmsg_copy_msghdr+0x160/0x160 [ 188.133673][ T9378] ? __fget_files+0x272/0x400 [ 188.138359][ T9378] ? lock_downgrade+0x830/0x830 [ 188.143211][ T9378] ? lock_is_held_type+0xbb/0xf0 [ 188.148143][ T9378] ? find_held_lock+0x2d/0x110 [ 188.152920][ T9378] ? __fget_files+0x294/0x400 [ 188.157603][ T9378] ? __fget_light+0xea/0x280 [ 188.162206][ T9378] __sys_sendmsg+0xe5/0x1b0 [ 188.166715][ T9378] ? __sys_sendmsg_sock+0xb0/0xb0 [ 188.171755][ T9378] ? check_preemption_disabled+0x50/0x130 [ 188.177478][ T9378] ? syscall_enter_from_user_mode+0x1d/0x60 [ 188.183381][ T9378] do_syscall_64+0x2d/0x70 [ 188.187803][ T9378] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 188.193692][ T9378] RIP: 0033:0x45d5f9 [ 188.197593][ T9378] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 188.217196][ T9378] RSP: 002b:00007f3db876cc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 188.225617][ T9378] RAX: ffffffffffffffda RBX: 000000000002ce80 RCX: 000000000045d5f9 [ 188.233584][ T9378] RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000003 [ 188.241552][ T9378] RBP: 00007f3db876cca0 R08: 0000000000000000 R09: 0000000000000000 [ 188.249518][ T9378] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 188.257490][ T9378] R13: 00007ffd338965ef R14: 00007f3db876d9c0 R15: 000000000118cf4c 03:49:46 executing program 4: sendto$inet6(0xffffffffffffffff, &(0x7f0000000100)="ff100000214d56d0bf7e", 0xfffd, 0x2d580000, &(0x7f00000000c0)={0xa, 0x0, 0xd5d8, @loopback={0x0, 0xac141403}, 0x74}, 0x1c) 03:49:46 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x1200000000000000, 0xffffffbf000) 03:49:46 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}, {@mask={'mask', 0x3d, 'MAY_EXEC'}}]}) 03:49:46 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b30, &(0x7f00000005c0)) 03:49:46 executing program 3 (fault-call:1 fault-nth:1): r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:46 executing program 0: r0 = syz_open_dev$sndmidi(&(0x7f0000000040)='/dev/snd/midiC#D#\x00', 0x2, 0x141001) r1 = openat$tun(0xffffffffffffff9c, &(0x7f0000000140)='/dev/net/tun\x00', 0x0, 0x0) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000000)={'\x00', 0x20000005002}) r2 = dup(r0) r3 = openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000100)='/dev/dlm-monitor\x00', 0x90180, 0x0) read$midi(r3, &(0x7f0000000180)=""/1, 0x1) pipe2(&(0x7f0000000140), 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0x1ff}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) clock_gettime(0x0, &(0x7f0000000080)={0x0, 0x0}) pselect6(0x40, &(0x7f00000000c0), 0x0, &(0x7f0000000000)={0x1ff}, &(0x7f0000000200)={0x0, r4+30000000}, 0x0) 03:49:46 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf002) [ 188.458083][ T9389] xfs: Unknown parameter 'appraise_type' 03:49:46 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b31, &(0x7f00000005c0)) 03:49:46 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}], [{@appraise_type='appraise_type=imasig'}, {@dont_measure='dont_measure'}]}) [ 188.596151][ T9401] FAULT_INJECTION: forcing a failure. [ 188.596151][ T9401] name failslab, interval 1, probability 0, space 0, times 0 [ 188.678670][ T9401] CPU: 0 PID: 9401 Comm: syz-executor.3 Not tainted 5.9.0-rc5-syzkaller #0 [ 188.687317][ T9401] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 188.697371][ T9401] Call Trace: [ 188.700696][ T9401] dump_stack+0x198/0x1fd [ 188.705056][ T9401] should_fail.cold+0x5/0x14 [ 188.709680][ T9401] should_failslab+0x5/0xf [ 188.714106][ T9401] slab_pre_alloc_hook.constprop.0+0xf4/0x1f0 [ 188.720182][ T9401] kmem_cache_alloc_node_trace+0x55/0x430 [ 188.725906][ T9401] ? __alloc_skb+0x71/0x550 [ 188.730412][ T9401] ? rcu_read_lock_sched_held+0x3a/0xb0 [ 188.735964][ T9401] ? kmem_cache_alloc_node+0x38d/0x430 [ 188.741433][ T9401] __kmalloc_node_track_caller+0x38/0x60 [ 188.747069][ T9401] __alloc_skb+0xae/0x550 [ 188.751410][ T9401] netlink_sendmsg+0x94f/0xd90 [ 188.756187][ T9401] ? netlink_unicast+0x7d0/0x7d0 [ 188.761135][ T9401] ? bpf_lsm_socket_sendmsg+0x5/0x10 [ 188.766425][ T9401] ? netlink_unicast+0x7d0/0x7d0 [ 188.771364][ T9401] sock_sendmsg+0xcf/0x120 [ 188.775789][ T9401] ____sys_sendmsg+0x6e8/0x810 [ 188.780556][ T9401] ? kernel_sendmsg+0x50/0x50 [ 188.785233][ T9401] ? do_recvmmsg+0x6d0/0x6d0 [ 188.789832][ T9401] ? lockdep_hardirqs_on_prepare+0x530/0x530 [ 188.795835][ T9401] ? lock_downgrade+0x830/0x830 [ 188.800707][ T9401] ? _parse_integer+0x132/0x180 [ 188.805577][ T9401] ___sys_sendmsg+0xf3/0x170 [ 188.810173][ T9401] ? sendmsg_copy_msghdr+0x160/0x160 [ 188.815464][ T9401] ? __fget_files+0x272/0x400 [ 188.820146][ T9401] ? lock_downgrade+0x830/0x830 [ 188.824999][ T9401] ? lock_is_held_type+0xbb/0xf0 [ 188.829935][ T9401] ? find_held_lock+0x2d/0x110 [ 188.834713][ T9401] ? __fget_files+0x294/0x400 [ 188.839401][ T9401] ? __fget_light+0xea/0x280 [ 188.843999][ T9401] __sys_sendmsg+0xe5/0x1b0 [ 188.848521][ T9401] ? __sys_sendmsg_sock+0xb0/0xb0 [ 188.853559][ T9401] ? check_preemption_disabled+0x50/0x130 [ 188.859275][ T9401] ? syscall_enter_from_user_mode+0x1d/0x60 [ 188.865180][ T9401] do_syscall_64+0x2d/0x70 [ 188.869599][ T9401] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 188.875499][ T9401] RIP: 0033:0x45d5f9 03:49:46 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf012) [ 188.879394][ T9401] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 188.899086][ T9401] RSP: 002b:00007f3db876cc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 188.907496][ T9401] RAX: ffffffffffffffda RBX: 000000000002ce80 RCX: 000000000045d5f9 [ 188.915629][ T9401] RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000003 03:49:46 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b32, &(0x7f00000005c0)) 03:49:46 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffff000) [ 188.923600][ T9401] RBP: 00007f3db876cca0 R08: 0000000000000000 R09: 0000000000000000 [ 188.931577][ T9401] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001 [ 188.940418][ T9401] R13: 00007ffd338965ef R14: 00007f3db876d9c0 R15: 000000000118cf4c [ 188.967238][ T9420] xfs: Unknown parameter 'appraise_type' 03:49:47 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$batadv(&(0x7f0000000440)='batadv\x00') ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r0, 0x8933, &(0x7f0000000040)={'batadv0\x00', 0x0}) r2 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$BATADV_CMD_TP_METER(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000001c0)=ANY=[@ANYBLOB="ae13a1d77c3374d3db317b658044c4b528000000", @ANYBLOB="562aff0cd0f3f08ae38151eea4aa91bfe9bf6ca643eba4ee7bcd19e56c9485b0b83786671676cc51f162ae694979cebc4f2cf330c5fc96ee065a76b70cf736a6f476378f3c5e031c129f39b3be603a191b9129bf026c2b594dd94f8878f79a8f25408ad659560463c87f23937d07e0552085878f50dffee6ccfcb163e122a0f3c6ee75c0a9131b91db2f0095233836017ea195a2664ce4d8bfeab46b7294cfc7c580f22b659190be9906b7b26b2218c018163b74f7efcdd00a34e7c7f36931d9e3a68460f5156c77b114283d71ce9d4316f6784543ad62cdcd947e96a9b4d70c59161d0e39cf6842ba1aa16cfc771bfe", @ANYBLOB="070000000020000000000303000008000300", @ANYRES32=r1, @ANYBLOB="0a000900ffffffffffff0000"], 0x28}}, 0x0) 03:49:47 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}], [{@appraise_type='appraise_type=imasig'}]}) 03:49:47 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b33, &(0x7f00000005c0)) 03:49:47 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x28, 0x4, 0xffffffbf000) r1 = openat$mice(0xffffffffffffff9c, &(0x7f0000000000)='/dev/input/mice\x00', 0x60040) getsockname$qrtr(r1, &(0x7f0000000040), &(0x7f0000000080)=0xc) 03:49:47 executing program 3 (fault-call:1 fault-nth:2): r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 189.290279][ T9442] xfs: Unknown parameter 'appraise_type' [ 189.329128][ T9448] FAULT_INJECTION: forcing a failure. [ 189.329128][ T9448] name failslab, interval 1, probability 0, space 0, times 0 [ 189.344120][ T9448] CPU: 0 PID: 9448 Comm: syz-executor.3 Not tainted 5.9.0-rc5-syzkaller #0 [ 189.352720][ T9448] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 189.362897][ T9448] Call Trace: [ 189.366194][ T9448] dump_stack+0x198/0x1fd [ 189.370534][ T9448] should_fail.cold+0x5/0x14 [ 189.375128][ T9448] ? netlink_deliver_tap+0x146/0xb70 [ 189.380422][ T9448] should_failslab+0x5/0xf [ 189.384842][ T9448] slab_pre_alloc_hook.constprop.0+0x3d/0x1f0 [ 189.390913][ T9448] kmem_cache_alloc+0x46/0x3f0 [ 189.395779][ T9448] skb_clone+0x14f/0x3c0 [ 189.400041][ T9448] netlink_deliver_tap+0x990/0xb70 [ 189.405169][ T9448] netlink_unicast+0x5e5/0x7d0 [ 189.409944][ T9448] ? netlink_attachskb+0x810/0x810 [ 189.415063][ T9448] ? __phys_addr_symbol+0x2c/0x70 [ 189.420092][ T9448] ? __check_object_size+0x171/0x3e4 [ 189.425386][ T9448] netlink_sendmsg+0x856/0xd90 [ 189.430161][ T9448] ? netlink_unicast+0x7d0/0x7d0 [ 189.435118][ T9448] ? bpf_lsm_socket_sendmsg+0x5/0x10 [ 189.440408][ T9448] ? netlink_unicast+0x7d0/0x7d0 [ 189.445351][ T9448] sock_sendmsg+0xcf/0x120 [ 189.449786][ T9448] ____sys_sendmsg+0x6e8/0x810 [ 189.454557][ T9448] ? kernel_sendmsg+0x50/0x50 [ 189.459234][ T9448] ? do_recvmmsg+0x6d0/0x6d0 [ 189.463850][ T9448] ? lockdep_hardirqs_on_prepare+0x530/0x530 [ 189.469831][ T9448] ? lock_downgrade+0x830/0x830 [ 189.474686][ T9448] ? _parse_integer+0x132/0x180 [ 189.479547][ T9448] ___sys_sendmsg+0xf3/0x170 [ 189.484168][ T9448] ? sendmsg_copy_msghdr+0x160/0x160 [ 189.489457][ T9448] ? __fget_files+0x272/0x400 [ 189.494143][ T9448] ? lock_downgrade+0x830/0x830 [ 189.499196][ T9448] ? lock_is_held_type+0xbb/0xf0 [ 189.504131][ T9448] ? find_held_lock+0x2d/0x110 [ 189.508906][ T9448] ? __fget_files+0x294/0x400 [ 189.513589][ T9448] ? __fget_light+0xea/0x280 [ 189.518185][ T9448] __sys_sendmsg+0xe5/0x1b0 [ 189.522691][ T9448] ? __sys_sendmsg_sock+0xb0/0xb0 [ 189.527733][ T9448] ? check_preemption_disabled+0x50/0x130 [ 189.533454][ T9448] ? syscall_enter_from_user_mode+0x1d/0x60 [ 189.539358][ T9448] do_syscall_64+0x2d/0x70 [ 189.543768][ T9448] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 189.549676][ T9448] RIP: 0033:0x45d5f9 [ 189.553564][ T9448] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 189.573165][ T9448] RSP: 002b:00007f3db876cc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 189.581580][ T9448] RAX: ffffffffffffffda RBX: 000000000002ce80 RCX: 000000000045d5f9 03:49:47 executing program 0: syz_mount_image$msdos(&(0x7f00000000c0)='msdos\x00', &(0x7f0000000000)='./file0\x00', 0xffc00007, 0x2, &(0x7f0000000180)=[{&(0x7f0000000040)="040800090000ff01e66174000410090a0fff027400f8", 0x16}, {&(0x7f0000000100)="ef4dc9ea887e", 0x6, 0x1f}], 0xc008, &(0x7f0000000300)) syz_mount_image$romfs(&(0x7f0000000080)='romfs\x00', &(0x7f0000000140)='./file1\x00', 0x2, 0x4, &(0x7f00000003c0)=[{&(0x7f00000001c0)="3f055d7fff82cfdcda96f9f4fc45f626c8fc3e0fa987bc82932592aeb933f180e9b6e8af065b6814bc587eb76a950bb93b3ece6baeb490fe9c3dade74ccfbaf769ffc17edbff0d3d97b0b50c02f9d09a27aaeb2c449a8b51c452196d32de21eaed3f81255a95e0435b0b5525fc3c9d3f568ab13aa4", 0x75, 0x7fffffff}, {&(0x7f0000000240)="18c8baa80d117e79e162dd3e12eabbdbf27161700a7e643199c848f13d473d7a5f6e8f332d", 0x25, 0x2}, {&(0x7f0000000280)="dd1aeb510ea69e2e21569834d6807f86d316f02204f716b86c32b6f104ac8b6b289b83c9aaf9b18c185e855f08fe7c1c8c6a180aa0ec188cea6c7cd996e32d549f49667688530aabaca18b8aa2b2040509cbfb4a0996c77f1f22cfc18ba590456ec1202011", 0x65, 0x7fff}, {&(0x7f0000000340)="5befcc6a80ec9a6dd3516f3182e7a93a7ddcb0116b71d3367f2a2e8b3d7276923c636e894a623a9ae8f3c72b826e0b5baf81bbd94581620de1667a787c8469d674c809b6c58f68e7866d9a64f565b722de9b84416a9b9196ea0f45b0924a77933fbb6db9c29098b330b36ab055a8f613fbea70a8d14467c2", 0x78, 0x6}], 0x100000, &(0x7f0000000440)={[{'msdos\x00'}, {'msdos\x00'}], [{@defcontext={'defcontext', 0x3d, 'root'}}, {@uid_eq={'uid', 0x3d, 0xffffffffffffffff}}, {@fowner_eq={'fowner', 0x3d, 0xee01}}, {@fsuuid={'fsuuid', 0x3d, {[0x34, 0x64, 0x38, 0x63, 0x35, 0x39, 0x30, 0x63], 0x2d, [0x32, 0x62, 0x39, 0x64], 0x2d, [0x32, 0x37, 0x65, 0x65], 0x2d, [0x33, 0x33, 0x39, 0x67], 0x2d, [0x31, 0x34, 0x34, 0x65, 0x57, 0x62, 0x33, 0x61]}}}, {@dont_measure='dont_measure'}, {@dont_appraise='dont_appraise'}]}) 03:49:47 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r0, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) bind$bt_rfcomm(r0, &(0x7f0000000000)={0x1f, @none, 0x5}, 0xa) r1 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r2 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000080)='/dev/vcsa\x00', 0x20ac0, 0x0) ioctl$SCSI_IOCTL_SEND_COMMAND(r2, 0x1, &(0x7f00000001c0)={0xd5, 0x7fffffff, 0x1, "44be1289a82885ac6a429db8a5380300e7ec0cade32b5e9eefa20bd6fbdeb7261a1c04dfc83d72551679d4bcf05e4923e6b032f2b04846f43d4c25debb059f0fcc4306dcd74af0cd62636c990d0c82cba0994785c3009e38ebba464f7211af696d084c3e89f6c67074c2dd68836a18bb9b37897513fd8f1d3a4617abc31604373c7d60bae16a952e52a7b9d9ffe500f62b0c29c9ec6c4fa3e7ba554e2de7317ce20d427d0e49d86d362bd6f26b49d1380b29705679a6bec4c42563ba1cea3fd6fd72b3b8f7c0a1180bb7a23bcc572627318d491f19"}) fallocate(r1, 0x20, 0x0, 0xffffffbf000) ioctl$MEDIA_IOC_REQUEST_ALLOC(r0, 0x80047c05, &(0x7f0000000040)=0xffffffffffffffff) r4 = socket$inet_icmp_raw(0x2, 0x3, 0x1) ioctl$F2FS_IOC_GET_PIN_FILE(r4, 0x8004f50e, &(0x7f00000000c0)) ioctl$F2FS_IOC_START_ATOMIC_WRITE(r3, 0xf501, 0x0) 03:49:47 executing program 4: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x4000000000000, 0x40, &(0x7f0000000500)=@raw={'raw\x00', 0x2, 0x3, 0x368, 0x1f8, 0x1f8, 0x1f8, 0x1f8, 0xf303, 0x2d0, 0x2d0, 0x2d0, 0x2d0, 0x2d0, 0x3, 0x0, {[{{@uncond=[0x2], 0x0, 0x1c8, 0x1f8, 0x0, {}, [@common=@inet=@hashlimit3={{0x158, 'hashlimit\x00'}, {'veth0_to_hsr\x00', {0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x40, 0x0, 0x0, 0x4a}}}]}, @common=@inet=@SET2={0x30, 'SET\x00'}}, {{@uncond, 0x0, 0x98, 0xd8, 0x0, {}, [@inet=@rpfilter={{0x28, 'rpfilter\x00'}}]}, @common=@unspec=@ERROR={0x40, 'ERROR\x00', 0x0, "dae7bbe9998a260a8f00a30e54d356de8911e05d607ed2184b8a7d2f9d2e"}}], {{[], 0x0, 0x70, 0x98}, {0x28, '\x00', 0x4}}}}, 0x3c8) syz_io_uring_setup(0x15a3, &(0x7f0000000080), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_READ=@use_registered_buffer={0x16, 0x0, 0x0, @fd_index=0x4}, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x6, &(0x7f0000000000)=@raw=[@exit, @jmp={0x5, 0x1, 0x5, 0xa, 0xb, 0x20, 0x1}, @generic={0x0, 0x6, 0x4, 0x4, 0x5}, @generic={0x4, 0x1, 0x8, 0x2, 0xf959}, @call={0x85, 0x0, 0x0, 0x35}, @ldst={0x1, 0x1, 0x3, 0x4, 0x6, 0x8}], &(0x7f0000000040)='syzkaller\x00', 0x7, 0xce, &(0x7f0000000080)=""/206, 0x41000, 0x1, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000180)={0xa, 0x1}, 0x8, 0x10, &(0x7f00000001c0)={0x5, 0x9, 0x8}, 0x10}, 0x78) r4 = io_uring_register$IORING_REGISTER_PERSONALITY(0xffffffffffffffff, 0x9, 0x0, 0x0) syz_io_uring_submit(r1, 0x0, &(0x7f0000000280)=@IORING_OP_SYNC_FILE_RANGE={0x8, 0x1, 0x0, @fd=r3, 0xfb, 0x0, 0x9, 0x0, 0x0, {0x0, r4}}, 0x1ff) setsockopt$inet_MCAST_MSFILTER(r0, 0x0, 0x30, &(0x7f0000000900)={0x1, {{0x2, 0x4e24, @multicast2}}, 0x1, 0x6, [{{0x2, 0x4e24, @empty}}, {{0x2, 0x4e24, @initdev={0xac, 0x1e, 0x1, 0x0}}}, {{0x2, 0x4e20, @local}}, {{0x2, 0x4e22, @multicast2}}, {{0x2, 0x4e24, @private=0xa010100}}, {{0x2, 0x4e22, @loopback}}]}, 0x390) 03:49:47 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b34, &(0x7f00000005c0)) [ 189.589559][ T9448] RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000003 [ 189.597514][ T9448] RBP: 00007f3db876cca0 R08: 0000000000000000 R09: 0000000000000000 [ 189.605499][ T9448] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002 [ 189.613582][ T9448] R13: 00007ffd338965ef R14: 00007f3db876d9c0 R15: 000000000118cf4c 03:49:47 executing program 3 (fault-call:1 fault-nth:3): r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 189.658910][ T9448] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:47 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:47 executing program 5: ioctl$DRM_IOCTL_MODE_PAGE_FLIP(0xffffffffffffffff, 0xc01864b0, &(0x7f0000000000)={0x0, 0x1, 0xd, 0x10000}) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:47 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b35, &(0x7f00000005c0)) [ 189.861768][ T9463] FAULT_INJECTION: forcing a failure. [ 189.861768][ T9463] name failslab, interval 1, probability 0, space 0, times 0 [ 189.886875][ T9464] FAT-fs (loop0): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) [ 189.934619][ T9463] CPU: 0 PID: 9463 Comm: syz-executor.3 Not tainted 5.9.0-rc5-syzkaller #0 [ 189.943235][ T9463] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 189.953288][ T9463] Call Trace: [ 189.956715][ T9463] dump_stack+0x198/0x1fd [ 189.961058][ T9463] should_fail.cold+0x5/0x14 [ 189.965659][ T9463] ? genl_family_rcv_msg_attrs_parse.isra.0+0xb5/0x250 [ 189.972517][ T9463] should_failslab+0x5/0xf [ 189.976935][ T9463] slab_pre_alloc_hook.constprop.0+0xf4/0x1f0 [ 189.983005][ T9463] __kmalloc+0x6f/0x360 [ 189.987168][ T9463] ? bpf_lsm_capable+0x5/0x10 [ 189.991854][ T9463] genl_family_rcv_msg_attrs_parse.isra.0+0xb5/0x250 [ 189.998537][ T9463] genl_rcv_msg+0x4a3/0x980 [ 190.003075][ T9463] ? genl_family_rcv_msg_attrs_parse.isra.0+0x250/0x250 [ 190.010018][ T9463] ? lock_acquire+0x1f3/0xae0 [ 190.014695][ T9463] ? genl_rcv+0x15/0x40 [ 190.018973][ T9463] ? lock_release+0x8f0/0x8f0 [ 190.023652][ T9463] ? netdev_core_pick_tx+0x2e0/0x2e0 [ 190.028947][ T9463] netlink_rcv_skb+0x15a/0x430 [ 190.033717][ T9463] ? genl_family_rcv_msg_attrs_parse.isra.0+0x250/0x250 [ 190.040660][ T9463] ? netlink_ack+0xa10/0xa10 [ 190.045269][ T9463] genl_rcv+0x24/0x40 [ 190.049275][ T9463] netlink_unicast+0x533/0x7d0 [ 190.054045][ T9463] ? netlink_attachskb+0x810/0x810 [ 190.059160][ T9463] ? __phys_addr_symbol+0x2c/0x70 [ 190.064185][ T9463] ? __check_object_size+0x171/0x3e4 [ 190.069485][ T9463] netlink_sendmsg+0x856/0xd90 [ 190.074258][ T9463] ? netlink_unicast+0x7d0/0x7d0 [ 190.079215][ T9463] ? bpf_lsm_socket_sendmsg+0x5/0x10 [ 190.084516][ T9463] ? netlink_unicast+0x7d0/0x7d0 [ 190.089455][ T9463] sock_sendmsg+0xcf/0x120 [ 190.093878][ T9463] ____sys_sendmsg+0x6e8/0x810 [ 190.098647][ T9463] ? kernel_sendmsg+0x50/0x50 [ 190.103322][ T9463] ? do_recvmmsg+0x6d0/0x6d0 [ 190.107923][ T9463] ? lockdep_hardirqs_on_prepare+0x530/0x530 [ 190.113903][ T9463] ? lock_downgrade+0x830/0x830 [ 190.118762][ T9463] ? _parse_integer+0x132/0x180 [ 190.123620][ T9463] ___sys_sendmsg+0xf3/0x170 [ 190.128216][ T9463] ? sendmsg_copy_msghdr+0x160/0x160 [ 190.133506][ T9463] ? __fget_files+0x272/0x400 [ 190.138188][ T9463] ? lock_downgrade+0x830/0x830 [ 190.143044][ T9463] ? lock_is_held_type+0xbb/0xf0 [ 190.147985][ T9463] ? find_held_lock+0x2d/0x110 [ 190.152764][ T9463] ? __fget_files+0x294/0x400 [ 190.157455][ T9463] ? __fget_light+0xea/0x280 [ 190.162063][ T9463] __sys_sendmsg+0xe5/0x1b0 [ 190.166598][ T9463] ? __sys_sendmsg_sock+0xb0/0xb0 [ 190.171636][ T9463] ? check_preemption_disabled+0x50/0x130 [ 190.177353][ T9463] ? syscall_enter_from_user_mode+0x1d/0x60 [ 190.183254][ T9463] do_syscall_64+0x2d/0x70 [ 190.187785][ T9463] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 190.193675][ T9463] RIP: 0033:0x45d5f9 [ 190.197567][ T9463] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 190.217171][ T9463] RSP: 002b:00007f3db876cc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 190.225583][ T9463] RAX: ffffffffffffffda RBX: 000000000002ce80 RCX: 000000000045d5f9 03:49:48 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b36, &(0x7f00000005c0)) 03:49:48 executing program 5: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) ioctl$sock_SIOCSIFVLAN_GET_VLAN_VID_CMD(r0, 0x8983, &(0x7f0000000000)) r1 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r1, 0x20, 0x0, 0xfffff7bf000) 03:49:48 executing program 4: write$RDMA_USER_CM_CMD_CREATE_ID(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x18, 0xfa00, {0x3, &(0x7f0000000140)={0xffffffffffffffff}, 0x2, 0x5}}, 0x20) write$RDMA_USER_CM_CMD_CONNECT(0xffffffffffffffff, &(0x7f0000000200)={0x6, 0x118, 0xfa00, {{0x1, 0xdac6, "c730f3acd99f8f8e5bcb45ea7e6a170d24ea5f7d6cd8166ead4e595d68940655d65291f31df85993e5e729908c9b85ddfd7a21f1d97b2ee1766cc2dc1f88441727c9b507adc8e26ceea65de34ced81cdb656967b2cb7942fb7ebf1db6dfd58c7565b5f11ab3bda92db8f959822155042d0440c24e4bfb5c492915ddfecea83d47018bdb3fe155f8d613e5fa93f3415505d0e68bad4b907b492eb48e5a88cf44bb049d798b6038b09ef3a7c1c68d218dcf0c828137f478f3aeaf715ee7fc2196fc2c38d0ec87ce2c98879e9906d2abc78fc135b92d1d0ff2339ef0754ed92668ef9534b18688812598d4303c4b90987ae5734ac0df0e5f3134ce512cc290a7a47", 0x9, 0x68, 0x9, 0x0, 0x3f, 0x1, 0x40}, r0}}, 0x120) socket$inet_icmp_raw(0x2, 0x3, 0x1) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) openat$full(0xffffffffffffff9c, &(0x7f0000000040)='/dev/full\x00', 0x40000, 0x0) r1 = socket$packet(0x11, 0x3, 0x300) ioctl$sock_SIOCDELDLCI(0xffffffffffffffff, 0x8981, &(0x7f00000000c0)={'caif0\x00', 0x7}) r2 = syz_open_dev$sg(&(0x7f0000000040)='/dev/sg#\x00', 0x0, 0x0) ioctl$SG_SET_RESERVED_SIZE(r2, 0x2275, &(0x7f00000000c0)=0x10d060000) mmap(&(0x7f0000001000/0xa000)=nil, 0xa000, 0x0, 0x11, r2, 0x0) ioctl$SG_GET_RESERVED_SIZE(r2, 0x2272, &(0x7f0000000100)) r3 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(r3, 0x8933, &(0x7f0000000180)={'syz_tun\x00', 0x0}) bind$packet(r1, &(0x7f0000000080)={0x11, 0x5, r4, 0x1, 0x0, 0x6, @broadcast}, 0x14) syz_emit_ethernet(0x3e, &(0x7f0000000000)=ANY=[@ANYBLOB="0f6bd0479e830180c20000002800450000300000000500907803000000450000000000000000000000ac1414aaac145c00"], 0x0) 03:49:48 executing program 3 (fault-call:1 fault-nth:4): r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 190.233551][ T9463] RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000003 [ 190.241547][ T9463] RBP: 00007f3db876cca0 R08: 0000000000000000 R09: 0000000000000000 [ 190.249524][ T9463] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000003 [ 190.257495][ T9463] R13: 00007ffd338965ef R14: 00007f3db876d9c0 R15: 000000000118cf4c 03:49:48 executing program 0: socket(0x9, 0x0, 0x2) getsockopt(0xffffffffffffffff, 0x116, 0x2710, 0x0, &(0x7f0000000040)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) madvise(&(0x7f0000000000/0x600000)=nil, 0x60000b, 0x15) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = syz_open_procfs(0x0, &(0x7f0000000b00)='pagemap\x00') getdents64(r1, &(0x7f0000000280)=""/127, 0x23) ioctl$USBDEVFS_DROP_PRIVILEGES(r1, 0x4004551e, 0x0) write$fb(r1, &(0x7f0000000080)="de6fe6cb6d59e18bd05a43073500cf76113dba2989356c3e3caaeda0d6a33f911778151fe77e6b6106647bab91c64655a5fb72781d71beff1263ccf298fb969c0c98f52542e8556c306759cb39c1fac1a5e29d2440e72beca3834a3eaabbb622b3add75aca5b36b9c577290f985d5f25a5d32b4051a3fa699385f4698822868e98fb26dbeaba4970355eb21cc84df5041be7c9d504c3afcf5268c8ecf4f64008935d2bb61745366ba02db024a0955e22f4f724da15fee0584b1b66d3dde79a3fce3e022f31ed03edd6d9507e6032fb250a10f11ac934e7d3b3bb7e34e6be02edfa89f35c24aa823f494e9c0c77273539586439015fb7e4d5dc96c3cdf8887ea0972c4286ebf5b385fa22372c70571979ca8c0e4aaad2d57c772a4d088acbd2805cb155f5aeadacb834559622c99f68ac3566e25fab66578f462c09e1f247e210cc78b8d17b58cbfb3e31e5f0099dc72bf05af2d5516b8f6e6e5bf44bbee675c1d75a8008db4ee0a03b727d680cb253d0f2917534f579a23b79eb2c3329af2a4f13db178bbe974fd4b8d77694088ba059666e1546b3066897ced2dcd7dac99992b48206ee34347da04033d0d35a671f465092cd99f121c2232ee2739e32ddb41b4ee51e0d4cd360fef3e0f5397c3d170598e1616ef41003fc4c1042457a3f594ec36907673008deff2e33cd4ec879b848260ab13333ae367b432e3f14aa2ba14a75ebcf7fff73f9b64e930d0d9161d49cbcce87fee741109a872bc72e10c91a369fcd78f5f045fbe510328395c9d00978ab9917530c30d8e4c424e10de2e4a5fce60f4fadbd67124c56653db4453cb05e0a7d56524c5d484b271f896134207ba59ad6255f2f33f65fc9b263294b8d5c87ff9183093e478c1c4b2812530c4c446b4807b15cb360daa99ff597befa7005d04a865334fc7c96613784c90e8f9f27adf15b94582f087298fe289e1598d58a3f7452a647d65f2020238a727a8f108ad3f428ec98f428db889b57f10bfc91035aee7a266fb0473cf484e8497e5b02ccb001bebc4b293d81395bff2c0a92704375368c3f0b2be0d73168f720c14508824ba652c1c8796919d7a9f453e0a9094e964199c6e47edfcc45d2b466ebf42ca0a2dabffdb9ebeb2fe773d7aa27600cee254691e84229d718afa18e676954cbbd03029ff63bfd8e70213261315935181efd602011ae64a13cefe21933363cc4dd478a4d044247ffe2436d5f4bf9b84d9a4532a921d03204af6e8a17baedf51e0eb938548732b7eb00c172e24bdcf374f97ad12a675dc30bef20d5a9d68a06dc80d2490357cf8dc778d5931c74d3ac57ca1707e431e5c3be77e0f4f2745cfb0d96629af45a8295b7005c92a1f37e2de3e07d65695de11296635573c78b1bbb27e017350505e407ff1bf4cbfa7c510afc5c321f1705705191d4500b37d707d42c02f8f83d7b7340a980176438ca7a29644fd2de74ebb2ea3b8d48b91c9285be5e249d7c60a612b8dfddc025c8eee3280c3239843c2df1caefe87cf7b51c2466ba5bb28e4ef9184a08d747e36edd2fe30c14e40db3d229e9330ab4507275db85d76293e830a010225e588b82f027c59711609915124cec83589a696e348d5bc2d3843913ab9e11152ee9c0a10dac83befe96ba524fa793638fcfc5e554f02dc19871e08920d824c4d6574586135e1cc7b63a8b4f9f55a42cd512a0f41c7ea9f328fd65ee2d446019ba1d4093571cbfea589496f31efe98ca21d34c85a5f4ffcb724e298416c61142ec3f034a0b85858bc0f72b9d893901619d61527995090cf031aa4e8eb3703478c42ad378a94d6fdc5f6c764a9f8452d360c9a4a2d6b25a8bb33743fbca0ddfdbc5c428a0ab288f17c1b91217a2cf575af4d361a86e464ae6f4bd33f84188562e4b28437b24c0af95a930913fcd5a25f921393f3e033022386558bb36ce7b4b93030ab3a8a4521fe5d46da42dae151ef0eea42a40e9db1bf137b43b5813cc38d7b23f0d41195bed68b1f8cbcbfbeec8e92ede8a4e0877004f7c019859488aa522d3b1022717ae2546df95d2009acf3cc601c53a5fba499ae1a4fdc4d853e19da30f197fff3f1637f68e6e300e0ffd7665c829a7574e4511def811cdeb7a50b583cae2462ed082e873c4ec1f54eb74891c310d15ad21958b610c92412ef558c7c8da72f46fee68b664ba49b133bf9933f2efa51fc6ed05487d73c1066ba4211909d3bd5c459555e03d6b309dad58ac1f763f1a38f02bc6e4b6f8d8ef171d87d75775e99f5c25c051464327dc4afdb1dae8039b347a522c95dc97a228cfbb419ace79399e77097d59878738363021816687214bc3d03a2a117d0972e904d4c1cdfdcdaec9f22ecc03282471397786049627bf2f37c35e3dc2a8c364861ac41438d0c076c1f92c385a0d64600f4c2c7274d82c8801749cf333fca8727e02a1abf19b1e8d482a877fe1ac423d13d7254065f63d7988b48c9bd80a7bc781dbad2113a54f88cab504d2031074b3641c930eb345538fc89b1efe4380e5a476402c103960747793290b3e5c429b98e2e08499859cda7a6711ee975cde612038df7720b2ee0f303876e2adefa11209b524693deb3bdd2042023a9521528c95b5b37369ee0bb543654375b151a5ae237678511ee874b9c862356532b083f091b590ba312a9e12d614ddc7c208f5480eecc8530e14fb971edb752a64080dbfcb33013d005c2b4b4aec6ef8ca41d2371c8a8bd42b1bc2d12f57383978b3f8e557697affdd33e25002aa5b830dd26cd854a35475e90d5a0900b4c4294f70c0661f96ddc8780678e3df30a6c7bcd808694ca02d18bf9be03f49cd3205a37119607d9626a35d1718354bbba1107a038a0347937dc9750a4283dad7d32c052180110d0dada7383187f755b6df4944452216b7a5110f69d73a25aed74e73a61f0040607036c2223c95b65a7aa627258eeb4c912f47ddee867a18b78786bcf48be8b2dff42f751fc0b51d244e12842209e63eabe9a128fd862019cbf086d801125e38ef526bd118e6c3e7ad38509e1b966bcda2c47529ee241944319c01e310407bb64f7991e96d17e8b8f46371ca0aa1743d5c788bad5c769b46833a1735dd8039ab2634a712ab8291ab708c7cf88abff620c2a2662cd9c5377e847dfd8719e96a0e01245f9510b78793a877be4283d7f8f89d4fb75f2eff27c4a7af6bd0d83ae27a535174efe6bd698e093bfbfe09cb958a99f51d2b3a84d7476d0e19dfd223c6ee896157910246cbb844d3040b861285e0215939201c105d0ff9ca53d27d40ed9595b947bc0104f5c76ed85ecd5452613e5338957627187a0e3e0e0742003009b3cd6ddc68f193d503e26c8c58c004009c17fc873e28651345e6bf6d11c7a3ee8bb4ec16b2615dfa97acf4fcc43544aef61bd0d60457b5c13d4ebf26e7fafaf78b05823c96dbdd34497ca87fafd3b152856b73e3ced5a8f508faf69e06ec5c2d09f310ecf59b682cdfabc7b0c887822f5d219e85c5fb203b590ea5f2aea90db087d5525d985678d70d936244c0900e3278fbc9776da90b4fa56f1da1224a9096c42b9e8cb8bb5a4b72b016a83511ab71fe04df25a00aa88f99e5417574b102b0edf314f5fa5f1cd4d9f2c89226b23ffb1b92ded6419f5c50cb6d09fd547c4679a576fe21b12694f43d3f9f910faa85aa3a35c2d20758e1443f94a0de013f6db3dfd57adcf38e3f4ec6c9df1e81468a3350464a3752733316afdbb698917a40160da9c4a4c06fb05c69fcc508b156eabaa531c5fc7f899b83a96ffa67a2e335840f6751", 0xa80) r2 = openat$apparmor_thread_exec(0xffffffffffffff9c, &(0x7f0000000000)='/proc/thread-self/attr/exec\x00', 0x2, 0x0) write$apparmor_exec(r2, &(0x7f0000000040)={'stack ', ':\x00'}, 0x8) fcntl$dupfd(r1, 0x406, r0) socket$inet(0x2, 0x80001, 0x84) ioctl$sock_SIOCSIFVLAN_GET_VLAN_EGRESS_PRIORITY_CMD(0xffffffffffffffff, 0x8983, &(0x7f0000000000)) [ 190.479172][ T9495] FAULT_INJECTION: forcing a failure. [ 190.479172][ T9495] name failslab, interval 1, probability 0, space 0, times 0 [ 190.562360][ T9475] XFS (loop1): Invalid superblock magic number [ 190.608588][ T9495] CPU: 0 PID: 9495 Comm: syz-executor.3 Not tainted 5.9.0-rc5-syzkaller #0 [ 190.617207][ T9495] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 190.627262][ T9495] Call Trace: [ 190.630564][ T9495] dump_stack+0x198/0x1fd [ 190.634905][ T9495] should_fail.cold+0x5/0x14 [ 190.639520][ T9495] ? genl_family_rcv_msg_attrs_parse.isra.0+0xb5/0x250 [ 190.646371][ T9495] should_failslab+0x5/0xf [ 190.650791][ T9495] slab_pre_alloc_hook.constprop.0+0xf4/0x1f0 [ 190.656863][ T9495] __kmalloc+0x6f/0x360 [ 190.661025][ T9495] ? bpf_lsm_capable+0x5/0x10 [ 190.665712][ T9495] genl_family_rcv_msg_attrs_parse.isra.0+0xb5/0x250 [ 190.672396][ T9495] genl_rcv_msg+0x4a3/0x980 [ 190.676920][ T9495] ? genl_family_rcv_msg_attrs_parse.isra.0+0x250/0x250 [ 190.683861][ T9495] ? lock_acquire+0x1f3/0xae0 [ 190.688538][ T9495] ? genl_rcv+0x15/0x40 [ 190.692705][ T9495] ? lock_release+0x8f0/0x8f0 [ 190.697386][ T9495] ? netdev_core_pick_tx+0x2e0/0x2e0 [ 190.702681][ T9495] netlink_rcv_skb+0x15a/0x430 [ 190.707456][ T9495] ? genl_family_rcv_msg_attrs_parse.isra.0+0x250/0x250 [ 190.714397][ T9495] ? netlink_ack+0xa10/0xa10 [ 190.718999][ T9495] genl_rcv+0x24/0x40 [ 190.722979][ T9495] netlink_unicast+0x533/0x7d0 [ 190.727757][ T9495] ? netlink_attachskb+0x810/0x810 [ 190.732879][ T9495] ? __phys_addr_symbol+0x2c/0x70 [ 190.737904][ T9495] ? __check_object_size+0x171/0x3e4 [ 190.743211][ T9495] netlink_sendmsg+0x856/0xd90 [ 190.747979][ T9495] ? netlink_unicast+0x7d0/0x7d0 [ 190.752923][ T9495] ? bpf_lsm_socket_sendmsg+0x5/0x10 [ 190.758213][ T9495] ? netlink_unicast+0x7d0/0x7d0 [ 190.763153][ T9495] sock_sendmsg+0xcf/0x120 [ 190.767563][ T9495] ____sys_sendmsg+0x6e8/0x810 [ 190.772324][ T9495] ? kernel_sendmsg+0x50/0x50 [ 190.776983][ T9495] ? do_recvmmsg+0x6d0/0x6d0 [ 190.781560][ T9495] ? lockdep_hardirqs_on_prepare+0x530/0x530 [ 190.787520][ T9495] ? lock_downgrade+0x830/0x830 [ 190.792355][ T9495] ? _parse_integer+0x132/0x180 [ 190.797207][ T9495] ___sys_sendmsg+0xf3/0x170 [ 190.801794][ T9495] ? sendmsg_copy_msghdr+0x160/0x160 [ 190.807063][ T9495] ? __fget_files+0x272/0x400 [ 190.811811][ T9495] ? lock_downgrade+0x830/0x830 [ 190.816643][ T9495] ? lock_is_held_type+0xbb/0xf0 [ 190.821564][ T9495] ? find_held_lock+0x2d/0x110 [ 190.826315][ T9495] ? __fget_files+0x294/0x400 [ 190.830978][ T9495] ? __fget_light+0xea/0x280 [ 190.835566][ T9495] __sys_sendmsg+0xe5/0x1b0 [ 190.840052][ T9495] ? __sys_sendmsg_sock+0xb0/0xb0 [ 190.845065][ T9495] ? check_preemption_disabled+0x50/0x130 [ 190.850761][ T9495] ? syscall_enter_from_user_mode+0x1d/0x60 [ 190.856654][ T9495] do_syscall_64+0x2d/0x70 [ 190.861050][ T9495] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 190.866921][ T9495] RIP: 0033:0x45d5f9 [ 190.870797][ T9495] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 190.890381][ T9495] RSP: 002b:00007f3db876cc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 190.898784][ T9495] RAX: ffffffffffffffda RBX: 000000000002ce80 RCX: 000000000045d5f9 03:49:48 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) mount$overlay(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000040)='overlay\x00', 0x4000, &(0x7f00000000c0)={[{@lowerdir={'lowerdir', 0x3d, './file1'}}, {@default_permissions='default_permissions'}], [{@fsmagic={'fsmagic', 0x3d, 0xb4}}]}) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:48 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b37, &(0x7f00000005c0)) 03:49:48 executing program 3 (fault-call:1 fault-nth:5): r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:49 executing program 4: [ 190.906747][ T9495] RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000003 [ 190.914698][ T9495] RBP: 00007f3db876cca0 R08: 0000000000000000 R09: 0000000000000000 [ 190.922649][ T9495] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000004 [ 190.930600][ T9495] R13: 00007ffd338965ef R14: 00007f3db876d9c0 R15: 000000000118cf4c r0 = syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x8000000, 0x70, &(0x7f0000000200)=[{&(0x7f0000010000)="41748ac3076b2bc3e2c1bf467e9cb83130c7491a9692dfceadfd4a366fdc4f34b3553249a0984aa3a226f12708cd0591000001000000000001000000000000005f42485266535f4d05000000000000000040d2010000000000405001000000000000000000000000000000000000000000000008000000000000020000000000060000000000000001000000000000000010000000400000004000000010000081000000050000000000000000000000000000000000000000000000c10100000000000002000000000100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009a0f743feca24b43b3572a3820cedce4b3553249a0984aa3a226f12708cd059100"/320, 0x140, 0x10000}, {&(0x7f0000010200)="0000000000000000000000ffffffffffffffff00"/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e40000500100000000000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009a0f743feca24b43b3572a3820cedce401000000000000000000d001000000009a0f743feca24b43b3572a3820cedce4000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009a0f743feca24b43b3572a3820cedce401000000000000000000d001000000009a0f743feca24b43b3572a3820cedce400"/256, 0x100, 0x10320}, {&(0x7f0000010400)="00000000000000000000000040d2010000000005000000000000000040500100000000050000000000000000c0d1010000000005000000000000000000d0010000000004000000000000000000d2010000000005000000000000000000d1010000000004000000000000000000000800000000000002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000020000000000000000001200000000000200000000000000008011000000000002000000000000000000110000000000010000000000000000c011000000000002000000000000000040110000000000010000000000000000000008000000000080010000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0500000000000030000000000000000001000000000000300000000000000008050000000000003000000000000000000510000000000030000000000000000405000000000000300000000000000004011000000000001000000000000000000000800000000008001000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d001000000000400000000000000000050010000000004000000000000000080d0010000000004000000000000000000d00100000000040000000000000000c0d0010000000004000000000000000000d101000000000400000000000000000000080000000000000200000000000100"/640, 0x280, 0x10b20}, {&(0x7f0000010700)="9ccce0a8d89b236d6f4f250a9bc4ded04340d2a67b65b90d3e6c42f6efdc3267b3553249a0984aa3a226f12708cd059100001000000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0300000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000009a0f743feca24b43b3572a3820cedce4000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000009a0f743feca24b43b3572a3820cedce4000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009a0f743feca24b43b3572a3820cedce40100000000000000000000080000000000004001000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009a0f743feca24b43b3572a3820cedce4b3553249a0984aa3a226f12708cd059180195af66c77090c45d67be2aaa8908a9d19b84f68b0ad55f5c0cb4d503c440bb3553249a0984aa3a226f12708cd059100401000000000000000000000000001ae9e201d9b6442f2a143c16bdd521abc010000000000000002000000000000000c000000000000100000000000a90000000000000000833f0000180000000000100000000000b00100000000000000833f0000000000000040100000000000a900000000000000006b3f0000180000000040100000000000b002000000000000006b3f0000000000000080100000000000a90000000000000000533f0000180000000080100000000000b00300000000000000533f00000000000000c0100000000000a900000000000000003b3f00001800000000c0100000000000b004000000000000003b3f0000000000000000110000000000a90000000000000000233f0000180000000000110000000000b00500000000000000233f0000000000000040110000000000a900000000000000000b3f0000180000000040110000000000b007000000000000000b3f00"/768, 0x300, 0x103ea0}, {&(0x7f0000010b00)="0000000000000000000000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000020d0f617553e3dc72c814cee614042a64710111bb9823ff51f284063fa237294b3553249a0984aa3a226f12708cd059100801000000000000000000000000001ae9e201d9b6442f2a143c16bdd521abc0100000000000000030000000000000002000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e00005000"/320, 0x140, 0x107f60}, {&(0x7f0000010d00)="0000000000000000000000000000000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009a0f743feca24b43b3572a3820cedce40100000000000000000000080000000000004000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009a0f743feca24b43b3572a3820cedce4b3553249a0984aa3a226f12708cd05917c393dac6c67e77c3cb0660baaf6ceb8a480e76ba4d6ad18e2872b52ea235470b3553249a0984aa3a226f12708cd059100c01000000000000000000000000001ae9e201d9b6442f2a143c16bdd521abc0100000000000000040000000000000001000000000100000000000000cc00001000000000006b3f0000300000000000", 0x140, 0x10bf40}, {&(0x7f0000010f00)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000ae9e201d9b6442f2a143c16bdd521abcf1df206b9a7393ec9f8d361c9ca4356e36bd9b637e8a91e6f6c798bd5fe6aa2db3553249a0984aa3a226f12708cd059100001100000000000000000000000001ae9e201d9b6442f2a143c16bdd521abc01000000000000000500000000000000", 0xa0, 0x10ffc0}, {&(0x7f0000011000)="2b63d8b85df7e071d531103330ea26c2cf53a4d12ca9c0253e8d27e7da751a7eb3553249a0984aa3a226f12708cd059100401100000000000000000000000001ae9e201d9b6442f2a143c16bdd521abc01000000000000000700000000000000", 0x60, 0x114000}, {&(0x7f0000011100)="6296ad9c1c38593f2ccc5f0691b57022b83ac42162099db6f7277dedd56780abb3553249a0984aa3a226f12708cd059100801100000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc020000000000000002000000000000000a000000000000100000000000c00000400000000000833f0000180000000000110000000000a900000000000000006b3f0000180000000000110000000000b005000000000000006b3f0000000000000040110000000000a90000000000000000533f0000180000000040110000000000b00700000000000000533f0000000000000080110000000000a90000000000000000323f00002100000000c0110000000000a90000000000000000113f0000210000000000120000000000a90000000000000000f03e0000210000000000500000000000a90000000000000000cf3e0000210000000000500000000000c00000800000000000b73e0000180000000000500000000000c00000800000000000d83e0000180000000000500000000000c000008000000000000b3f0000180000000040110000000000b007000000000000000b3f0000000000000000500000000000c00000800000000000f33e000018", 0x1c0, 0x118000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000004000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000004001000000000000010000000000000200000000000000becd90f1c8b413098fdbe31fe16bd12d125a79b7371e0975ebccccba0324698ab3553249a0984aa3a226f12708cd059100c01100000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0200000000000000040000000000000002000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f00003000"/416, 0x1a0, 0x11bf00}, {&(0x7f0000011500)="0300000000000000000100000000000000005000000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000001000000000000000400000000000ae9e201d9b6442f2a143c16bdd521abc8bdc497fb08d1f03ad3bbb1e0ace76fea982621eaaf23699f567755f792decc0b3553249a0984aa3a226f12708cd059100001200000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0200000000000000030000000000000003000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e00005000"/288, 0x120, 0x11ffa0}, {&(0x7f0000011700)="80000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000009a0f743feca24b43b3572a3820cedce4000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009a0f743feca24b43b3572a3820cedce4010000000000000000000008000000000000c000000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009a0f743feca24b43b3572a3820cedce4b3553249a0984aa3a226f12708cd0591", 0x100, 0x123f00}, {&(0x7f0000011800)="21cd67127d96fc5d09201bff30f10a13dc70d92fbcabab3aed870f1be2589017b3553249a0984aa3a226f12708cd059100005000000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0200000000000000010000000000000004000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b70100000500000000000000840000000000000000763a0000b70100000700000000000000840000000000000000bf380000b70100"/224, 0xe0, 0x500000}, {&(0x7f0000011900)="0000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000", 0x40, 0x503920}, {&(0x7f0000011a00)="00000000010000000000000000000000000000000040110000000000000000000000000000400000000000000000000000000000000000000000000001000000", 0x40, 0x5039c0}, {&(0x7f0000011b00)="00000000000000000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x503ac0}, {&(0x7f0000011c00)="00000000000000000000000000000000000000000000000000000001000000000000000000000000000000000011000000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000075887986ba63465086d23e8341e5f40900"/160, 0xa0, 0x503b60}, {&(0x7f0000011d00)='\x00\x00t1__\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00'/32, 0x20, 0x503c20}, {&(0x7f0000011e00)="00000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x503c80}, {&(0x7f0000011f00)="0000000000000000000000000000000000000200000000000000000000000000000000c0110000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200"/128, 0x80, 0x503d20}, {&(0x7f0000012000)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x503e40}, {&(0x7f0000012100)="000000000000000000020000000000000000000000000000000080110000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200000000000000", 0x60, 0x503ee0}, {&(0x7f0000012200)="c80d067a37dbd0473493609d68d270869f5965e0b54bced5429fdb451bc045ccb3553249a0984aa3a226f12708cd059100405000000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0300000000000000040000000000000003000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f00003000"/192, 0xc0, 0x504000}, {&(0x7f0000012300)="00000000000000000000000000000000030000000000000000010000000000000000d000000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005000000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000001000000000000000400000000000ae9e201d9b6442f2a143c16bdd521abc4f4dba6de3a92b2ccd575c93406a16640a185d38e0cd3a9d1de56225b4b8e4e6b3553249a0984aa3a226f12708cd059100805000000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc030000000000000002000000000000000a000000000000100000000000a900000000000000007a3f0000210000000000100000000000c00000400000000000623f0000180000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000c00000800000000000323f0000180000000040500000000000a90000000000000000113f0000210000000080500000000000a90000000000000000f03e00002100000000c0500000000000a90000000000000000cf3e0000210000000000510000000000a90000000000000000ae3e0000210000000000d00000000000c00000800000000000963e0000180000000000500000000000c00000800000000000ae3e0000180000000000d00000000000c00000800000000000963e0000180000000040110000000000b007000000000000000b3f0000000000000000500000000000c00000800000000000f33e000018", 0x260, 0x507f60}, {&(0x7f0000012600)="000000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000000001000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000008000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000de392b674211f2e9b4cd11aceacce893387f1006b61c57ff9d695ea3af34f38bb3553249a0984aa3a226f12708cd059100c05000000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0300000000000000010000000000000008000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b70100"/608, 0x260, 0x50bee0}, {&(0x7f0000012900)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x50f840}, {&(0x7f0000012a00)="00000100000000000000000000000000000000401100000000000000000000000000004000000000000000000000000000000000000000000000010000000000", 0x40, 0x50f8e0}, {&(0x7f0000012b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x50f9e0}, {&(0x7f0000012d00)="0000000000000000000003000000000000000001000000000000000051000000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000030000000000000075887986ba63465086d23e8341e5f40900"/128, 0x80, 0x50fb60}, {&(0x7f0000012e00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00'/64, 0x40, 0x50fc00}, {&(0x7f0000012f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x50fc80}, {&(0x7f0000013000)="000000000000000000000000000000000000030000000000000000000000000000000040500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x50fd20}, {&(0x7f0000013100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x50fe40}, {&(0x7f0000013200)="000000000000000000030000000000000000000000000000000080500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x50fee0}, {&(0x7f0000013300)="c640ec9c516749173f9ea3e3507544222fc04dc6145e35d301bdb9ace27c9b7eb3553249a0984aa3a226f12708cd059100005100000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0300000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x510000}, {&(0x7f0000013400)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f0000000000000000", 0xc0, 0x513f40}, {&(0x7f0000013500)="8d5981fc04f992fce0616515d43a64733a106b6ff363be5899675620276e9bdcb3553249a0984aa3a226f12708cd059100005001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000013600)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009a0f743feca24b43b3572a3820cedce4010000000000000000005004000000009a0f743feca24b43b3572a3820cedce4000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009a0f743feca24b43b3572a3820cedce401000000000000000000d001000000009a0f743feca24b43b3572a3820cedce400008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000009a0f743feca24b43b3572a3820cedce4000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000009a0f743feca24b43b3572a3820cedce4000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009a0f743feca24b43b3572a3820cedce40100000000000000000000080000000000004006000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009a0f743feca24b43b3572a3820cedce4b3553249a0984aa3a226f12708cd059100e209d9cb08efd6539d68c72f52e503a4304f8db6fdbbabf352d669fe17ce9db3553249a0984aa3a226f12708cd059100405001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0500000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1503dc0}, {&(0x7f0000013a00)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009a0f743feca24b43b3572a3820cedce4000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009a0f743feca24b43b3572a3820cedce4000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009a0f743feca24b43b3572a3820cedce4010000000000000000005004000000009a0f743feca24b43b3572a3820cedce4000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009a0f743feca24b43b3572a3820cedce401000000000000000000d001000000009a0f743feca24b43b3572a3820cedce400008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000009a0f743feca24b43b3572a3820cedce40100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009a0f743feca24b43b3572a3820cedce4b3553249a0984aa3a226f12708cd0591", 0x240, 0x1507dc0}, {&(0x7f0000013d00)="8d5981fc04f992fce0616515d43a64733a106b6ff363be5899675620276e9bdcb3553249a0984aa3a226f12708cd059100005001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f0000013e00)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009a0f743feca24b43b3572a3820cedce4010000000000000000005004000000009a0f743feca24b43b3572a3820cedce4000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009a0f743feca24b43b3572a3820cedce401000000000000000000d001000000009a0f743feca24b43b3572a3820cedce400008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000009a0f743feca24b43b3572a3820cedce4000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000009a0f743feca24b43b3572a3820cedce4000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009a0f743feca24b43b3572a3820cedce40100000000000000000000080000000000004006000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009a0f743feca24b43b3572a3820cedce4b3553249a0984aa3a226f12708cd059100e209d9cb08efd6539d68c72f52e503a4304f8db6fdbbabf352d669fe17ce9db3553249a0984aa3a226f12708cd059100405001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0500000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1d03dc0}, {&(0x7f0000014200)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009a0f743feca24b43b3572a3820cedce4000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009a0f743feca24b43b3572a3820cedce4000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009a0f743feca24b43b3572a3820cedce4010000000000000000005004000000009a0f743feca24b43b3572a3820cedce4000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009a0f743feca24b43b3572a3820cedce401000000000000000000d001000000009a0f743feca24b43b3572a3820cedce400008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000009a0f743feca24b43b3572a3820cedce40100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009a0f743feca24b43b3572a3820cedce4b3553249a0984aa3a226f12708cd0591", 0x240, 0x1d07dc0}, {&(0x7f0000014500)="ef77a2421c16cbaa777409d60e77c38ac01bfbf7155439c1109aaa099da6b84db3553249a0984aa3a226f12708cd05910000d001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0400000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x2500000}, {&(0x7f0000014600)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000051cbe89d9feb14a462e0ef15cf0ed9b8106b71cd5be1441699686eec129338c4b3553249a0984aa3a226f12708cd05910040d001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc040000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x220, 0x2503f40}, {&(0x7f0000014900)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2507560}, {&(0x7f0000014a00)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2507720}, {&(0x7f0000014b00)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2507840}, {&(0x7f0000014c00)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x25078e0}, {&(0x7f0000014d00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x25079e0}, {&(0x7f0000014f00)="00000000000000000000040000000000000000010000000000000000d0010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000000075887986ba63465086d23e8341e5f40900"/128, 0x80, 0x2507b60}, {&(0x7f0000015000)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00'/64, 0x40, 0x2507c00}, {&(0x7f0000015100)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2507c80}, {&(0x7f0000015200)="0000000000000000000000000000000000000400000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2507d20}, {&(0x7f0000015300)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2507e40}, {&(0x7f0000015400)="000000000000000000040000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000", 0x60, 0x2507ee0}, {&(0x7f0000015500)="235a0b64f99298fe0b3b464f8880979874ababf3c913cf4bf09099a236f645f2b3553249a0984aa3a226f12708cd05910080d001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc040000000000000002000000000000000d000000000000100000000000c00000400000000000833f0000180000000000500000000000c000008000000000006b3f0000180000000000d00000000000c00000800000000000533f0000180000000000500100000000a90000000000000000323f0000210000000000500100000000c000008000000000001a3f0000180000000000d00100000000a90000000000000000f93e0000210000000000d00100000000c00000000200000000e13e0000180000000040d00100000000a90000000000000000c03e0000210000000080d00100000000a900000000000000009f3e00002100000000c0d00100000000a900000000000000007e3e0000210000000000d10100000000a900000000000000005d3e0000210000000040d10100000000a900000000000000003c3e0000210000000080d10100000000a900000000000000001b3e0000210000000000500000000000c00000800000000000f33e000018", 0x1c0, 0x2508000}, {&(0x7f0000015700)="010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000004000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b0010000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000004000000000000000010000000000002200000000000000010000000000000004000000000000000200000000000000b003000000000000000000000000000000000100000000000001000000000000000000000000000000000100000000000004000000000000000000000000000000000100000000000002000000000000008e84dfe8cba1ed44833a846ebbdef598b791945d58236239ad6173c8ec48a403b3553249a0984aa3a226f12708cd059100c0d001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0400000000000000040000000000000007000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f0000300000000100000000000000cc0000500100000000db3e0000300000000100000000000000cc0000d00100000000ab3e0000300000000100000000000000cc00005002000000007b3e0000300000000100000000000000cc00005004000000004b3e00003000"/672, 0x2a0, 0x250be80}, {&(0x7f0000015a00)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005001000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005001000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d000000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005000000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000001000000000000000400000000000ae9e201d9b6442f2a143c16bdd521abc24cd1e409d4b58363202f5d92a1fb005a98117daef8693d1ac97b521be1ee8c1b3553249a0984aa3a226f12708cd05910000d101000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc04000000000000000700000000000000", 0x1c0, 0x250fea0}, {&(0x7f0000015c00)="cab8808803fe9384d9939267117b27d55cc583dd27c933893468daa041440e2db3553249a0984aa3a226f12708cd05910040d101000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x2514000}, {&(0x7f0000015d00)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f0000000000000000000000000000000000000000a6a2413e5985f8c0ff8416dfe48e939daa2e45e13b9720bbdee102b696d43f74b3553249a0984aa3a226f12708cd05910080d101000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc04000000000000000900000000000000010000000075887986ba634650fb86d23e8341e5f409933f0000080000000000", 0x140, 0x2517f40}, {&(0x7f0000015f00)="00000000000000000000000000000000000000000000000005000000000000005b412d80d8b4c48dce72389599028daa0d33fa2c778a96a04c8ee259dbf66d60b3553249a0984aa3a226f12708cd059100c0d101000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc050000000000000002000000000000000b000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000000d10100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e0000210000000080d10100000000a90000000000000000ae3e00002100000000c0d10100000000a900000000000000008d3e0000210000000000d20100000000a900000000000000006c3e0000210000000040d20100000000a900000000000000004b3e0000210000000080d10100000000a900000000000000004b3e0000210000000080d10100000000a90000000000000000333e0000210000000000500000000000c00000800000000000f33e000018", 0x1e0, 0x251bfe0}, {&(0x7f0000016100)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b003000000000000000040000000000000000100000000000022000000000000000000000000000000000100000000000001000000000000000a276106580298f53c951825501e661b574b0f72ddab04a0ac5cf75e821cbc4bb3553249a0984aa3a226f12708cd05910000d201000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/672, 0x2a0, 0x251fe80}, {&(0x7f0000016400)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005001000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005001000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d000000000000000800000000000ae9e201d9b6442f2a143c16bdd521abccabf85c3934563368df556bc48c11007a2d675f8692f37ee86f88c3588d6ac45b3553249a0984aa3a226f12708cd05910040d201000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc050000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x2c0, 0x2523ea0}, {&(0x7f0000016700)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2527560}, {&(0x7f0000016800)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2527720}, {&(0x7f0000016900)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2527840}, {&(0x7f0000016a00)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x25278e0}, {&(0x7f0000016b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x25279e0}, {&(0x7f0000016d00)="00000000000000000000040000000000000000010000000000000000d0010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000000075887986ba63465086d23e8341e5f40900"/128, 0x80, 0x2527b60}, {&(0x7f0000016e00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00'/64, 0x40, 0x2527c00}, {&(0x7f0000016f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2527c80}, {&(0x7f0000017000)="000000000000000000000000000000000000050000000000000000000000000000000000d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x2527d20}, {&(0x7f0000017100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2527e40}, {&(0x7f0000017200)="0000000000000000000500000000000000000000000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x2527ee0}, {&(0x7f0000017300)="67267865a0615e2dcaf50e4edb280b071ff89aaebdb11f545947ba0107743ebbb3553249a0984aa3a226f12708cd0591000000040000000001000000000000005f42485266535f4d05000000000000000040d2010000000000405001000000000000000000000000000000000000000000000008000000000000020000000000060000000000000001000000000000000010000000400000004000000010000081000000050000000000000000000000000000000000000000000000c10100000000000002000000000100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009a0f743feca24b43b3572a3820cedce4b3553249a0984aa3a226f12708cd059100"/320, 0x140, 0x4000000}, {&(0x7f0000017500)="0000000000000000000000ffffffffffffffff00"/32, 0x20, 0x4000220}, {&(0x7f0000017600)="00000000000000000000000001000000000000e40000500100000000000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009a0f743feca24b43b3572a3820cedce401000000000000000000d001000000009a0f743feca24b43b3572a3820cedce4000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009a0f743feca24b43b3572a3820cedce401000000000000000000d001000000009a0f743feca24b43b3572a3820cedce400"/256, 0x100, 0x4000320}, {&(0x7f0000017700)="00000000000000000000000040d2010000000005000000000000000040500100000000050000000000000000c0d1010000000005000000000000000000d0010000000004000000000000000000d2010000000005000000000000000000d1010000000004000000000000000000000800000000000002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000020000000000000000001200000000000200000000000000008011000000000002000000000000000000110000000000010000000000000000c011000000000002000000000000000040110000000000010000000000000000000008000000000080010000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0500000000000030000000000000000001000000000000300000000000000008050000000000003000000000000000000510000000000030000000000000000405000000000000300000000000000004011000000000001000000000000000000000800000000008001000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d001000000000400000000000000000050010000000004000000000000000080d0010000000004000000000000000000d00100000000040000000000000000c0d0010000000004000000000000000000d101000000000400000000000000000000080000000000000200000000000100"/640, 0x280, 0x4000b20}, {&(0x7f0000017a00)="ef77a2421c16cbaa777409d60e77c38ac01bfbf7155439c1109aaa099da6b84db3553249a0984aa3a226f12708cd05910000d001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0400000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x4500000}, {&(0x7f0000017b00)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000051cbe89d9feb14a462e0ef15cf0ed9b8106b71cd5be1441699686eec129338c4b3553249a0984aa3a226f12708cd05910040d001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc040000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x220, 0x4503f40}, {&(0x7f0000017e00)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4507560}, {&(0x7f0000017f00)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4507720}, {&(0x7f0000018000)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4507840}, {&(0x7f0000018100)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x45078e0}, {&(0x7f0000018200)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x45079e0}, {&(0x7f0000018400)="00000000000000000000040000000000000000010000000000000000d0010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000000075887986ba63465086d23e8341e5f40900"/128, 0x80, 0x4507b60}, {&(0x7f0000018500)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00'/64, 0x40, 0x4507c00}, {&(0x7f0000018600)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4507c80}, {&(0x7f0000018700)="0000000000000000000000000000000000000400000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4507d20}, {&(0x7f0000018800)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4507e40}, {&(0x7f0000018900)="000000000000000000040000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000", 0x60, 0x4507ee0}, {&(0x7f0000018a00)="235a0b64f99298fe0b3b464f8880979874ababf3c913cf4bf09099a236f645f2b3553249a0984aa3a226f12708cd05910080d001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc040000000000000002000000000000000d000000000000100000000000c00000400000000000833f0000180000000000500000000000c000008000000000006b3f0000180000000000d00000000000c00000800000000000533f0000180000000000500100000000a90000000000000000323f0000210000000000500100000000c000008000000000001a3f0000180000000000d00100000000a90000000000000000f93e0000210000000000d00100000000c00000000200000000e13e0000180000000040d00100000000a90000000000000000c03e0000210000000080d00100000000a900000000000000009f3e00002100000000c0d00100000000a900000000000000007e3e0000210000000000d10100000000a900000000000000005d3e0000210000000040d10100000000a900000000000000003c3e0000210000000080d10100000000a900000000000000001b3e0000210000000000500000000000c00000800000000000f33e000018", 0x1c0, 0x4508000}, {&(0x7f0000018c00)="010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b00700000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000004000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b0010000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000004000000000000000010000000000002200000000000000010000000000000004000000000000000200000000000000b003000000000000000000000000000000000100000000000001000000000000000000000000000000000100000000000004000000000000000000000000000000000100000000000002000000000000008e84dfe8cba1ed44833a846ebbdef598b791945d58236239ad6173c8ec48a403b3553249a0984aa3a226f12708cd059100c0d001000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0400000000000000040000000000000007000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f0000300000000100000000000000cc0000500100000000db3e0000300000000100000000000000cc0000d00100000000ab3e0000300000000100000000000000cc00005002000000007b3e0000300000000100000000000000cc00005004000000004b3e00003000"/672, 0x2a0, 0x450be80}, {&(0x7f0000018f00)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005001000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005001000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d000000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005000000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000001000000000000000400000000000ae9e201d9b6442f2a143c16bdd521abc24cd1e409d4b58363202f5d92a1fb005a98117daef8693d1ac97b521be1ee8c1b3553249a0984aa3a226f12708cd05910000d101000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc04000000000000000700000000000000", 0x1c0, 0x450fea0}, {&(0x7f0000019100)="cab8808803fe9384d9939267117b27d55cc583dd27c933893468daa041440e2db3553249a0984aa3a226f12708cd05910040d101000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x4514000}, {&(0x7f0000019200)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f0000000000000000000000000000000000000000a6a2413e5985f8c0ff8416dfe48e939daa2e45e13b9720bbdee102b696d43f74b3553249a0984aa3a226f12708cd05910080d101000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc04000000000000000900000000000000010000000075887986ba634650fb86d23e8341e5f409933f0000080000000000", 0x140, 0x4517f40}, {&(0x7f0000019400)="00000000000000000000000000000000000000000000000005000000000000005b412d80d8b4c48dce72389599028daa0d33fa2c778a96a04c8ee259dbf66d60b3553249a0984aa3a226f12708cd059100c0d101000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc050000000000000002000000000000000b000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000000d10100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e0000210000000080d10100000000a90000000000000000ae3e00002100000000c0d10100000000a900000000000000008d3e0000210000000000d20100000000a900000000000000006c3e0000210000000040d20100000000a900000000000000004b3e0000210000000080d10100000000a900000000000000004b3e0000210000000080d10100000000a90000000000000000333e0000210000000000500000000000c00000800000000000f33e000018", 0x1e0, 0x451bfe0}, {&(0x7f0000019600)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b003000000000000000040000000000000000100000000000022000000000000000000000000000000000100000000000001000000000000000a276106580298f53c951825501e661b574b0f72ddab04a0ac5cf75e821cbc4bb3553249a0984aa3a226f12708cd05910000d201000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc0500000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/672, 0x2a0, 0x451fe80}, {&(0x7f0000019900)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d001000000000000000200000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005001000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc0300000000000000000100000000000000005001000000000000800000000000ae9e201d9b6442f2a143c16bdd521abc030000000000000000010000000000000000d000000000000000800000000000ae9e201d9b6442f2a143c16bdd521abccabf85c3934563368df556bc48c11007a2d675f8692f37ee86f88c3588d6ac45b3553249a0984aa3a226f12708cd05910040d201000000000100000000000001ae9e201d9b6442f2a143c16bdd521abc050000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x2c0, 0x4523ea0}, {&(0x7f0000019c00)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4527560}, {&(0x7f0000019d00)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4527720}, {&(0x7f0000019e00)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4527840}, {&(0x7f0000019f00)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x45278e0}, {&(0x7f000001a000)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000074315f5f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x45279e0}, {&(0x7f000001a200)="00000000000000000000040000000000000000010000000000000000d0010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000000075887986ba63465086d23e8341e5f40900"/128, 0x80, 0x4527b60}, {&(0x7f000001a300)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00\x00\x00\x00\x00\x00\x00\x00t1__\x00'/64, 0x40, 0x4527c00}, {&(0x7f000001a400)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4527c80}, {&(0x7f000001a500)="000000000000000000000000000000000000050000000000000000000000000000000000d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x4527d20}, {&(0x7f000001a600)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4527e40}, {&(0x7f000001a700)="0000000000000000000500000000000000000000000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x4527ee0}], 0x0, &(0x7f0000000c80)=ANY=[@ANYBLOB="006a58ce89f93c4ee0b1a833db798a85ee0716fdde3c754e6301aa6a6b000ca39baa5706edcefee044d59e35a441261f04557882d7e31e1565c0745a7a239e9f8fffa50e6d288b21552c5840783735de8b80aecf7d391667b9a14211b309aefeb77efaced69b0000c465a3b38c939b8645ec9a58dca8c9302779a4eeb8bb849d9a11108816b015a735ccf1acd3670a0357cc7f7e6deee3a125be806a34f760a42ecd0eb7b9e405f8a5cd78356ef46c9e4b034c4603e573124029858b231d47f62bce7b913c6f1d0d97d4dcbbf44ee2becc0c83c5c1ced8"]) fstat(r0, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x0, 0x0}) mount$9p_rdma(&(0x7f0000000040)='127.0.0.1\x00', &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='9p\x00', 0x20, &(0x7f0000000d80)={'trans=rdma,', {'port', 0x3d, 0x4e23}, 0x2c, {[{@rq={'rq', 0x3d, 0x2}}, {@common=@noextend='noextend'}, {@rq={'rq'}}], [{@euid_gt={'euid>', r1}}, {@pcr={'pcr', 0x3d, 0x1b}}, {@uid_gt={'uid>'}}, {@seclabel='seclabel'}, {@subj_type={'subj_type', 0x3d, 'btrfs\x00'}}, {@fsname={'fsname', 0x3d, '#'}}, {@mask={'mask', 0x3d, 'MAY_APPEND'}}, {@smackfsroot={'smackfsroot', 0x3d, 'btrfs\x00'}}]}}) [ 191.091593][ T9510] overlayfs: unrecognized mount option "fsmagic=0x00000000000000b4" or missing value [ 191.129893][ T9511] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 191.148579][ T9510] overlayfs: unrecognized mount option "fsmagic=0x00000000000000b4" or missing value 03:49:49 executing program 1 (fault-call:0 fault-nth:0): syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:49 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b3a, &(0x7f00000005c0)) [ 191.190272][ T9511] FAULT_INJECTION: forcing a failure. [ 191.190272][ T9511] name failslab, interval 1, probability 0, space 0, times 0 [ 191.273859][ T9515] BTRFS: device fsid b3553249-a098-4aa3-a226-f12708cd0591 devid 1 transid 5 /dev/loop4 scanned by syz-executor.4 (9515) [ 191.288830][ T9511] CPU: 0 PID: 9511 Comm: syz-executor.3 Not tainted 5.9.0-rc5-syzkaller #0 [ 191.297426][ T9511] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 191.307578][ T9511] Call Trace: [ 191.310882][ T9511] dump_stack+0x198/0x1fd [ 191.311532][ T9519] FAULT_INJECTION: forcing a failure. [ 191.311532][ T9519] name failslab, interval 1, probability 0, space 0, times 0 [ 191.315243][ T9511] should_fail.cold+0x5/0x14 [ 191.315267][ T9511] should_failslab+0x5/0xf [ 191.315282][ T9511] slab_pre_alloc_hook.constprop.0+0xf4/0x1f0 [ 191.315304][ T9511] kmem_cache_alloc_node_trace+0x55/0x430 [ 191.348595][ T9511] ? __alloc_skb+0x71/0x550 [ 191.353100][ T9511] ? rcu_read_lock_sched_held+0x3a/0xb0 [ 191.358646][ T9511] ? kmem_cache_alloc_node+0x38d/0x430 [ 191.364238][ T9511] __kmalloc_node_track_caller+0x38/0x60 [ 191.369890][ T9511] __alloc_skb+0xae/0x550 [ 191.374228][ T9511] netlink_ack+0x331/0xa10 [ 191.378649][ T9511] ? netlink_sendmsg+0xd90/0xd90 [ 191.383721][ T9511] ? lock_release+0x8f0/0x8f0 [ 191.388401][ T9511] ? netdev_core_pick_tx+0x2e0/0x2e0 [ 191.393696][ T9511] netlink_rcv_skb+0x344/0x430 [ 191.398468][ T9511] ? genl_family_rcv_msg_attrs_parse.isra.0+0x250/0x250 [ 191.405405][ T9511] ? netlink_ack+0xa10/0xa10 [ 191.410010][ T9511] genl_rcv+0x24/0x40 [ 191.413996][ T9511] netlink_unicast+0x533/0x7d0 [ 191.418773][ T9511] ? netlink_attachskb+0x810/0x810 [ 191.423895][ T9511] ? __phys_addr_symbol+0x2c/0x70 [ 191.428947][ T9511] ? __check_object_size+0x171/0x3e4 [ 191.434240][ T9511] netlink_sendmsg+0x856/0xd90 [ 191.439012][ T9511] ? netlink_unicast+0x7d0/0x7d0 [ 191.443957][ T9511] ? bpf_lsm_socket_sendmsg+0x5/0x10 [ 191.449241][ T9511] ? netlink_unicast+0x7d0/0x7d0 [ 191.454176][ T9511] sock_sendmsg+0xcf/0x120 [ 191.458595][ T9511] ____sys_sendmsg+0x6e8/0x810 [ 191.463365][ T9511] ? kernel_sendmsg+0x50/0x50 [ 191.468046][ T9511] ? do_recvmmsg+0x6d0/0x6d0 [ 191.472639][ T9511] ? lockdep_hardirqs_on_prepare+0x530/0x530 [ 191.478616][ T9511] ? lock_downgrade+0x830/0x830 [ 191.483466][ T9511] ? _parse_integer+0x132/0x180 [ 191.488342][ T9511] ___sys_sendmsg+0xf3/0x170 [ 191.492939][ T9511] ? sendmsg_copy_msghdr+0x160/0x160 [ 191.498336][ T9511] ? __fget_files+0x272/0x400 [ 191.503021][ T9511] ? lock_downgrade+0x830/0x830 [ 191.507884][ T9511] ? lock_is_held_type+0xbb/0xf0 [ 191.512806][ T9511] ? find_held_lock+0x2d/0x110 [ 191.517578][ T9511] ? __fget_files+0x294/0x400 [ 191.522245][ T9511] ? __fget_light+0xea/0x280 [ 191.526842][ T9511] __sys_sendmsg+0xe5/0x1b0 [ 191.531327][ T9511] ? __sys_sendmsg_sock+0xb0/0xb0 [ 191.536429][ T9511] ? check_preemption_disabled+0x50/0x130 [ 191.542127][ T9511] ? syscall_enter_from_user_mode+0x1d/0x60 [ 191.548007][ T9511] do_syscall_64+0x2d/0x70 [ 191.552404][ T9511] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 191.558271][ T9511] RIP: 0033:0x45d5f9 [ 191.562148][ T9511] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 191.581732][ T9511] RSP: 002b:00007f3db876cc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 191.590123][ T9511] RAX: ffffffffffffffda RBX: 000000000002ce80 RCX: 000000000045d5f9 [ 191.598087][ T9511] RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000003 [ 191.606040][ T9511] RBP: 00007f3db876cca0 R08: 0000000000000000 R09: 0000000000000000 [ 191.613994][ T9511] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 [ 191.621946][ T9511] R13: 00007ffd338965ef R14: 00007f3db876d9c0 R15: 000000000118cf4c [ 191.695038][ T9519] CPU: 0 PID: 9519 Comm: syz-executor.1 Not tainted 5.9.0-rc5-syzkaller #0 [ 191.703843][ T9519] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 191.713891][ T9519] Call Trace: [ 191.717186][ T9519] dump_stack+0x198/0x1fd [ 191.721524][ T9519] should_fail.cold+0x5/0x14 [ 191.726118][ T9519] ? __do_sys_memfd_create+0xf6/0x440 [ 191.731491][ T9519] should_failslab+0x5/0xf [ 191.735907][ T9519] slab_pre_alloc_hook.constprop.0+0xf4/0x1f0 [ 191.741977][ T9519] __kmalloc+0x6f/0x360 [ 191.746136][ T9519] ? strnlen_user+0x223/0x2f0 [ 191.750841][ T9519] __do_sys_memfd_create+0xf6/0x440 [ 191.756038][ T9519] ? memfd_file_seals_ptr+0x150/0x150 [ 191.761422][ T9519] ? syscall_enter_from_user_mode+0x1d/0x60 [ 191.767318][ T9519] ? check_preemption_disabled+0x50/0x130 [ 191.773041][ T9519] ? syscall_enter_from_user_mode+0x1d/0x60 [ 191.778940][ T9519] do_syscall_64+0x2d/0x70 [ 191.783364][ T9519] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 191.789256][ T9519] RIP: 0033:0x45d5f9 03:49:49 executing program 3 (fault-call:1 fault-nth:6): r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 191.793150][ T9519] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 191.812777][ T9519] RSP: 002b:00007f097bbc9a28 EFLAGS: 00000246 ORIG_RAX: 000000000000013f [ 191.821191][ T9519] RAX: ffffffffffffffda RBX: 00000000200013c0 RCX: 000000000045d5f9 [ 191.829178][ T9519] RDX: 00007f097bbc9ae0 RSI: 0000000000000000 RDI: 00000000004c2083 [ 191.837149][ T9519] RBP: 0000000000000000 R08: 00007f097bbc9ad8 R09: 0000000000000000 03:49:49 executing program 0: r0 = semget$private(0x0, 0x8, 0x4) semop(r0, &(0x7f0000000140)=[{0x0, 0xffff}], 0x1) ioctl$BTRFS_IOC_SCRUB_PROGRESS(0xffffffffffffffff, 0xc400941d, &(0x7f0000000180)={0x0, 0x8, 0x3ff, 0x1}) semctl$GETZCNT(r0, 0x0, 0x10, 0x0) syz_mount_image$romfs(&(0x7f0000000080)='romfs\x00', &(0x7f00000000c0)='./file0\x00', 0x80000000, 0x1, &(0x7f0000000100)=[{&(0x7f0000000580)="3ebfe1d7cfa8eac6f34d9d818d18a8b315b9053c31dd5d996dbdf4f7f84236fd20429485495f183400669eff80db3fd07d6531e25a9254099c2a4da362f308a7722fa1ee8180c7c8e352a53fe786a47678698ed84e1141e8a46d17c17d4020a213788e78e068b91759b2632e4265b7bf3b5dc2fa9e615acf674ec4bd3339d83df39728898253f6ff2b95ec6527f882", 0x8f, 0x4}], 0x2000, &(0x7f0000000780)=ANY=[@ANYBLOB='%%+:,appraise_tipe=imasig,\x00']) recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000700)={&(0x7f0000000000)=@pppol2tpin6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @private2}}}, 0x80, &(0x7f0000000600), 0x0, &(0x7f0000000640)=""/130, 0x82}, 0x100) setsockopt$bt_BT_CHANNEL_POLICY(r1, 0x112, 0xa, &(0x7f0000000740)=0x40, 0x4) 03:49:49 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000000)={0x0, 0x0, 0x0}, &(0x7f0000000040)=0xc) setregid(0x0, r1) getresgid(&(0x7f00000001c0)=0x0, &(0x7f0000000200), &(0x7f0000000240)) stat(&(0x7f0000000280)='./file0\x00', &(0x7f0000000400)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r4 = getegid() r5 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000000000)={0x0, 0x0, 0x0}, &(0x7f0000000040)=0xc) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000000)={0x0, 0x0, 0x0}, &(0x7f0000000040)=0xc) setregid(r6, r7) write$FUSE_ATTR(0xffffffffffffffff, &(0x7f0000000080)={0x78, 0x2f, 0x1, {0x5, 0x0, 0x0, {0x0, 0x0, 0x9, 0xcfc, 0xc51, 0x0, 0x0, 0x0, 0xfdf4, 0x9, 0xfffffff8, 0x0, r6, 0x7142}}}, 0x9c) lchown(&(0x7f0000000100)='./file0\x00', 0x0, r6) r8 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r8, 0x1, 0x11, &(0x7f0000000000)={0x0, 0x0, 0x0}, &(0x7f0000000040)=0xc) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000000)={0x0, 0x0, 0x0}, &(0x7f0000000040)=0xc) setregid(r9, r10) r11 = getegid() statx(r0, &(0x7f0000000140)='./file0\x00', 0x800, 0x200, &(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) setxattr$system_posix_acl(&(0x7f0000000000)='./file0\x00', &(0x7f0000000040)='system.posix_acl_access\x00', &(0x7f0000000340)=ANY=[@ANYBLOB="02000000010003000000000002000400", @ANYRES32=0x0, @ANYBLOB="02000500", @ANYRES32=0x0, @ANYBLOB="02000400", @ANYRES32=0x0, @ANYBLOB="02000500", @ANYRES32=0xee00, @ANYBLOB="02000100", @ANYRES32=0x0, @ANYBLOB="040003000000000008000200", @ANYRES32=r1, @ANYBLOB="08000400", @ANYRES32=r2, @ANYBLOB="08000100", @ANYRES32=r3, @ANYBLOB="08000100", @ANYRES32=r4, @ANYBLOB="08000600", @ANYRES32=r6, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=r10, @ANYBLOB="08000100", @ANYRES32=r11, @ANYBLOB="7f2b89fd5c282aa43d2861554f388e944c8fc632b7eca1a6fcf6be4556f4e397fb3b9c24d146d4730863c62b8ae55e48a0ed2a893d22da21", @ANYRES32=r12, @ANYBLOB="10000000000000002000010000000000"], 0x8c, 0x1) fallocate(r0, 0x20, 0x0, 0xffffffbf000) [ 191.845120][ T9519] R10: 00007f097bbc9adc R11: 0000000000000246 R12: 0000000000000000 [ 191.853201][ T9519] R13: 0000000020000080 R14: 00000000200013c0 R15: 0000000020001480 [ 191.872441][ T9515] BTRFS info (device loop4): disk space caching is enabled 03:49:49 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b3b, &(0x7f00000005c0)) [ 191.921554][ T9515] BTRFS info (device loop4): has skinny extents 03:49:50 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r1 = signalfd(r0, &(0x7f0000000000), 0x8) ioctl$TUNDETACHFILTER(r1, 0x401054d6, 0x0) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r2, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) ioctl$SIOCNRDECOBS(r2, 0x89e2) [ 191.974004][ T9515] BTRFS info (device loop4): flagging fs with big metadata feature [ 191.985884][ T9530] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:50 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b3c, &(0x7f00000005c0)) 03:49:50 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000000)='/dev/bsg\x00', 0x400, 0x0) ioctl$CAPI_GET_FLAGS(r1, 0x80044323, &(0x7f0000000040)) r2 = syz_open_dev$sg(&(0x7f0000000040)='/dev/sg#\x00', 0x0, 0x0) r3 = openat$mice(0xffffffffffffff9c, &(0x7f0000000180)='/dev/input/mice\x00', 0x30080) sendmsg$IPCTNL_MSG_TIMEOUT_DELETE(r3, &(0x7f0000000300)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f00000002c0)={&(0x7f0000000340)=ANY=[@ANYBLOB="980000000208020600000000000000000a000002060002409000000006000240880900000600024000060000050003003a0000004400048008000140000005010800014054fb54110800014000007fff080001400000000708000140000000050800014000000002080001400000004008000140000080601400048008000340000000060800084000000fff0400048006000240892f000074f8d13ea4c0a0cac6cd387b32e1d92e5eb48537de2a2dd2402649c68193eca0c94d3c2a79592a4ed040763e3cb06015cc83aa5ae5386dac9981543c1816677739d68316ae92497d26205fbe4b35f1c2d254dbeccb40e2a41213122538c80b90e46139b842c672ef7ecf3b34a170796477ce261c1b40cfeecdd2b907ed6fc9c81ed947"], 0x98}, 0x1, 0x0, 0x0, 0x40000}, 0x4) ioctl$SG_SET_RESERVED_SIZE(r2, 0x2275, &(0x7f00000000c0)=0x10d060000) mmap(&(0x7f0000001000/0xa000)=nil, 0xa000, 0x0, 0x11, r2, 0x0) ioctl$SG_SET_COMMAND_Q(r2, 0x2271, &(0x7f0000000140)) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r4 = open_tree(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0x1000) fcntl$F_GET_RW_HINT(r4, 0x40b, &(0x7f0000000100)) ioctl$IMGETVERSION(r1, 0x80044942, &(0x7f0000000200)) ioctl$BLKRESETZONE(r4, 0x40101283, &(0x7f00000000c0)={0x9}) [ 192.079215][ T9530] FAULT_INJECTION: forcing a failure. [ 192.079215][ T9530] name failslab, interval 1, probability 0, space 0, times 0 [ 192.159361][ T9530] CPU: 1 PID: 9530 Comm: syz-executor.3 Not tainted 5.9.0-rc5-syzkaller #0 [ 192.167982][ T9530] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 192.178038][ T9530] Call Trace: [ 192.181354][ T9530] dump_stack+0x198/0x1fd [ 192.185697][ T9530] should_fail.cold+0x5/0x14 [ 192.190315][ T9530] ? netlink_deliver_tap+0x146/0xb70 [ 192.195593][ T9530] should_failslab+0x5/0xf [ 192.200014][ T9530] slab_pre_alloc_hook.constprop.0+0x3d/0x1f0 [ 192.206075][ T9530] kmem_cache_alloc+0x46/0x3f0 [ 192.210834][ T9530] skb_clone+0x14f/0x3c0 [ 192.215071][ T9530] netlink_deliver_tap+0x990/0xb70 [ 192.220175][ T9530] ? is_vmalloc_addr+0x28/0x40 [ 192.224943][ T9530] netlink_unicast+0x697/0x7d0 [ 192.229692][ T9530] ? netlink_attachskb+0x810/0x810 [ 192.234787][ T9530] ? memset+0x20/0x40 [ 192.238750][ T9530] ? __nlmsg_put+0x155/0x1c0 [ 192.243340][ T9530] netlink_ack+0x6e2/0xa10 [ 192.247751][ T9530] ? netlink_sendmsg+0xd90/0xd90 [ 192.252672][ T9530] ? lock_release+0x8f0/0x8f0 [ 192.257334][ T9530] ? netdev_core_pick_tx+0x2e0/0x2e0 [ 192.262601][ T9530] netlink_rcv_skb+0x344/0x430 [ 192.267359][ T9530] ? genl_family_rcv_msg_attrs_parse.isra.0+0x250/0x250 [ 192.274310][ T9530] ? netlink_ack+0xa10/0xa10 [ 192.278886][ T9530] genl_rcv+0x24/0x40 [ 192.282850][ T9530] netlink_unicast+0x533/0x7d0 [ 192.287599][ T9530] ? netlink_attachskb+0x810/0x810 [ 192.292691][ T9530] ? __phys_addr_symbol+0x2c/0x70 [ 192.297691][ T9530] ? __check_object_size+0x171/0x3e4 [ 192.302981][ T9530] netlink_sendmsg+0x856/0xd90 [ 192.307727][ T9530] ? netlink_unicast+0x7d0/0x7d0 [ 192.312650][ T9530] ? bpf_lsm_socket_sendmsg+0x5/0x10 [ 192.317935][ T9530] ? netlink_unicast+0x7d0/0x7d0 [ 192.322874][ T9530] sock_sendmsg+0xcf/0x120 [ 192.327275][ T9530] ____sys_sendmsg+0x6e8/0x810 [ 192.332020][ T9530] ? kernel_sendmsg+0x50/0x50 [ 192.336687][ T9530] ? do_recvmmsg+0x6d0/0x6d0 [ 192.341294][ T9530] ? lockdep_hardirqs_on_prepare+0x530/0x530 [ 192.347355][ T9530] ? lock_downgrade+0x830/0x830 [ 192.352187][ T9530] ? _parse_integer+0x132/0x180 [ 192.357031][ T9530] ___sys_sendmsg+0xf3/0x170 [ 192.361609][ T9530] ? sendmsg_copy_msghdr+0x160/0x160 [ 192.366873][ T9530] ? __fget_files+0x272/0x400 [ 192.371543][ T9530] ? lock_downgrade+0x830/0x830 [ 192.376383][ T9530] ? lock_is_held_type+0xbb/0xf0 [ 192.381425][ T9530] ? find_held_lock+0x2d/0x110 [ 192.386189][ T9530] ? __fget_files+0x294/0x400 [ 192.390863][ T9530] ? __fget_light+0xea/0x280 [ 192.395460][ T9530] __sys_sendmsg+0xe5/0x1b0 [ 192.399952][ T9530] ? __sys_sendmsg_sock+0xb0/0xb0 [ 192.404969][ T9530] ? check_preemption_disabled+0x50/0x130 [ 192.410670][ T9530] ? syscall_enter_from_user_mode+0x1d/0x60 [ 192.416552][ T9530] do_syscall_64+0x2d/0x70 [ 192.420953][ T9530] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 192.426833][ T9530] RIP: 0033:0x45d5f9 [ 192.430719][ T9530] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 192.450349][ T9530] RSP: 002b:00007f3db876cc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e 03:49:50 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:50 executing program 3 (fault-call:1 fault-nth:7): r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 192.458740][ T9530] RAX: ffffffffffffffda RBX: 000000000002ce80 RCX: 000000000045d5f9 [ 192.466689][ T9530] RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000003 [ 192.474707][ T9530] RBP: 00007f3db876cca0 R08: 0000000000000000 R09: 0000000000000000 [ 192.482758][ T9530] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000006 [ 192.490726][ T9530] R13: 00007ffd338965ef R14: 00007f3db876d9c0 R15: 000000000118cf4c 03:49:50 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$ethtool(&(0x7f0000000000)='ethtool\x00') sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) setsockopt$inet6_tcp_TLS_RX(0xffffffffffffffff, 0x6, 0x2, &(0x7f0000000040)=@gcm_128={{0x304}, "36dd92ce1e0ec52f", "2a79017b86d3cf9293703671c89ffa8a", "c12532fa", "40358e1c2833a85b"}, 0x28) [ 192.591163][ T9515] BTRFS error (device loop4): open_ctree failed [ 192.609029][ T9567] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 192.667273][ T9570] XFS (loop1): Invalid superblock magic number 03:49:50 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b3d, &(0x7f00000005c0)) 03:49:50 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) seccomp$SECCOMP_GET_ACTION_AVAIL(0x2, 0x0, &(0x7f0000000000)=0x4d373aad) r1 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ttyS3\x00', 0x0, 0x0) ioctl$TCFLSH(r1, 0x5418, 0x20709ffd) ioctl$TIOCOUTQ(r1, 0x5411, &(0x7f0000000040)) 03:49:50 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 192.807828][ T9583] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 192.864753][ T9588] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:50 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) ioctl$int_in(0xffffffffffffffff, 0x0, 0x0) 03:49:50 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x2, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:50 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b40, &(0x7f00000005c0)) 03:49:50 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x5, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000d40000000f000000010000000000000000000000002000000020000020000000d1f4655fd1f4655f0100ffff53ef010001000000d0f4655f000000000000000001000000000000000b0000000002", 0x5a, 0x400}, {&(0x7f0000010400)="030000000400000005000000d4000f", 0xf, 0x800}, {&(0x7f0000010500)="ffffffffff070000000000000000000000000000000000000000000000000080ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x402, 0xc00}, {&(0x7f0000010e00)="ed41000000040000d0f4655fd1f4655fd1f4655f000000000000040002", 0x1d, 0x1600}, {0x0}], 0x0, &(0x7f0000000140)=ANY=[@ANYBLOB="822e6dc9a54a2c7f0e12c6b3428ce1cfe17c579d76dfc534fc203f464dbbc2aeed1fd80ac1c5768224a87088071e1b2936cb0d869288b9c0751b333675eee8eb54fffd2cd514b6a6436e37722bf6c9fbc1d52a6b29e91e8ad33e83a4e0e12c656a970c00e1dd2c25debe140504c21eae6b701c4abf5f23a325130ad44136bae4163de132a3b914aa34e463976314d29d3f97fa42a5cf0673ecca0a7adb64dd6f3ab530071173f1378b4ace30c2cf9f227a2e9809bd"]) r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x410481, 0x0) ioctl$BLKFLSBUF(0xffffffffffffffff, 0x1261, &(0x7f0000000040)) ioctl$IOCTL_START_ACCEL_DEV(0xffffffffffffffff, 0x40096102, &(0x7f00000000c0)={{&(0x7f0000000540)={'Accelerator1\x00', {&(0x7f0000000340)=@adf_dec={@bank={'Bank', '1', 'InterruptCoalescingNumResponses\x00'}, {0xffffffffffffffc0}, {&(0x7f0000000280)=@adf_dec={@format={'Dc', '0', 'RingAsymTx\x00'}, {0x756}}}}}, {&(0x7f00000004c0)={'Accelerator\x00', {&(0x7f0000000400)=@adf_dec={@normal='NumberDcInstances\x00', {0x8000}}}}}}}, 0x20}) pwritev(r0, &(0x7f00000014c0)=[{&(0x7f0000000080)="d6", 0x1}], 0x1, 0x0, 0x0) ioctl$UI_SET_PHYS(0xffffffffffffffff, 0x4008556c, &(0x7f00000005c0)='syz1\x00') 03:49:51 executing program 5: openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x2a442, 0x0) [ 192.949713][ T9593] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:51 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 193.065303][ T9600] EXT4-fs (loop4): Unrecognized mount option "‚.mÉ¥J" or missing value [ 193.083204][ T9599] XFS (loop1): Invalid superblock magic number 03:49:51 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b41, &(0x7f00000005c0)) [ 193.106646][ T27] audit: type=1804 audit(1600660191.075:8): pid=9610 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/33/bus" dev="sda1" ino=16008 res=1 errno=0 [ 193.134795][ T9614] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:51 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) recvfrom$ax25(0xffffffffffffffff, &(0x7f0000000000)=""/227, 0xe3, 0x2, &(0x7f0000000100)={{0x3, @null, 0x8}, [@bcast, @default, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @null, @bcast, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}]}, 0x48) r1 = fsmount(0xffffffffffffffff, 0x1, 0x71) write$P9_RSTATFS(r1, &(0x7f0000000180)={0x43, 0x9, 0x2, {0x0, 0x32, 0x7, 0x1, 0x8001, 0x1, 0x4, 0xf0e0, 0x5}}, 0x43) fallocate(r0, 0x20, 0x0, 0xffffffbf000) [ 193.169169][ T9600] EXT4-fs (loop4): Unrecognized mount option "‚.mÉ¥J" or missing value 03:49:51 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b44, &(0x7f00000005c0)) 03:49:51 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x2, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:51 executing program 4: r0 = syz_open_dev$sg(&(0x7f0000000040)='/dev/sg#\x00', 0x0, 0x2) ioctl$SG_SET_RESERVED_SIZE(r0, 0x2275, &(0x7f00000000c0)=0x10d060000) r1 = socket$inet_udplite(0x2, 0x2, 0x88) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$PERF_EVENT_IOC_SET_FILTER(r2, 0x40082406, &(0x7f0000000000)='/\x00') mmap(&(0x7f0000001000/0xa000)=nil, 0xa000, 0x2000002, 0x11, r0, 0x0) r3 = creat(&(0x7f0000000280)='./file0\x00', 0x0) io_setup(0x8, &(0x7f0000000200)=0x0) io_submit(r4, 0x7821, &(0x7f0000000540)=[&(0x7f00000000c0)={0xe, 0x0, 0x3, 0x1, 0x0, r3, &(0x7f0000000000), 0x100f0}]) 03:49:51 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b45, &(0x7f00000005c0)) [ 193.383079][ T27] audit: type=1804 audit(1600660191.355:9): pid=9610 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/33/bus" dev="sda1" ino=16008 res=1 errno=0 03:49:51 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) ioctl$int_in(0xffffffffffffffff, 0x0, 0x0) 03:49:51 executing program 5: ioctl$KVM_INTERRUPT(0xffffffffffffffff, 0x4004ae86, &(0x7f0000000000)=0x12e) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:51 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x3, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) [ 193.525565][ T27] audit: type=1800 audit(1600660191.375:10): pid=9610 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed comm="syz-executor.0" name="bus" dev="sda1" ino=16008 res=0 errno=0 [ 193.563574][ T9642] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:51 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b46, &(0x7f00000005c0)) 03:49:51 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x3, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 193.699166][ T27] audit: type=1804 audit(1600660191.665:11): pid=9648 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/34/bus" dev="sda1" ino=16003 res=1 errno=0 03:49:51 executing program 4: socket$inet_icmp_raw(0x2, 0x3, 0x1) r0 = openat$apparmor_thread_current(0xffffffffffffff9c, &(0x7f0000000080)='/proc/thread-self/attr/current\x00', 0x2, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x3, &(0x7f00000004c0)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000200000006000000000008000080000020000000dbf4655fdbf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b0000000001000008000000d24201001283", 0x66, 0x400}, {&(0x7f0000010100)="000000000000000000000000457900aa5f634b37b3eeb32debc4d834010040", 0x1f, 0x4e0}, {&(0x7f0000010400)="02000000030000000400000016000f000300040000000000000000000f00c5d7", 0x20, 0x1000}], 0x0, &(0x7f0000000040)={[{@abort='abort'}]}) 03:49:51 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b47, &(0x7f00000005c0)) 03:49:51 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r1 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r1, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) renameat2(r0, &(0x7f0000000000)='./file0\x00', r1, &(0x7f0000000040)='./file0\x00', 0x6) [ 193.836782][ T9663] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 193.873665][ T9652] XFS (loop1): Invalid superblock magic number 03:49:51 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x4, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 193.898353][ T9667] EXT4-fs error (device loop4): ext4_fill_super:4709: inode #2: comm syz-executor.4: iget: root inode unallocated 03:49:51 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) ioctl$int_in(0xffffffffffffffff, 0x0, 0x0) [ 193.967582][ T9667] EXT4-fs (loop4): get root inode failed [ 193.988229][ T9667] EXT4-fs (loop4): mount failed 03:49:52 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x5, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:52 executing program 5: openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file1\x00', 0x80, 0x44) r0 = socket$inet_udp(0x2, 0x2, 0x0) fallocate(r0, 0x0, 0x1, 0xffffffbf000) 03:49:52 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b48, &(0x7f00000005c0)) [ 194.045975][ T9676] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 194.154094][ T9678] EXT4-fs error (device loop4): ext4_fill_super:4709: inode #2: comm syz-executor.4: iget: root inode unallocated [ 194.176464][ T9686] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 194.186518][ T9678] EXT4-fs (loop4): get root inode failed [ 194.206376][ T9678] EXT4-fs (loop4): mount failed 03:49:52 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b49, &(0x7f00000005c0)) [ 194.233389][ T9652] XFS (loop1): Invalid superblock magic number [ 194.242946][ T27] audit: type=1804 audit(1600660192.215:12): pid=9690 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/35/bus" dev="sda1" ino=16018 res=1 errno=0 03:49:52 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x4, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:52 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:52 executing program 4: syz_emit_ethernet(0x6e, &(0x7f0000000040)={@local, @local, @void, {@ipv6={0x86dd, @generic={0x0, 0x6, "b7e152", 0x38, 0x0, 0x0, @local, @local, {[@routing={0x2e, 0x0, 0x7}], "8133e3b272ef98e649068fb1ce5a129a194a5d6008510936a2bcc8f454334a7907807409f800"/48}}}}}, 0x0) r0 = open(&(0x7f0000000000)='./file0\x00', 0x50000, 0x42) ioctl$KVM_S390_INTERRUPT_CPU(r0, 0x4010ae94, &(0x7f00000000c0)={0x7, 0x7f, 0x3}) 03:49:52 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b4a, &(0x7f00000005c0)) 03:49:52 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r1, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) fsconfig$FSCONFIG_SET_PATH(0xffffffffffffffff, 0x3, &(0x7f0000000000)=']!#\'[![*-($&$[]^w[\\*1[#\\$-#\x00', &(0x7f0000000040)='./file0\x00', r1) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:52 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) ioctl$int_in(0xffffffffffffffff, 0x0, 0x0) 03:49:52 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b4b, &(0x7f00000005c0)) 03:49:52 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:52 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:52 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$devlink(&(0x7f00000000c0)='devlink\x00') sendmsg$DEVLINK_CMD_TRAP_POLICER_SET(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)={0x54, r2, 0x401, 0x0, 0x0, {}, [{@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x8e, 0x1}, {0xc}, {0xc, 0x8f, 0x425}}]}, 0x54}}, 0x0) r3 = syz_genetlink_get_family_id$tipc(&(0x7f0000000040)='TIPC\x00') sendmsg$TIPC_CMD_GET_NODES(r1, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f00000000c0)={&(0x7f0000000080)={0x1c, r3, 0x2, 0x70bd2a, 0x25dfdbff, {}, ["", "", "", "", ""]}, 0x1c}, 0x1, 0x0, 0x0, 0x40000}, 0x40000) fallocate(r0, 0x20, 0x0, 0xffffffbf000) [ 194.662129][ T9715] XFS (loop1): Invalid superblock magic number 03:49:52 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b4c, &(0x7f00000005c0)) 03:49:52 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 194.804730][ T27] audit: type=1804 audit(1600660192.775:13): pid=9732 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/36/bus" dev="sda1" ino=15937 res=1 errno=0 03:49:53 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x5, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:53 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x8, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:53 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x14) fallocate(r0, 0x20, 0x2, 0xffffffbf000) ioctl$CHAR_RAW_BSZGET(0xffffffffffffffff, 0x80081270, &(0x7f0000000000)) 03:49:53 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b4d, &(0x7f00000005c0)) 03:49:53 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:53 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:53 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b4e, &(0x7f00000005c0)) 03:49:53 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x9, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:53 executing program 4: sendmsg$nl_generic(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:53 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r0, &(0x7f0000000440)=ANY=[@ANYBLOB="3000000075000025000000fe5aeda9db2ccb87815e7f3c1353f777be1dfc4559f000"/48], 0x30) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f0000000000)={{0x401, 0xde, 0xd0b, 0x8000}, 'syz0\x00', 0x29}) r1 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r1, 0x20, 0x0, 0xffffffbf000) 03:49:53 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b52, &(0x7f00000005c0)) [ 195.241333][ T27] audit: type=1804 audit(1600660193.195:14): pid=9760 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/37/bus" dev="sda1" ino=16029 res=1 errno=0 [ 195.346057][ T9761] XFS (loop1): Invalid superblock magic number 03:49:53 executing program 4: sendmsg$nl_generic(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 195.622607][ T9761] XFS (loop1): Invalid superblock magic number 03:49:53 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x6, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:53 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) getsockopt$IPT_SO_GET_REVISION_MATCH(0xffffffffffffffff, 0x0, 0x42, &(0x7f0000000000)={'icmp\x00'}, &(0x7f0000000040)=0x1e) 03:49:53 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b60, &(0x7f00000005c0)) 03:49:53 executing program 4: sendmsg$nl_generic(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:53 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:53 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xe, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:53 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xf, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:53 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b61, &(0x7f00000005c0)) [ 195.828448][ T27] audit: type=1804 audit(1600660193.796:15): pid=9800 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/38/bus" dev="sda1" ino=16026 res=1 errno=0 03:49:53 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x48, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:53 executing program 4: socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:53 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:54 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) getsockopt$sock_linger(0xffffffffffffffff, 0x1, 0xd, &(0x7f0000000080), &(0x7f0000000040)=0x8) [ 195.992629][ T9804] XFS (loop1): Invalid superblock magic number [ 196.151515][ T27] audit: type=1804 audit(1600660194.126:16): pid=9828 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/39/bus" dev="sda1" ino=16041 res=1 errno=0 [ 196.253691][ T9804] XFS (loop1): Invalid superblock magic number 03:49:54 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x7, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:54 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x4c, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:54 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0xa8440, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) syz_mount_image$gfs2meta(&(0x7f0000000000)='gfs2meta\x00', &(0x7f0000000040)='./file0\x00', 0x6, 0x8, &(0x7f0000001440)=[{&(0x7f0000000080)="20b8339d4fb5ac48f92a8074b8d9220fbc790214a127bc9c1777", 0x1a, 0x2}, {&(0x7f00000000c0)="a4c591b0ac05014eb7f06f8ae6f870608027cae4545f64b5012a940b0651a7ac723e37666692fbe2aed0d7c69c5f119e8bce702264b2efa041d4545e31379cdb519f1f8cf825d44c968ad6f18fa5693533c1f2a16119d7b407b0c84121dc061e1b771fc869d8ceda0b3ab0b4f62fb9aa3b3ae276bbbed55f716297b5da42eab8224ec9538a8bc2e5d8cd5e0ec066233f2ba239062abbb76279de84c8bdaedc32db8a322b7c719966cc854d5cf7b381c5ebcc9fa4ceef2019ab1a09d047ef51e84009cfdfdb7fbf50bdbb1a161cfabd99b1b12d05891b38b06eee76", 0xdb, 0xb53}, {&(0x7f00000001c0)="5875e105993b554f01fec7ad29621072fc36772f8655e3644120e43bc347ffdef0", 0x21, 0x400000000000000}, {&(0x7f0000000200)="f24eb1bd87a4dec87c9cf8e7f6a7a8088096ba7ababc0fda5c9b8f0bf3e816f29a7a82630be0399ba15d6e2744ead0593847a71699fbb1e1b22ba83126b83003fd22da52d76f2a08f010fff8ac203c76a1ceca901c3202fcefa55c0e6388a35127ded5a328dfee2b2d874d80ff477267b85b17e8644082c3a9d9f8f11037646775ae9093bafd8d87dde55516b79d6ec666029355664f95a6d737b930faed78eea380453d6383a80d08524824c6708ba87b634dbefba9b558589de523e3de8a4a94f06d99cf071a37bf990ba6588968bb9e23e61a278f54916d1a132d9b7af4cf87bbb3fd2128d6a5d63014f2192470cd3c2af1", 0xf3, 0x8}, {&(0x7f0000000300)="e9419aaff008d61c85269fb6773357ff51587fff0f9d71f90c8ab920d718500b5449862d8ee86b2f6491c3a5ad6229d89daf2513a04a90ea2f2fac040bb9105a3790360163d26dd96e64b3b1737963d6bf822c015df595adcfdf5425261b787bf6f7680ca1634085232af4d2332d90faabaeb60ffae2888e44679f0a8ebe03f423ad919ed240d7dac0c9d704815718070a308deb89048601a7b6670794175ecf75fb80ecd12fb80763ad2c1a56466f195996371808f00d6ce91d0c3e8ee2bdbc4978de70abc68bf21f0c935a1a18ef0d77280d9c01d814e77af95bb5e0e896cd5971c998b40bf5a54ea1d28908321635d8c109cd557f02b238259787f55bf33328c874de103c6de0f8e09447d5c2ce4516d99283effad7b5f804e5f074324e6d1c4c1518b0c1cb778328c3698fc58ec7591ccd9f11f5757050bd06a5aa479e7e279eadedc1caaca15c2c652434920ff3be78b11b3c26196cb85fecc6f9fdd1bb68798b8ef54f44466b578432eea2b77163ed9f101521fafa00dee604ac90c81f069f96cd02955c0bf14f48d8a6301c721b689762f80a887ff159c589e63482c03930e9bdef862661537e25920f85285dc7221bbc6273fe839880df2f1746eccb28bd1edb6a30cee31011fdfa6abc690b3c49bf50d76322a2db834d151ec4f1e8ff876072037687a47b35f7e93cbdceebe4100f375e1b0d89fab4f06730e06acf66d2af82bcf8ff48f09ba83f95fdae3b57ee38ff878ca0ba9ff48a4a9f2d5fb469f9b71cce84ea454fc80c002833cc591374d57ed44fe5b191aab717fbfce0a2f4f496c26f99b1296e72e5dc4a8177b27140c31ebbfdf49d158b560ce9a960f8355928a22313439f92581563fa50fd2313e8799b2c674951d024775b4b3eae0bbae91a2ef980505e8cc3849366d56866cf2cb23617927f8c3a9e545492b68a54035269fa3465e4f7e3a40a3903490a4143653246b38434f641a7a44bad87001f552f2ebc20a2f921ad8d52135da8419879decc19bdf3be124baf1c8bb96db08db8cee79191af3ee26cb287ce6c36cbfc198c73e9778a772f5be23c8c019a8d43e764fce0661723713627cf47aea0f9c3669eebb772c964e866fcda372152b9f7b3355ee4c6127ebfc7324fa4628f3bd6dc7795b8f5e26b653eab7dece9bf0125cadd0c898ac9f533526433c04a1132b864fdc2eb41714be94e05fada383db49f7be51ed35a28deed7eaad32bceb8ee76d1c7dc179cfbc83ba47848899648be196f2900295cf7decc7a938e0621da05072787892c236ef1a11b92682fda04548f057c1a7401c334dcb89fc388e7a1aa48cdb46ea6214ed29c56d06b0437d40473bbcff42796f8cba04dc5da92ee65f9640cf54044de1a9df9ff9491ffa326c748370fabcfae1afeb0629387c3bbd5e0ccf54f30df9c192e2f3c323c6d02eff7042c024a63709eebcbae80754c1129f8546502215f53659abbf11657e68d9a6b2180857956e840ac75fa63f744f38b5ef64072853647e8b4594214486e6954783a5e3ce9992e7d87e79b3694b9aab7abe636da146aa59852efe843cb64a0b4e0988b137f7ee440b93c85f7448fd7e6790b8eb3e5a660fbe37de208f473592d6c577088e4aa9b87401704b07971bd62a2d28d44a8d57942a8707632ab8902017cf9fcbd49f8c5d4976013016eb3b052b7c5d0c89ad571f66149670eabad31479adfa2f55791b965ed65f56b33655434f8185b346a208edf4a9cc5c42126d19c70b34d262339c52e7829bd8327f7d50c8c9774ea46c2622ea6384eb7e81a7a4629e31e5f4a6545801012d4476b3fb70d313b6a5e49fee7a4942c7352cc23d412494d8494bf41014d8648484429b48fcf32e5004d9e3749a653f72417efb0b1a31816c4280416e586cb210ccae3b5a5345092c7d2256124a6ace2c9d8c2965437fb924a33ba7b81c8098917b78a7a049a78473676cbf14849291f395f2e66e291dd2c41ec97abb8debbaab032ad5703940449ce0640d98d07ec7fc2819d6230bf886caf9ace329f6e76fbd4aaf2f59a35b9e0f7bea98a6a10bee6650edba7f065f232aaef9cf5fd50e4e0f43a3a7a6520be6ba77f0cf38d81a192de3df5caad134d67415c5ec6186dabc43053ca4200d6a4983bd65346a8b7d094bc26b202fc2a9c91138e5e4786960a5fd8123fcfbb258ff6988c056bb3171d67e23f4ba213bc80ed0a5e86dff7b345e1f24ee5bb88cd765542c4d99e5b9f4686dcda44cddb571769f5ac1d4d514756b68bacdaab8692700e66f508a03013b607534938e6a59c397d94123595ff10715a633f24d4bf4c8c60956c920ee01c84fb9f6f9e181470bcf9ccb0ccb332f5be238330a421f240871e9fc622df936d38fdbff9a016ac7bcf6285b89f6f5614ee88b5573a471adba5bf46c30574caf25e5e3ea00e93aa7bce44f4763d8dcb244c44ddaa9db38d697180e68f95fcf0e0cec6e9e9ae93a7d1782ef48b29a87acd99a54257aeb32c50e5dbacea31d709c1dd21f6dbdccd447cd0a05684cf181b3f18e3952ad96354b3f06c5aae64d03de8e0716e84bf7117550531ebef1ebed0a17d12d316a4a0d60cd4dc21747f14be414f0aa61474b658f980c37c65fe9fccd4c8040a04d11ada67ee8b533c6f7f7bf880a46d74c655f1b0758e6db05a4d2041268a4ebe88eff3d6d8a3dcde101d3a933de5ac3062f8e6089a10f555ae945b6765cd3fc8242de74755bc466be7165985ede23a72e156c50a574c46a3dd08665f8e45c8a2af454bfc0d9735ab1ac41503f6b86078ed8f7f156df0f2013f863cd47b7515c91a132d23c204bbc06886d7f44386a40b1180456b96b26c7e3b4ddbab8a7ff89741b128ac1b47343565b7b0674c5c26e0badf72b5bc94757b1cd1457fbcb2cbe8d17702fd5dc75fff0f3928da257ef170d2cac846e69a5bf6a3612021c8d5aca8fe2592d5c1acb0f8e3ab4071335b50c8e052b324741538803b98826905805d7057748dfc91bb9acfaca6579c68842abc06cd4476f8011ab283f516855858b7ad43817a80a70e1b731b0e653ea808c99a619cab74c3e20262be07d07f742f3391ebebc55d5eddd4cef30a33a2ed42a78496ff84ffb14b6864b8395eaf3c798f151e67e83619bd414e430d1c1c66e18e008954e1847aa2a96a4119d4865d5af8844daddb0b76025c85101fa3c0cf1ae5b3e12f83e91c8fb588739b7b9518c7b6482d03c0cc8935798f5ecfbb14a94a7998aeed2cf80ea0ffd3a4bccb9fef02b36127d5ba177403587aefe7c3a4ddfb53da7b7cf2d042513e9d8ddb5d751e03288f245f343ac7cc2af0f39441efe8b2be5a3ca6f70a03b638daa15e79da1676b2ff7b0da298ff20ff6a584459608bfb5b3a3e9bf15d9de7406ae7c7e66f80fdaf04205b8134e252af7e82c1def7f7c6dc771f5bd77fb193fe3a32ecafe2507b1f6e3a38a88050e55681777c48208a1a44a84844e44621da43d36ebfdefba6f746799e7066728b0587d8e33431de54a9ed556a0f175ec5876e9b9b644f42a6b5a017f07d2aba285681ba877cac116c0a8a5b7c34b6751b6c570b196c86098e0ee309e1c976d9a663fa9c9ecd206878533a979ef20e1818cfd85698c42e495a72ed28ddf9ea3a8f434c1998babfc2574f7ba1f0a7eb2807660598012cbc3e19f3c46deea99fb5d5fd11a72364cfa1fbc30e3a0f69cbcaec344b663ece40cc6ee149ff0b6452125137eb9d9151c6c6373d566ddeeec25f2d759c1c3c9ec4161257e42db141984e25fde650a310a10ced726e81cee9a267cf3e4953e0a2e3a7cca36fdb9cb130992c628be1e6735ee23da04400c0ed5c1c9589659219f9e64ea0e78b9b1cd5407501bca9ef7ac55c4780d1b44d47e3e65f74a5b70bcdfaba89370c5731d7e58fbe6ce0fa89aa01a2f74b6f4f01b39cf1ee9c2ab83fc158fc21409f9c754642911453f03b4a154c0f744b35937a0865c827240fc7b3d5fc7d5ce1076858ff872827d65a1e1c64b4e0952be872767dbf7e64dd38ae8d336c401c1c50d4c84eccb2612b64ec16b7a5ed8b59fea7a69d7193bb448b8585429ffae869b20c3b3dd036540066c3a935fae2ea17e779f7ed385d61b2510b90595df0b5c8ea9e7d429905376386ef8c04ff42a112653160a9a312daa0649a742c0185c00f160193e103236934fa2f3ce82292cc598afeac8193bb334f643c2d405f4d7558f09fc00d63865c3d95f4bed773597249fc21ca360d33de5d422691b76134dd4430d5d4a8c817c9b2242439ccacf1b1501383768cae6441516a1b2d7659e3f3736ade8a395c1c42d3f3ac30bc0a78863c8547e4b92a88b2ef96c4a90af448b66b92af31ea6fd8532cabe7abe707dbd106cf5cd36717e5edaf44f6ba81b4f7864acc0063f3a87aa7bb5ef23609df7dad27a6ab51fc0541cece826f05833eae7b9a3d088870134b3a1f3f2724536307723ba34aab2e4ce94e24d9bd5c6d63443c5c041057f1d773eca5ff6aa34a191f4805438c8f252dc10d9e691ef1b8c03e5c95d6d31f094858e8d8b20cbdd8fca381841e5011fdaccd109d7f606e0b28ee01ada28a0a11d4a50c6b3b02ce7f062585b2ae5d7daed0c2b3d1d9b2305c9b896bc92d29d30ccf5c58db4493caa1596e224fb3b1a4bd4b30e708fb7704dcb053bd55c0ef2027bc4891a3dd4c02a0d53c2193b86a9e779678b2cc3985c529a258196dc82064b9faa08a6e99853e6e673bc9871fe0f614d1ce4cf9e4b6b5a5a19112de5d0033b8f7d651ceaacea0bb24ac42f69acdb300e49616d1739db48e0501be4dc31cf1938d1a95bf09cd855293b2fab02db710ee393b704ae7f2fd21d0c0e979a3fb4a325773bfa942f521104ef86f25cf7a8d176f3c5025538c9e0f8b353b98da0cdb5bd78fec728a7fd696a54c985a3c7d71919d049d735d374e5cd3e40c3490598ee23301cd7661299668ee1306e9279a77426e35585d77cb5c2b6fbbee6f512c9f16b408263ac066b7309e3d9bd1fa8ed2761faafcbd75b8bfcb27197e38514693a7e0b464e2373860266e7cac48536c70b4e3f097f6e00a8c62ee4a941133787802fdf2b648c1f75d398215a2158f935772ecd8fecd952a3ca0a3447ff95df389bf2c9b80701d1d83619653e22662d48de21d3927bcead744f99f171fadd42407101d276a097da359bf078c3d4394a7d51c1c40092b83b2d8799a491e8c605ea280c68d681c3192da04fca2c6b9d6766361174523039ffd77d608d5433b26336e369117f7af188a967d8c385ce2432b08e09da65d6fe28f03154420e6d563c4ed84ddd723dc9b818bb264451fb07f3b88dacb8225a733bd97faac2b6f0af97e8b4fb55adb57c81a16754ab8c132fce052cdd8c2a68f59b21e786efad272a51a981bcf0782aec93391bb6fa89d9c8963433f75f052e442a54388156f2a4fd35d7e455af05bd3f8ae8a928873fd436eb12649c5b1c390fbf154f8c3eeded03f629f26ce45b442605fcb960ec59433ab01b0d4ef13a47ce722f934b554a8a21582fb492baedd0508ec781a35c0aad817739c9d89cff3a38f43cdfc1821f90564f960d0bda7afa2b0c22040b464d13d6c5673744e12864cd2e7377c960f8024ba0a2f5b376914cdd13fb89b824accde09da3352cca8e86b4dcc189c7e4b8520fe35bf96fa3265663d67e196c83ed1138d74b226c04d210acf98a25b724ebfc3abc96ddf4e8a2b689c55cee5f21b513e858796fb8c067f2fe4662aa1ab86519b3ed73b295cc434300f3048c3c407550ef016ac351f6c7bdfe6", 0x1000, 0x2}, {&(0x7f0000001300)="f6184576404367b30dd90d319c1b5851ea4aa0ec7ab24ed29e55dafa4e76e34f700ec7db51ebec84f6b222f3355e", 0x2e, 0x6}, {&(0x7f0000001340)="ca032afb202af2af8cfde5793ea8918854f5dbb4474868b1629cfc0f8636df3ac3a4bd10954e6765cad1dd50907599903f18b49bed7d4f11ba368999bb6b4da9bb7444cced62c484345d2e31f5159f10cf82a46a5649cecf7835e2f847ed4c945f25fea5163957b2a2f7a10311ea507a37b2660fa68c2028bc8e1ac7d452dcd7045de81916e17cdfe6cb317230f479b32969539daa9d9ffd3908963a0f2a8525718dca65142bd6ba36577771f3bd281283b598b97be4b7da086995c647b7d9cfba3416bf12468de4aaddb9d3dd9b890c43", 0xd1, 0x6}, {&(0x7f0000002100)="bf2b5c697ef210f966ea9a71a4d3b95d0b2552d0769a5547550a17edb4ca25b20fa9df30c2dba09df77a4536142b91ee08d166f3f62da8c65379cc5d8cdc999b4d298749bd7e1e82db383881f8d05ed8dbb26f5a8dcb90cf96969d6c9a27d6db620e3f8f77da3b4b53cf13a6f0e5403eef8b75ec38e23a935dfed5a49883708918670930e1ca05b2b44c6ac6648bfe22781b4b64f49118fa71642eeb1d306e175d7a0f149faf73206dda42aadca3a44122c2f21428a50f8387a60eaa3a5695e1b0233888e5a4428b3a753c3ad52633ae7d5dc2a0696a62ee393f5f0a1eafae2187156151a5468ad0fbee0264d21763025f2867ca86ddb20b3420717ea1a80eccb5be6a2d86045cd62e4e18ae04cd3c446982d725d75e419b24cf87f03f89c6d5ae4aabd96671265cc784ef7e175675ab03abe7b76cec3864d12889767ed8ef984316c17c9f2c4c14413260e4eef17c15787b1f9f8e34bf61e98e45118f2a6d79312d9cbafb7a46431e6834f24694764dbeb27f4e57522b2637d8c5c6c8e31b9efec9e988c5f7b3059687f9f6cf8a33fd87fee148d9735359a88f01b20fcc3c61be752ad19bd4cbdb9f2f75c33a859539e93bcaa08a393fb23822762f272cb55e78ab5bad7f754ecbf8cc73fb0dfedbca3fdf542d9d84b5120ddedf9384a3f6abe36056098eb5ffc11438e47543766150182819733bf5c0c18262fda9f0f2401f907aef3c1c62b4b6681d39875f1e88f597e7309b21ffb8854081ebc24ba3ca754cffbce7505c83b329ef359b1c1644fd2d25bc9e978f84aa115f3e6a62cf307d1598722e6f45bcf299e8e79cbc0cbc9a75fcea9f182839905d5794d2aee39b3b41d4e59e929f2d254b8400e9e44987789f83fd125551c19c4e3556e9bd6b4786f69ee2422af7f023a17d0edaf259d1237065bde0b56dbd067e62e586d2692681260e479ec6f7f52e91e011f9836ea418132ed0b89d2ca361713c9c0feb1160f84729ca417ac58593824cc86714676aa5e9ee989490ba09acc9ce700b7f7d87f432480f36f7a336695e78a5431e83c56fc72fc54a9ba6af7126432302a6b28dbeca283cb922ae162e9cc40dda4c953462e1838e17e12ce63c5d76c873def5ff3919d06f1540648bf2fb7cbcc0e97f5148d30ea02652b24abcf288f9544aca37cb128f7661e4225f809813c31082c6d18fa57d63f80c2150f1130a678944cbd97258e02a70a374ff67de7606989feb2805be19fabcfcd33b51f5d2754073ab1e35c34a5d64847bad88213db36e3f32174a31de554e2e625cc14b2bf38db2e1f2153a31e25c0c0282ff39de47d4774e7e9efd45aed6d38558dfbdd7f2a024f0e7d545b0e8cb32e46fc1caa62fe2a4615e1faac7772194a6ecbc6b4713914a2f06696ed3765d8b43bf9f34c2c43f96b37a0ff21390e9aa4afcdef85f2ab5105be484e5f201601f66824fa19b065d873ceb77f995c8c7f262614e5013f3350602f3ac0e3d310e8d30f7de08d172d572b9bf3e186efd0d99f57698d1db0f4163e02b35a829182fdb51735ff4d6fe3ccaab1b50f32b02b257a4e3e2e296bcb403c2e6620995b9805bc1d8b90e4d92c6a7ccc0715a887b4b705cfa3fe9c938523c696074057b004a187f8764402a6d9156b7a84c5b7fe9f4f30925bee75fa8163d6fb02ce3a40cc593eb55f5aa33c7b0996f7c671224d1fa854592e056cdb0f6b7138ac073e3e4407600aba364bdc0d7e9ab69875943c33e1cf380bef7208fec4eebe855be8d09a11884c98d39792205eb1c5377cf2bb42bcb49493d021a4896a8bc35a11d3ab257e0a0798ebf0959ae23b573f7b3b5aa9e8cc2c8f48c3dabf26ee73433a0c4d7438d77f6e49b197a089c71a7dd9ba6d1c1c897dcc0ac78dcf253f9adf18728a4f5b0d05ed511771f2dc4294ff2656d74b3d68bc399a218d8a5ee586ae57830e525616dd280a7f07109493725c7e698ad9aac41fd362fd7c170bba706d941c99ebbb0fb4ff5bba68922d18eb23383a6a152fc633c79ed3a7fb75c8e83bbdcd2e0cd175389bed2ab702adc0fff56a9479c18e6e4dc690011bd0b7b72e2d5473c94756f85ad70565c6650e1e01849d96d9fe014b152a076d9fd348208e12cd2b6a747b9c97ca1fcaa8ece1f66361a3314dc3804744615b82d07d5e7dd318da9b188c02d4d48831c4aeebfe5275b32e7cc1185dc387f3665b1aa7d9e0b8bb9a79c80dd82fc84929abb204f54cd06dffa17e56ce97934612baeaac438a3db15b111045c048736118270b773a5cd08a00518114f40adaf57353b2c2f88a8ae34e466ce931a58da6434a9765fe1dacf647b41f8d788c2bc22939b25770b3de4330517a63bcba31f0507a2ac332a7be61e473fd637b1279420d0cbe7ed02fcc45a5d9cd57da46fc33150ec76496377de77e7df843871fa366c558e6073edc27208ec63c7f8dabf9debb792d865d83be33c5dc38804d169c596398fafa2b942541dc4d9b8b8609b1593cbe36b54eb2a543dabbbab9b51df876301a4c1cc3ecf9319be40d96f23596af1497fdda144634443b17aac0e05c02e9e51cd40a6d26fe7cf15cb0c878588dce4f3268893290793e4fd6ada9dd103ba7bb32aa76e3a3c23c46d04b9fef0b3076edb4eb395e08b1aaa41653dcfa54ec5382bcb076030da6f26dbb76ff1efb93c6e618fe950e5fc9f62ea8f045b56e24d66a2df9be547160d6f285385854f7ea6573b0da4c2e9b31b7fdad6d86fd2a764cc7de495ff2dd76d6d46ec3587080ffca598eff9ab1752ee29c8d24fab086808654a299165a1ce5d57a7cc05e5a5447bde5dc698aaab128a58a199fe7339d7f5cdc27803940cdf142505fc7f38ff205f803dc3b280316b76d8c3662cb41c9d1503cd4a9bc7e26fe5310f8c89c2efdb9e590f71cf9ddc3d263c615b59c05400c36a02068b581427388c8046ef1b93b33085fbb81d2186ebb8c03db5ab2139d82852bdf05a0a9b0b33669ba5b294664da5b72642f9c7d5715656d8493dbd7236c8c09be3239a721219c35bc9266b1deed1e282198aec878b0d56f2ec3d4b2a6ff0a1200b0d885b70b647fe6a6c8757db74e822c22ef0b24df608860ebf6eff83e0d205e6d2dc65c4c8cd91df33dcf609b8e73c35573acd36787285583b7534b76632e1c51f8253c587d38f97656903e3cd3d0fc089733f7033d899a0a38da862670e79823da4e88f45906f47d5c91759dcfd6f6fac2d0ff2fd5c64dc34305f93412f4c24b0b47df5c6d37498e3d124dfce66ef4494fe3fc0e6cd1093c4fabd2648f3e86fe4bc604e4612a02853337ff1ec7afddb6b6494f863964f084ac08558496a14aa5bd764db097d99f56d0cbd4f6bf43529454635f049df2246400473eeb1a65be70e3796688b1497b1b96017dd281240798468feb755ca3d07d72c2b4c8c23b0c3bf5d5c6e5b2321ff74c3d30653e3c8a89e368fee54b3b2d8083e8a12572712ca31692cd612630c3f0caf2206f1bc21b97bb368806f0a32cfaed92bbc42e4b2439587153c5d532af4492a2f7026c8c1cb15047ef327716294f2bc4b514a6f1caba5d0894de05c2b1e25f30c4fb9a31c1d442757030f206647b6a7717c255ae1046fda057c60444899643c405b38d91f45d0c8076c1e8fa5c343ec3a2c45198f81a935cd9c178e9915796a3f3804a5b981198fceeba6e7ab9e9c8d0a75beaff3006f7843a91d6992ce404ae1e5d9872dc72b8c43dab3cce3c6aa8aa9d252383fd1f027b51b21586bab0830df1148c0172b85eb75bca5ec6ff0710d61da472a18ccd2988f3743d6102d236bdf5bd188dbcee54549152e98d8cc20ad9bfc5911d422b33942c355ef58656c6e8b2fc97d6a0c9106da832cebad49fd7fe6eac68d9f4454eec58143cad3583accc7fd9fc4fd3d301c1323924f406740749a1f1246d3ce537074353b26dcce1c4a97c0396c314b9b581e8055676aeb8d2577ec22bf89effaaaec20d1a1ff9a24adb02a63628f393f3d107deee59c830f98f3a68e1a9f3ec7248e8e3fae270b2d47d0076a55d918f4e9a60075b12e3da321cca6477d28f726011f147b162f8067b4e6e7722e1e9f2e7e6b41058146c6ff9fde221426abde7ba8810aae2765c798ce697838427dd3cf2fe79ce832ec30a6c65628053130fce7e639bbce4514c323f1fe4d54440584306690f3cd93de5beea9c329c5e63336a549205292c88e46d8defd06f18f3a1968e92a8ba277369969e05d3dd625657844276e6598c39c66aa145c0efd060723ac53a51b4c81d2ab84661854204f88bc9a8c8a6f46b44fb42a147aed03daef7105e35fc9e8edfee40ca65ceee84c3663b5c82e30e462a6779aaf2b69a9437805a2622a5b2a0470ae74506af20e15a525c0557a6dd018dae6ae3e09196e4fe5b4424618b500a14219c879981a7687007ee87e36865ca1cf5430b0718649649b6c1e7d052f35e25ee528d9300c4154338e7a34fbcb864d1aaa033ffb17fc346b7ca68314a09a54eba9b3d2fbaf91c8c326099dccff2b8148659be5fe5acebeb34a8cb6d1e0a27ae3b1502e67bdfc484575fc740fad5d60621ea5cf8e9db0f3ad5fc2e924d41f768e38d082b14f3f31602b401e044be40e223fca49f2a5feee50eb63b9e4145208b40e740cefa43915d2d9bb3b8ae9f15caff61664c1e9ddfb1d6d02e4a2b9071f806f62c511d4fed7fda2ab48a7b4b941526b5398d6256c5258c869904c5a1b91aca4f6819af2f64888cdf368e36e26fd5daa7a3c4d09b70b52d641d4790dbd107f1a5a485e1c5f421e3925b77b53dcdc6f5e635f3ad287a8d29cd606fe8bedc78c5c79a79c9345d35395170a9dd7d0347d8393d903936ed18d72cb8ab1e9b122d12943f6e689319b7233a03412544ec16019f184d965046ae0b80faf9e41b05abeec87678c46d8f6b6d94cabca4df6d1fb4b653715daeb1be774f367b6142ea32761be84f2a3c35cd1290744f3d2fc843e27063afaea92bc04305a28bbed7ed03ec8052071f7d72eea37d19d75b35966cbd700725944e93f9a033f4c2f587ccfb89d9fda8d87d01032c3b7233635819566594e5fcc026338f1668bd5d3492cefdabc4cb0d6ac4bd2cb9defd8f6e41eb8f857b8538f97f9fd6b342099832ff0f9a9e21193906d5840c8ed63cc43c0c10cc5aa2ed53661f64eb4231c85806441dbc17c05c04e231ebe0b88640437e2ed943e270ba51046d7bed8f6f84166c8db40e3f1d3fdcb11a913f64ec845f882028b0980684c1055d91650b57ab8ea12f591db2892899e4fec05e9c8374536fae280afef9cf8edd5aa7463d55651daff2f55b723249543572e1ea962a8ee333c62494e2aa0ba9beed72fd877ac1ce48e27e72ef2f901ea8cb256e30ecd2728e66ec636daae047b40b68a7977eda37d182e3d171c056730568c2eb497784ff98cb8deee5e6c2e773d7b7d6ff4acdbf855ab10ce37dcffaf0b34c36332859021b8584e2ea4053e56d49a9bbd2f56d4ed48edd2c76c63a8f7c9adccd72770aa83758c9fefbf46d37d6d6975adcbd105854bdf427c286f3fa93439f4f15f6bc33a3aa593461415dbe6bb7577867519b15f52749a3835a8a598078e5f8bcc5edcaf8cc638eb5e2d2006831dfbea38224152b69382a563c9c6697097f74f756cf60cc6ef65ef3f88cd5c26f8bfa1bfcf35d124c26fdc2996388c33a9fd0a7ae0f429ab34acd84bfd2829b128bb9175ec59d8e45f337291218643cc8a496279abbe70324f87001f76d267eff7920ef3be6b68d8412db2bd413a4a53366d63c523b8f074e929", 0x1000, 0x6}], 0x1100000, &(0x7f0000001500)={[{}], [{@audit='audit'}, {@mask={'mask', 0x3d, '^MAY_READ'}}, {@obj_type={'obj_type', 0x3d, '}%\\'}}, {@obj_user={'obj_user', 0x3d, '-'}}, {@seclabel='seclabel'}, {@smackfshat={'smackfshat', 0x3d, '$'}}, {@fowner_lt={'fowner<', r2}}]}) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:54 executing program 4: socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:54 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendfile(r0, r1, 0x0, 0x40d09) 03:49:54 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b62, &(0x7f00000005c0)) 03:49:54 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x60, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:54 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendfile(r0, r1, 0x0, 0x40d09) 03:49:54 executing program 4: socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 196.531331][ T27] audit: type=1804 audit(1600660194.506:17): pid=9848 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/40/bus" dev="sda1" ino=16036 res=1 errno=0 03:49:54 executing program 5: fallocate(0xffffffffffffffff, 0x20, 0x0, 0xffffffbf000) ioctl$VFIO_IOMMU_GET_INFO(0xffffffffffffffff, 0x3b70, &(0x7f0000000000)={0x18, 0x0, 0x0, 0x2}) 03:49:54 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b63, &(0x7f00000005c0)) 03:49:54 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, 0x0, 0x0) [ 196.706511][ T9850] XFS (loop1): Invalid superblock magic number [ 196.883241][ T9850] XFS (loop1): Invalid superblock magic number 03:49:54 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x8, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:54 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x68, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:54 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendfile(r0, r1, 0x0, 0x40d09) 03:49:54 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) syz_mount_image$v7(&(0x7f0000000000)='v7\x00', &(0x7f0000000040)='./file0\x00', 0x6, 0x1, &(0x7f00000000c0)=[{&(0x7f0000000080)="bbc05237434e", 0x6, 0xdb09}], 0x2008002, &(0x7f0000000100)={[{}], [{@smackfsfloor={'smackfsfloor', 0x3d, '+-'}}]}) r1 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000140)='/dev/vcsu\x00', 0x2, 0x0) ioctl$TUNSETSNDBUF(r1, 0x400454d4, &(0x7f0000000180)=0xffff) r2 = accept4$inet6(r1, &(0x7f00000001c0)={0xa, 0x0, 0x0, @private0}, &(0x7f0000000200)=0x1c, 0x80800) ioctl$sock_inet6_tcp_SIOCOUTQNSD(r2, 0x894b, &(0x7f0000000240)) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:54 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, 0x0, 0x0) 03:49:54 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b64, &(0x7f00000005c0)) [ 197.074542][ T9889] net_ratelimit: 14 callbacks suppressed [ 197.074618][ T9889] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:55 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b65, &(0x7f00000005c0)) 03:49:55 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, 0x0, 0x0) [ 197.115417][ T9891] VFS: could not find a valid V7 on loop5. 03:49:55 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6c, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 197.234669][ T9895] XFS (loop1): Invalid superblock magic number 03:49:55 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) accept$netrom(0xffffffffffffffff, &(0x7f0000000000)={{0x3, @default}, [@default, @default, @default, @rose, @remote, @bcast, @netrom, @rose]}, &(0x7f0000000080)=0x48) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:55 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:55 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x74, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 197.339333][ T9914] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 197.367671][ T9895] XFS (loop1): Invalid superblock magic number 03:49:55 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x9, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:55 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:55 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:55 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b66, &(0x7f00000005c0)) 03:49:55 executing program 5: syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:55 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7a, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 197.574810][ T9926] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:55 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) syz_mount_image$xfs(&(0x7f0000000000)='xfs\x00', &(0x7f0000000040)='./file0\x00', 0x4, 0x1, &(0x7f0000000180)=[{&(0x7f0000000080)="5276192243b1209665afb4bbf42f825099dd04ff67ce5a4dbb01a7899f232ca66153ebc29e2e2710f4c1c051a7fe33b0a0a9bc30ef83782bd1fc3ae6fc867830b7efd71568662242ebd4d8491b816789d57fb17d7ff0d23b2ea4d87fbd7997b7bf69fc04f3b01a379d82db7895dd116c8be576147c6e1b1fcc5156d3c436ad1e83d8f984fd626e3d5b24d9e7a6e2b822fc7660519de86ec5d47b7efef83d2453a1f9a5ad63f6c805acece0d1358f6670b6f34d056f1932127a5b8af6cc77e1ac10b97c651789c691dae34c66b19044754852abd7bdcce26adea4", 0xda, 0x57}], 0x40010, &(0x7f0000000280)=ANY=[@ANYBLOB="6e6f646973636172642c70716e6f656e666f7263652c7071756f74612c70726a71756f74612c62736467726f7570732c7773796e632c6e6f71756f74612c616c6c6f6373697a653d3434322d33700300332c646f6e745f6d6561737572652c0048617912be17d8dec63d03859ad851791c636beee71670a037aad7c6fb1f0e2de98c7a6df7778a41c86ef09e29fa201e233387ec76be573fdc8c39048c24985b11f357920cd26cd88757a73edf3bd58ab8"]) ioctl$PERF_EVENT_IOC_REFRESH(0xffffffffffffffff, 0x2402, 0x6) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:49:55 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b67, &(0x7f00000005c0)) [ 197.730371][ T9937] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:55 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:55 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:55 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x8d, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:55 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b68, &(0x7f00000005c0)) [ 197.880534][ T9941] XFS (loop1): Invalid superblock magic number [ 197.969482][ T9957] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 198.150344][ T9941] XFS (loop1): Invalid superblock magic number 03:49:56 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0xa, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:56 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:56 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xf0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:56 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b69, &(0x7f00000005c0)) 03:49:56 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, 0xffffffffffffffff, 0x0, 0x40d09) 03:49:56 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', 0x8000, 0x52) fallocate(r0, 0x0, 0x8, 0xffffffbf000) 03:49:56 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b6a, &(0x7f00000005c0)) 03:49:56 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, 0xffffffffffffffff, 0x0, 0x40d09) 03:49:56 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r1 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000000)='/dev/nullb0\x00', 0x480, 0x0) ioctl$BLKSECDISCARD(r1, 0x127d, &(0x7f0000000040)=0x7) [ 198.344622][ T9985] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:56 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={0x0}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:56 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x300, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 198.492730][ T9987] XFS (loop1): Invalid superblock magic number 03:49:56 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x500, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 198.550436][T10002] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 198.711130][ T9987] XFS (loop1): Invalid superblock magic number [ 198.714743][T10015] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:56 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0xc, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:56 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b6b, &(0x7f00000005c0)) 03:49:56 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f0000000140)='/dev/nvme-fabrics\x00', 0x28400, 0x0) write$P9_RRENAME(r1, &(0x7f0000000180)={0x7, 0x15, 0x2}, 0x7) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r2, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) ioctl$BINDER_THREAD_EXIT(r2, 0x40046208, 0x0) sendmsg$AUDIT_LIST_RULES(0xffffffffffffffff, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x8000000}, 0xc, &(0x7f0000000080)={&(0x7f0000000040)={0x10, 0x3f5, 0x20, 0x70bd28, 0x25dfdbfc, "", ["", "", ""]}, 0x10}, 0x1, 0x0, 0x0, 0x800}, 0x24000005) ioctl$SNDRV_RAWMIDI_IOCTL_STATUS64(0xffffffffffffffff, 0xc0385720, &(0x7f0000000100)={0x1}) fallocate(r0, 0x38, 0x0, 0xffffffbf000) ioctl$BTRFS_IOC_SET_RECEIVED_SUBVOL(r1, 0xc0c89425, &(0x7f00000001c0)={"1a3257532e62e9d12b01fd1560554945", 0x0, 0x0, {0x4, 0x400}, {0x4, 0xd50}, 0x3f, [0x1, 0x4, 0xffffffffffffffff, 0x401, 0x6, 0x7, 0x4, 0x3, 0x81, 0xf9, 0x7fff, 0x8, 0xfffffffffffffffc, 0x4, 0x7, 0x100000001]}) ioctl$BTRFS_IOC_SNAP_CREATE_V2(r1, 0x50009417, &(0x7f0000000480)={{r1}, r3, 0x1c, @inherit={0x48, &(0x7f00000002c0)={0x1, 0x0, 0x36c0, 0x7, {0x0, 0x3, 0x87a2, 0x0, 0x101}}}, @subvolid=0x400}) 03:49:56 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={0x0}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:56 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, 0xffffffffffffffff, 0x0, 0x40d09) 03:49:56 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x600, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:56 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b6c, &(0x7f00000005c0)) 03:49:56 executing program 5: openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) recvfrom(0xffffffffffffffff, &(0x7f0000000000)=""/4096, 0x1000, 0x161, 0x0, 0x0) r0 = socket$bt_cmtp(0x1f, 0x3, 0x5) fallocate(r0, 0x48, 0x0, 0xffffffbf000) r1 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r1, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) getsockopt$inet_tcp_int(r1, 0x6, 0x17, &(0x7f00000011c0), &(0x7f0000001200)=0x4) r2 = accept$netrom(0xffffffffffffffff, &(0x7f0000001000)={{0x3, @netrom}, [@remote, @netrom, @netrom, @rose, @null, @rose, @default, @bcast]}, &(0x7f0000001080)=0x48) ioctl$sock_bt_bnep_BNEPCONNADD(0xffffffffffffffff, 0x400442c8, &(0x7f00000010c0)={r2, 0x4, 0x7, "73dc1f7831d51e1298fa1e66d1154112f89585afe617db6d7a5af6c8f7d10fd6a7be91357caceff9934f71382a06e539224e26d0faade1ac4ad0df7a3c76b991d68dc1216a5323ef0fdd6c606c9738167bb84c81e85c672c8bee346aa9d5010d2417a65bd17f2e77363d170a2ccafaa617a3b6c505d9a0031b5c3f0ec85c7eed04bccfdd642f1c43afb3cab32aabf486f4b744da9722a4ea12f2736243207af03984a468cf7f44ca8dbbcd488d269bf685eda1a7d122eae7a8b19165c5e8ca38ef645dcf3077b38d0c5b325ecdd72b22908b4d80da8fe8f12944e3cd6ba23eb5f79fd5ebb261d9"}) 03:49:56 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={0x0}, 0x1, 0xffffff7f0e000000}, 0x0) [ 198.894919][T10027] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:49:56 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:57 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b6d, &(0x7f00000005c0)) 03:49:57 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x700, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 199.101240][T10034] XFS (loop1): Invalid superblock magic number [ 199.107654][ T27] kauditd_printk_skb: 5 callbacks suppressed [ 199.107666][ T27] audit: type=1804 audit(1600660197.076:23): pid=10045 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/49/bus" dev="sda1" ino=16068 res=1 errno=0 [ 199.176815][T10053] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 199.314157][T10034] XFS (loop1): Invalid superblock magic number 03:49:57 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0xd, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:57 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x0, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:57 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:57 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x900, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:57 executing program 5: openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') ioctl$PPPIOCGDEBUG(r0, 0x80047441, &(0x7f0000000040)) r1 = getpid() sched_setscheduler(r1, 0x5, &(0x7f00000001c0)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) sendmsg$FOU_CMD_GET(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000380)=ANY=[@ANYBLOB="0300003a0967f207"], 0x1}}, 0x0) r3 = ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000000000/0x18000)=nil, &(0x7f00000000c0)=[@textreal={0x8, &(0x7f0000000080)="baa100b000eef36cba2100ec66b9800000c00f326635001000000f30bad104ecc80080d267d9f8f30f1bb429000f20c06635200000000f22c067f3af", 0x3c}], 0x1, 0x0, 0x0, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r3, 0xae41, 0x0) perf_event_open(&(0x7f0000000040)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x10040}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r3, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x1000, &(0x7f0000000000/0x1000)=nil}) ioctl$KVM_SET_REGS(r4, 0x4090ae82, &(0x7f0000000480)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff], 0x1f000}) ioctl$KVM_RUN(r4, 0xae80, 0x0) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x0, 0x10, 0xffffffffffffffff, 0x0) write$P9_RREAD(r0, &(0x7f0000000440)=ANY=[@ANYBLOB="3000000075000025000000fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc455941"], 0x30) ioctl$CAPI_NCCI_GETUNIT(r0, 0x80044327, &(0x7f0000000140)=0x299) socket$inet6_sctp(0xa, 0x5, 0x84) ioctl$DRM_IOCTL_MODE_GETRESOURCES(0xffffffffffffffff, 0xc04064a0, &(0x7f0000000100)={&(0x7f0000000000)=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], &(0x7f00000000c0)=[0x0, 0x0, 0x0], &(0x7f0000000080), &(0x7f00000000c0), 0x9, 0x3}) 03:49:57 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b70, &(0x7f00000005c0)) 03:49:57 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x0, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:57 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b71, &(0x7f00000005c0)) [ 199.482829][ T27] audit: type=1804 audit(1600660197.456:24): pid=10070 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/50/bus" dev="sda1" ino=16071 res=1 errno=0 03:49:57 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xa7e, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:57 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b72, &(0x7f00000005c0)) 03:49:57 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x0, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 199.734381][T10076] XFS (loop1): Invalid superblock magic number 03:49:57 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 199.958361][ T27] audit: type=1804 audit(1600660197.926:25): pid=10101 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/51/bus" dev="sda1" ino=16051 res=1 errno=0 03:49:58 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0xe, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:58 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x0, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:58 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4bfa, &(0x7f00000005c0)) 03:49:58 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xa7f, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:58 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r1 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000000)='/dev/vsock\x00', 0x200000, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000007c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r6, @ANYBLOB="0000000000020000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r6, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000080)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r6, {}, {}, {0x8}}, [@filter_kind_options=@f_basic={{0xa, 0x1, 'basic\x00'}, {0xc, 0x2, [@TCA_BASIC_CLASSID={0x8, 0x1, {0x0, 0x7}}]}}]}, 0x3c}}, 0x0) ioctl$sock_ipv4_tunnel_SIOCCHGTUNNEL(r1, 0x89f3, &(0x7f0000000100)={'syztnl2\x00', &(0x7f0000000040)={'gretap0\x00', r6, 0x7800, 0x80, 0x74d, 0x8, {{0x24, 0x4, 0x3, 0x2d, 0x90, 0x66, 0x0, 0x20, 0x29, 0x0, @rand_addr=0x64010100, @multicast1, {[@ssrr={0x89, 0x17, 0x75, [@remote, @dev={0xac, 0x14, 0x14, 0x27}, @multicast1, @multicast2, @broadcast]}, @cipso={0x86, 0x23, 0x3, [{0x0, 0xf, "b217f78dbfd3d358d52e9f4f77"}, {0x0, 0xe, "9395617e7c35502cf84da63f"}]}, @lsrr={0x83, 0x23, 0x36, [@loopback, @private=0xa010102, @rand_addr=0x64010102, @loopback, @broadcast, @remote, @rand_addr=0x64010102, @broadcast]}, @timestamp={0x44, 0x10, 0x32, 0x0, 0x0, [0xfffffffa, 0x162, 0x38c]}, @lsrr={0x83, 0xf, 0xc9, [@multicast1, @broadcast, @local]}]}}}}}) socket$nl_audit(0x10, 0x3, 0x9) 03:49:58 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:58 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xe00, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:58 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4bfb, &(0x7f00000005c0)) 03:49:58 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x0, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 200.340420][ T27] audit: type=1804 audit(1600660198.306:26): pid=10124 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/52/bus" dev="sda1" ino=16073 res=1 errno=0 03:49:58 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:58 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xf00, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 200.386943][T10129] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. [ 200.401547][T10122] XFS (loop1): Invalid superblock magic number 03:49:58 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4c00, &(0x7f00000005c0)) 03:49:58 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0xf, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:58 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x0, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:58 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r1, &(0x7f0000000440)=ANY=[@ANYBLOB="3000dc3d45a2d30111f777be1dfc4559f3"], 0x30) fanotify_mark(r1, 0x80, 0x101a, r0, &(0x7f0000000200)='./file0\x00') perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = getpid() sched_setscheduler(r2, 0x5, &(0x7f0000000380)) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r4 = openat$proc_mixer(0xffffffffffffff9c, &(0x7f0000000000)='/proc/asound/card2/oss_mixer\x00', 0x82, 0x0) fremovexattr(r4, &(0x7f0000000040)=@known='trusted.overlay.nlink\x00') r5 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r5, 0xffffffffffffffff, &(0x7f0000fe5000/0x18000)=nil, &(0x7f0000000180)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(0xffffffffffffffff, 0xae80, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r6 = fsmount(0xffffffffffffffff, 0x0, 0x1) getsockopt$inet_sctp6_SCTP_FRAGMENT_INTERLEAVE(r6, 0x84, 0x12, &(0x7f0000000080), &(0x7f00000001c0)=0x4) 03:49:58 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4c01, &(0x7f00000005c0)) [ 200.629441][ T27] audit: type=1804 audit(1600660198.596:27): pid=10147 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/53/bus" dev="sda1" ino=16079 res=1 errno=0 03:49:58 executing program 0: truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r0 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(0xffffffffffffffff, 0x0, 0x2) sendfile(0xffffffffffffffff, r0, 0x0, 0x40d09) 03:49:58 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x2000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:58 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x0, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:58 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5409, &(0x7f00000005c0)) 03:49:58 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x4800, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:58 executing program 0: truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r0 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(0xffffffffffffffff, 0x0, 0x2) sendfile(0xffffffffffffffff, r0, 0x0, 0x40d09) [ 200.904325][T10160] XFS (loop1): Invalid superblock magic number 03:49:58 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x0, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:59 executing program 0: truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r0 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(0xffffffffffffffff, 0x0, 0x2) sendfile(0xffffffffffffffff, r0, 0x0, 0x40d09) 03:49:59 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x10, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:59 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x540b, &(0x7f00000005c0)) 03:49:59 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r1 = socket$unix(0x1, 0x1, 0x0) bind$unix(r1, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) ioctl$FS_IOC_RESVSP(r1, 0x40305828, &(0x7f0000000000)={0x0, 0x3, 0x5, 0x200}) 03:49:59 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x4c00, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:59 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x0, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:59 executing program 0: r0 = creat(0x0, 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:59 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x540c, &(0x7f00000005c0)) 03:49:59 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x14, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}}, 0x14}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:59 executing program 0: r0 = creat(0x0, 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:59 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:59 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x540d, &(0x7f00000005c0)) [ 201.459581][T10205] XFS (loop1): Invalid superblock magic number 03:49:59 executing program 0: r0 = creat(0x0, 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:59 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x11, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:49:59 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x14, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}}, 0x14}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:59 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r0, &(0x7f0000000440)=ANY=[@ANYBLOB="3000000075000025000000fe5aeda9dbabd1e21e5e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"], 0x30) ioctl$TUNSETVNETBE(r0, 0x400454de, &(0x7f0000000000)) r1 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r1, 0x20, 0x0, 0xffffffbf000) 03:49:59 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6800, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:59 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x540e, &(0x7f00000005c0)) 03:49:59 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(0x0, 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:49:59 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6c00, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:59 executing program 5: pipe2(&(0x7f0000000000)={0xffffffffffffffff}, 0x800) ioctl$SNDRV_CTL_IOCTL_ELEM_LOCK(r0, 0x40405514, &(0x7f00000000c0)={0x0, 0x2, 0x20, 0x9, '\x00', 0x6}) accept$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000080)=0x14) r1 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r1, 0x20, 0x0, 0xffffffbf000) 03:49:59 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x540f, &(0x7f00000005c0)) 03:49:59 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000001440)={0x14, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}}, 0x14}, 0x1, 0xffffff7f0e000000}, 0x0) 03:49:59 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(0x0, 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 201.921130][ T27] audit: type=1804 audit(1600660199.896:28): pid=10254 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/60/bus" dev="sda1" ino=16074 res=1 errno=0 03:50:00 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5410, &(0x7f00000005c0)) [ 202.059972][T10251] XFS (loop1): Invalid superblock magic number [ 202.126350][ T27] audit: type=1804 audit(1600660199.996:29): pid=10266 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/61/bus" dev="sda1" ino=16076 res=1 errno=0 [ 202.225423][T10251] XFS (loop1): Invalid superblock magic number 03:50:00 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x1d, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:00 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(0x0, 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:00 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7400, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:00 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x10) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:50:00 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:00 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5412, &(0x7f00000005c0)) [ 202.394081][ T27] audit: type=1804 audit(1600660200.366:30): pid=10292 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/62/bus" dev="sda1" ino=16096 res=1 errno=0 [ 202.419200][T10291] net_ratelimit: 11 callbacks suppressed [ 202.419207][T10291] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:00 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5413, &(0x7f00000005c0)) 03:50:00 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x0) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:00 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 202.541508][ T27] audit: type=1804 audit(1600660200.376:31): pid=10288 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir249221196/syzkaller.CE95X7/71/bus" dev="sda1" ino=16092 res=1 errno=0 03:50:00 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x0) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 202.600251][T10297] XFS (loop1): Invalid superblock magic number 03:50:00 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7a00, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:00 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) bind$unix(r1, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) fallocate(r1, 0x20, 0x8000, 0xffffffbeffe) r2 = openat$vnet(0xffffffffffffff9c, &(0x7f0000000280)='/dev/vhost-net\x00', 0x2, 0x0) r3 = openat(r0, &(0x7f0000000080)='./file0\x00', 0x402000, 0x190) ioctl$FIONREAD(r3, 0x541b, &(0x7f00000000c0)) write$binfmt_script(r2, &(0x7f00000002c0)={'#! ', './file0'}, 0xb) ioctl$VHOST_SET_LOG_BASE(r2, 0x4008af04, &(0x7f0000000040)) [ 202.660976][ T27] audit: type=1804 audit(1600660200.586:32): pid=10306 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/63/bus" dev="sda1" ino=16070 res=1 errno=0 [ 202.774143][T10313] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 202.854055][T10297] XFS (loop1): Invalid superblock magic number 03:50:01 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x23, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:01 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5414, &(0x7f00000005c0)) 03:50:01 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x0) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:01 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7e0a, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:01 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) mmap$dsp(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x2, 0x10010, 0xffffffffffffffff, 0x0) 03:50:01 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 203.162717][T10333] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:01 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:01 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) getsockopt$inet_sctp6_SCTP_STATUS(0xffffffffffffffff, 0x84, 0xe, &(0x7f0000000000)={0x0, 0x1, 0x8f, 0x40, 0xfffc, 0x0, 0x5, 0xffff, {0x0, @in={{0x2, 0x4e22, @private=0xa010100}}, 0x1, 0x1, 0x10001, 0x6, 0x40}}, &(0x7f00000000c0)=0xb0) setsockopt$inet_sctp6_SCTP_RESET_ASSOC(0xffffffffffffffff, 0x84, 0x78, &(0x7f0000000100)=r1, 0x4) 03:50:01 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7f0a, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:01 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 203.444526][T10341] XFS (loop1): Invalid superblock magic number 03:50:01 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000001040)='./file0\x00', 0x62a442, 0x4) fallocate(r0, 0x20, 0x0, 0xffffffbf000) quotactl(0x7ffc, &(0x7f0000000040)='./file0\x00', 0x0, &(0x7f0000001080)="586dda764c3e93d49d3797f6a900fa9a9e7ac99fc8f109d0ca5f7e5d41509c35a6610406bcf10985d9f70de3ff0a95cab5ff8ee78332fdf3ac82312b978ba09ab26b2aa4d22ff9cd663a180b2701c423cf4282e9e9eeccb5e52fc3977946b7ad22b32e4cce4392441bfd797de3b8e08d01caf3162e53a8846803ffd4724079c20ca7bd6e9bce103221fe1618b98f70c0ff499752be96717283889333267baf58e478c063c711615b28493bb907eb10e4d6c7ac7bbb0190ce329b36a281ff7657a6418c4e2a5e9fc4f0d783d713141d4aa682ba1ccf0f597dee9e9a7dde7c763c342b7ba0ae91664424691bb18a22f4d6644b305f00b286a14ffbeaa83615798e54fc97ad7c648b7bff5824fa8d3675714a17518b8fdf7c439ef5b665c217766479b31b3eaf8e64f6746c62fc3a89b93f4c3a2675bc489e6bebe39f567e7068720f2a0fce2e92f32bf1dad416ff1bb97ce48995d5e2721310aa33c6346ba0780c17533ea6d497bfc0ae471dba2b42cb5adcb74a1b870b7ce7b7d289774648607b5cb363d9283649a89f4f31a7b667594a8684bafdbd4a15ec889cb6db33a71289132aa1f3af98cfca0b3b52b7c480d104dc4911aaa8fc3471aa02863bafcd9e3e73441326b210a370d12cba6aaa1017b8d648a7fec20ce9c5fe8289f858ce425ee282592d93ad7ea8690c12c55add7e4baca354057dee16e1d5acb49ee86c32ecdee24bf8e8a2f13a7e56a9ec11f76cc3d7b92bac00b9085fa4d493e7de996b3fea0c12ec4423587a7710687f47e0e2ba141563e2d1ebcc9c50e0a7f2a20e2e784c6efc947052b8b7ab05cac08961087a9f29e9f03463f222fef36d09216d7911e9be00e2137546b04741297034653a1787e1f30797dd688a1f2da45f0ac77872bce1be070c909155dfc4b58881dc12157aeb92e70c252af62bd07bc93257020bb6b0288d2db6177c27a1a7dedcf7cbe1cc96138ae27b4db4f9ced2ccfe7b2ef3b80b96e0ee3a40506e237f69f3905ba008675b41795a950b74d1012caa24d3245f94b743ccd23e0ac4159a4287c98f41a779d417c3041f0230fd403841093562c46d061b16df4a3f2a1066bb8af95108b38b5d07f9797023d6b5f82aec884e13056407560a9f7df83628aca7fbfbe311c2a528e2fb9ea04719118e46fcbe1d16e58fb511733830f1056b92321596e492c37ccefd47f6f308b396ae01d603ef5d7736d76655bfdef17a23edfa3f96dfc4293b498fc190b8e5a6fda7eb87aac9b4caa21fa295fcd4ddf78229dfe8c306c4ace3577a50abfc7c397f1a34f9ea4e224089b9c879ff501bd000e67be4ebd4e6944c850aff40c6c2afedd5137f5404e3340b3ce722a13cfcfb1688fe0fc9d50aaa02271dec6b22f823f79ac5b1530bb7536c418378c303345ba578b893036e59a91a92748de2bec7a67bf0cdea9953a26b486d83af92ce2b3d83b405b9120e12acd518af174b50f441b04b15892938c44dc7b10f189cea4250901fa33b0340245cad62ca62f3647c7ac02005753d59c5941bd2bb8f79460a542bd7e8237a09cab93a9533008a19059dba0a7a9f4782c2750f74b69f3831725e5c82c0f842c6c617a2e2d71f5d1f83c60e0acb93abd5c9d03c288eb31a0b2ff60f7deecc6965ddc92e84f08d629824bd9e74cbed173b5332a977c7cc0962a782043fa4950164ed4c2a79ee2c6b214f0e3d0908e85efdbea5942e998046f10d03d95d0a79ba6c8bc42712d3c58b2c5b29a07592c5873b92ec690a34ae7dc101bcd8801ca1c46985a2ee534da9a3b92f05d66eab10960f2409d1a7bf2ba55ee5694e5acdc5b67b1f397ed34ffffd46c7f91050b380e705c61e42b606e9589cbe17c01a3fa6e4c9412ca9092b6aada85e1452bdcac70e28a0b913f02f9ca1fe29911503a8ce057e013f683295bfaf7b7708956418f259ddce37c055ac124ac9431604769474f050364ed2176e300f5c072857876f484755cc2b1ef8ed769d5656ac72b506c777bc976ef81f232d54612441845579acea804a6d7f3ff828bd539e904fd18962d1aaffd000a6bebec011153e300615a7855fdb232390cead0b5c9c72fc37489ec72326f9ef24ef29382b980baac5e5b4426e362de4cadd527f5e56cc4be87543e35adfaafafa80d70d7906efe6aa0e5cb7cd4dfabe892feb515396e47da3708fdca700f2670ed23e62d922c99aaf2b7566f5f13bf942de820e5f7c56f1b0c94660a2720c50bfb6b186cc92b19b1dad6d2d81ee6de203048d0b50ce3667d1ba4b887d125b68a5a482e3ed4121a8ea4aadece2278ddab9fbbd9a1e2a006c89a44f6f6df8623e0bf3611affbdadb59efd00e12f0a1a52ad9848fbc273896cb1798de95ae1db19d116cc782a44213c51b340b4ae9d735eb650186d78f3b6b43a8503b2408341c3f1589aca70d1e5941f0e45b746f7ef327072c1f0fe576e4c767e06fbb02ccd8e23aa7dc8cbf37491f463227ed70a356822a78899914f19203865b2d5570b68be26c2521e6c76921f7d91ec0aaf6342527cffbf7ca27b6bdd33d5884ae3386e49cdc738f439b294a222389f285cedf2006be73048db938e545fd73d492c811d9722e35415d3e6b8e8de19d37a0e1f330d0d9836cd2790fc373e0c01bbd724a89ce7d972381be7dd5b70a3620ab3227141d1f4fe4fa8a4bc41e1681dfcece06e54d4c94b701a0530c68acc5a5659c5942155cc0da1c0e387efe148062b4bddb27866ff5513c2d09b2925c569bd86fbdf05abe619754630c2227cb9e5d6735e19eb674cb5315fd1d084ebfadab0c58a4d85d9f6cf2f3f60211be2f226b3e75653f75bc8fa303945ad3a779576f4724e82233a955f838f42b00bffed8245ab2c6c59a9a6fc01457ccf648eb7a4abfe155f074e7593db803e2192f07e38abc870755890ac05d42428da4601566556f8ef950bbccafe819201d5bb9c125d8e5295198a0b16ac15fd1e02c58243a2e619c6e941747562b26ca031a05e21fc2e5ab9192d8de4a5b0d41777a7469bc3ce08d1e331ccd32bc6cfff6481cc0080090ba58a7f141056d872723e6c6c56cf13ee27d9b13356d7aaec70f7e190d12cfcc8651553d70752da33727fa49d4f75881ab9bfb57df30ba6e1f9386de4704de7cfe16485aa2eca07b768d8ad6d29a6c8fd0039d2e624e6d35c603e5a283a6a47a828c858783b10ceecec16c019e2d355bd02a8018fa3c3bda3c3b25fb4047ed1d64e68533a070d8ac7b17f01bf40a131e31f8a22aac21475f5fb3009e9926ae52f40d85160e94004ad65d341a135357ea2b8a3e6ca519d042c927451c508521582c57db8b53992ca750693ca1ebe90359887fd3b3294af3e64173f3a2a3518f9f282840f03c693cf29fec0af315b2bac929c0c962d4c61482b3ff4ab7ccee5a707771ab0f804c7647963a286ba6b29dcf7fda6f5674459316c00c79d44aa9ffb940cbefc94876cab90a559d5fa634c3b1cfb7222eb0ed57a6b30a9bdb09e0a4cadc255a68fef2c268dbf54a910467b000a40223679a87d73ac74aab9158a2692a86c550e9b319401d88c27c9278290c40d3c491e2486dcd1b273dbf808200e1f32707b0e00e4b6868d3fecd7241dc104cdb553133a537d54ba8ad4fbbba4161490fc0af26e5ff37347c6801b04c4422f6f7cc5b1472f187f64cf80b633c7e81dd4f5affeafc582d74ad9cdebe63bfcc56404e8b84e15bd220c261292b7a1043c6104e1a7e22f96f4ba347bcef2cfe0170f5189d38596a2130e4a91b02d6af6f41c08f49d43322185700686f602e125dd969c82d67af78659664e1e3e9917fa7b721188b10b145a56506ec549e1e691b9c17e4d3371f63ad84bc245b7f6f792a6f53629000791bfaa91e3d7f059746c131e90f32179bab6fb26f14120a9905087a694c03647cf81efe5eae11710e59e15ba821d896473db8172d06db79a537f58292290212677611043311878477ea828d8f126f8020c8a987fc6acd147710491e6323bfd41045b34bd93384125626d1415c9cef01655324fd48521a8566f0ceb5838d53eed58fe046c7b8f9a99061ca61f7df63ea27282269afc3981f0640dd213cc5822c05c9f84d38c28d1d359d2e75bec278b6af6a48cf0eb3e65605db40f57e8a3e9bcc59b4f78e18b32e663e998acc0eebfefe0364d18e4574bfe54f7a7a3145538100dc1fc60f9193dfd2a4d9203704dbb46ba53be6d8fa9ef7ffae0843b468e50fa04c663d70c71770222a4244202cc564d68d9ebe9868e54be3e1b748a3941ec26411f2f5ec8780600d26d48844c8a277ba001edf0ac8825c2b0e03221787eb110d11e6c26cba5681be68f9b549c447c30fbf1cc40edefc81752cb56ea2e98b5e82e321858d46fbc18c3720fd10869b4a6bf7707a8674d4dcc4cf415806bd76a21ab560bdcfb4e482be7331927a156fac5c929b078477398baa7264f169a8cf72359f9106586d35d9fb169db8867df92763db05a0fa888e376ea6d62e465de95ea5d6aec537007422aa28d238c1c9aeb19d545ff1ff897bef9ce80bd8e5cbe9d8472b78127e5cf3e87fa195bac8bcca34dcd2fce22728cd0de0166ae97e51830eadcaf0ef2e95d9bbe5f11f0d6c41a13e79d17d4ae68bc9fe1f917c12d379f0f896eed49f1707c9036e41cb1100d0fbce3ad9b857e7d061113864edf590dfe953cd5f6515cb5f6690c5369a2b16eacefa84aa96a2e6c839c5fad8d85d27d9c4c0defa582af18dd483c8465e9e6de5012709e2a580999f5184d684a18a3913fb08328af5df2897e5d336a61ae979ef43cdefd2dc8dc4ab2e89cab3f5c3cb8c27d7126d96ce190c0ba1663cffe403c928e04aef178d612581bcea4434f0dc3652197d2716ded47e9ad45e3fe832cb356f5eb1dad3f7174195db1368ee55b625a874317d9b17bae9330c51675a03b859a61100698517d6067bfa395cd2d2705ae8cffed52025a4a446029b1e9c19abf7082268f699ff9304fbef9726f68d979aed7d982ed8fb6399aa203ca91c4811bf68ff0c0bc052d49bc7ae42d8bbfc5664620c9a5a9fb7f97bb033b60195250a7c845508f9464e105a57563edd7a4e93fbfa6f46fae8076a0e386bf04d2cf879ed3e9b4e6da8f093d6c9c8758f8f02228ca77538fce8821819581eabab0cf652db9bb508515a00a7aaf410e149d82271550050dfc69549481b2cdcf2b4794f98135f37963f21a5ad059d80de1b9ba2dd9f27abd36c6494c45cf70de41b3145876770ce10fda19d53b95b5f938f87fef041d78a041298a3abfbc4444e550b586b25c20506cc752f9ee464dd7eb658c3ac77dbdba0916fdd850be06710c705595079825cab04761abe32eba4a9714ce2779555be0917bbc10007379618696fc847364c7ac1e820c884df89371838820203fb97a01a841e3ebfd874375fe89384b920a93edf874cc6e0b689905a20fb13768d7b221ff9d864e3fa164d574dead69035294430b445ce8333fc57fd6c5ff0727ae5c57a130ccff85cda280a30a09fe32e4ae24ee154d062793a80739990adc63c3f59047d7725500e4bb9477b64ef1d305f94fb76798c0181e127b5cb0191195cd42e21fe6a2323718965c73cba0997deb6219e78fcfe3415d1cd8285957a69826fb34906ccca25499c8205ae8901ee441fb75ce0905d5eda859f084418c6e4930ce462ad9a8e3b9a95db0a7eaa6c8cd56816bac82ec10306c8daab45c7d19fb292ff83b1e35a99490749d491b40817d6e40798dd0ec30295e25afef6bf25edffaa8de86cffdba1b7ebeaa") preadv2(r0, &(0x7f0000000000)=[{&(0x7f0000000080)=""/100, 0x64}, {&(0x7f0000000100)=""/241, 0xf1}, {&(0x7f0000000200)=""/176, 0xb0}], 0x3, 0x100, 0x100, 0x1f) 03:50:01 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5415, &(0x7f00000005c0)) [ 203.612070][T10356] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 203.686722][T10341] XFS (loop1): Invalid superblock magic number 03:50:01 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x42, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:01 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xf0, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:01 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x8d00, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:01 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:01 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5416, &(0x7f00000005c0)) 03:50:01 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x42a443, 0x160) fallocate(r0, 0x20, 0x0, 0xffffffbf000) [ 203.923957][T10373] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 203.935444][T10374] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:02 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:02 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:02 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5418, &(0x7f00000005c0)) 03:50:02 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = syz_open_dev$vcsa(&(0x7f0000000000)='/dev/vcsa#\x00', 0x400, 0x8800) ioctl$NS_GET_OWNER_UID(r1, 0xb704, &(0x7f0000000040)) fallocate(r0, 0x20, 0x0, 0xffffffbf000) mount$9p_fd(0x0, &(0x7f0000000100)='./file0\x00', &(0x7f0000000140)='9p\x00', 0x1870002, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r0}, 0x2c, {[{@cache_fscache='cache=fscache'}, {@nodevmap='nodevmap'}, {@version_L='version=9p2000.L'}, {@privport='privport'}, {@version_9p2000='version=9p2000'}], [{@context={'context', 0x3d, 'user_u'}}]}}) r2 = openat$cgroup(r1, &(0x7f0000000240)='syz0\x00', 0x200002, 0x0) r3 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000400)='/dev/vcs\x00', 0x140, 0x0) ioctl$VHOST_SET_VRING_BUSYLOOP_TIMEOUT(r3, 0x4008af23, &(0x7f0000000580)={0x1, 0x7}) preadv(r2, &(0x7f00000003c0)=[{&(0x7f0000000280)=""/18, 0x12}, {&(0x7f00000002c0)=""/207, 0xcf}, {&(0x7f0000000480)=""/227, 0xe3}], 0x3, 0x5, 0xfffffffc) r4 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000080)='/proc/capi/capi20\x00', 0x60102, 0x0) connect$pptp(r4, &(0x7f00000000c0)={0x18, 0x2, {0x1, @multicast2}}, 0x1e) r5 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r5, &(0x7f0000000440)=ANY=[@ANYBLOB="3000000075000025000000fe5aeda9db2ccb87815e7f3c135312a7fd0e92976931dc3d45a2d2da11f777be1dfc4559f0"], 0x30) write$evdev(r5, &(0x7f0000000240), 0x0) 03:50:02 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xf000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:02 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 204.142705][T10383] XFS (loop1): Invalid superblock magic number [ 204.154754][T10395] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 204.217685][ T27] kauditd_printk_skb: 5 callbacks suppressed [ 204.217698][ T27] audit: type=1804 audit(1600660202.186:38): pid=10397 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir249221196/syzkaller.CE95X7/75/bus" dev="sda1" ino=16098 res=1 errno=0 [ 204.426038][ T27] audit: type=1804 audit(1600660202.366:39): pid=10404 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/70/bus" dev="sda1" ino=16067 res=1 errno=0 03:50:02 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x48, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:02 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x30000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:02 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541b, &(0x7f00000005c0)) 03:50:02 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/net/pfkey\x00', 0x131701, 0x0) ioctl$RNDADDENTROPY(r1, 0x40085203, &(0x7f0000000040)={0xffff0746, 0x67, "be456369ad3bf59b287319c1aa0a25cf15268e2facac82c41a3e41f896eae30625b8bd46be0120183b09f8afca46e1ffc0810f90e51d9d290970420af24dc044175bd7739242e53d060fb27dda399f0e249091bf6af26f35826dad8430cd461a5a5ef105048b0d"}) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:50:02 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:02 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:02 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', 0x0, 0x1e) r1 = socket$unix(0x1, 0x1, 0x0) bind$unix(r1, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) ioctl$BTRFS_IOC_QGROUP_ASSIGN(r1, 0x40189429, &(0x7f0000000040)={0x1, 0x80000001, 0x8}) fallocate(r0, 0x28, 0x0, 0xffffffbf000) [ 204.653923][T10418] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 204.680342][ T27] audit: type=1804 audit(1600660202.656:40): pid=10421 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/71/bus" dev="sda1" ino=16109 res=1 errno=0 03:50:02 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x34000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:02 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541d, &(0x7f00000005c0)) 03:50:02 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000040)='./file0/file0\x00', 0x228442, 0x19e) fallocate(r0, 0x20, 0x0, 0xffffffbf000) [ 204.829735][ T27] audit: type=1804 audit(1600660202.666:41): pid=10420 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir249221196/syzkaller.CE95X7/76/bus" dev="sda1" ino=16110 res=1 errno=0 03:50:02 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:02 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541e, &(0x7f00000005c0)) [ 204.877372][T10425] XFS (loop1): Invalid superblock magic number [ 204.943483][T10441] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 205.009714][ T27] audit: type=1804 audit(1600660202.986:42): pid=10445 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/72/bus" dev="sda1" ino=16108 res=1 errno=0 [ 205.112696][T10425] XFS (loop1): Invalid superblock magic number 03:50:03 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x3543c, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:03 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) syz_open_dev$sndpcmp(&(0x7f0000000000)='/dev/snd/pcmC#D#p\x00', 0x72, 0x80000) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r1, &(0x7f0000000280)={0x1f, 0xffff, 0x3}, 0x6) io_setup(0x8, &(0x7f0000000300)=0x0) io_submit(r2, 0x1, &(0x7f0000000040)=[&(0x7f0000000100)={0x0, 0x4, 0x0, 0x1, 0x0, r1, &(0x7f0000002940)="0200ffff", 0x4}]) io_pgetevents(r2, 0x4, 0x6, &(0x7f0000000040)=[{}, {}, {}, {}, {}, {}], &(0x7f0000000100)={0x77359400}, 0x0) close(r0) 03:50:03 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x541e, &(0x7f00000005c0)) 03:50:03 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:03 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x4c, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:03 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:03 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x400300, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 205.306002][T10466] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 205.326781][ T27] audit: type=1804 audit(1600660203.296:43): pid=10462 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/73/bus" dev="sda1" ino=16115 res=1 errno=0 03:50:03 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:03 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5421, &(0x7f00000005c0)) 03:50:03 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xf0ffff, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 205.430372][ T27] audit: type=1804 audit(1600660203.336:44): pid=10467 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir249221196/syzkaller.CE95X7/77/bus" dev="sda1" ino=16111 res=1 errno=0 [ 205.455998][T10468] XFS (loop1): Invalid superblock magic number 03:50:03 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:03 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5422, &(0x7f00000005c0)) 03:50:03 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x1000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 205.745784][T10468] XFS (loop1): Invalid superblock magic number [ 205.771521][ T27] audit: type=1804 audit(1600660203.746:45): pid=10495 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/75/bus" dev="sda1" ino=16098 res=1 errno=0 03:50:04 executing program 5: r0 = syz_open_dev$audion(&(0x7f0000000000)='/dev/audio#\x00', 0x3ff, 0x100) ioctl$KVM_GET_CPUID2(r0, 0xc008ae91, &(0x7f0000000040)={0x2, 0x0, [{}, {}]}) r1 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r1, 0x20, 0x0, 0xffffffbf000) 03:50:04 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:04 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5423, &(0x7f00000005c0)) 03:50:04 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:04 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x2000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:04 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x60, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:04 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x3000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 206.368887][T10513] mkiss: ax0: crc mode is auto. [ 206.369989][ T27] audit: type=1804 audit(1600660204.336:46): pid=10514 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/76/bus" dev="sda1" ino=16130 res=1 errno=0 03:50:04 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5424, &(0x7f00000005c0)) [ 206.506557][T10517] XFS (loop1): Invalid superblock magic number [ 206.572341][ T27] audit: type=1804 audit(1600660204.426:47): pid=10516 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir249221196/syzkaller.CE95X7/78/bus" dev="sda1" ino=16131 res=1 errno=0 03:50:04 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:04 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000100)='./file0/file0\x00', 0x46680, 0x1a4) mlockall(0x6) fallocate(r0, 0x20, 0x0, 0xffffffbf000) setxattr$security_ima(&(0x7f0000000000)='./file0/file0\x00', &(0x7f0000000040)='security.ima\x00', &(0x7f0000000140)=@v2={0x3, 0x3, 0xb, 0x80, 0x8b, "8ba2fabae60b46edb53e3e16dfe56671ba5ba7bff4213ff63f9d2e35c343bdf8e13d1659309378bcf119432c66ecbd329164bf77cbf467195965e7f61ad6fa786f882633af2b66685823496784b44210a2750487226e160d6792ff77aa75ef9885cf7c62e712812f902a92fec1dc51e49fc792989c1096a98e834c8ed211fd83e38179625dcf4f7c2ce3a1"}, 0x94, 0x2) ioctl$PPPIOCGFLAGS(0xffffffffffffffff, 0x8004745a, &(0x7f0000000080)) 03:50:04 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x4000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:04 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5425, &(0x7f00000005c0)) 03:50:04 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:04 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f00000000c0)={{0x5, 0x4, 0x9}, 'syz0\x00', 0x37}) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 206.962222][T10517] XFS (loop1): Invalid superblock magic number 03:50:05 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5427, &(0x7f00000005c0)) 03:50:05 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x5000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:05 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:05 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x68, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:05 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:05 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5428, &(0x7f00000005c0)) 03:50:05 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:05 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:05 executing program 5: openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x100000, 0x118) r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) fallocate(r0, 0x6, 0x2000000000000053, 0x3) r1 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r1, &(0x7f0000000440)=ANY=[@ANYBLOB="3000008075000025000000fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"], 0x30) r2 = socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$devlink(&(0x7f00000000c0)='devlink\x00') sendmsg$DEVLINK_CMD_TRAP_POLICER_SET(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB='T\x00\x00\x00', @ANYRES16=r3, @ANYBLOB="01040000000000000000460000000e0001006e657464657673696d0000000f0002006e657464657673696d30000008008e000100000000000000000c008f002504000000000000"], 0x54}}, 0x0) r4 = socket$kcm(0x10, 0x2, 0x10) r5 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000040)='IPVS\x00') sendmsg$IPVS_CMD_NEW_DAEMON(r4, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000001c0)={0x58, r5, 0x1, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_DAEMON={0x44, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_STATE={0x8, 0x1, 0x1}, @IPVS_DAEMON_ATTR_MCAST_IFN={0x14, 0x2, 'vcan0\x00'}, @IPVS_DAEMON_ATTR_SYNC_ID={0x8}, @IPVS_DAEMON_ATTR_MCAST_GROUP6={0x14, 0x6, @mcast1}, @IPVS_DAEMON_ATTR_STATE={0x8, 0x1, 0x2}]}]}, 0x58}}, 0x0) sendmsg$IPVS_CMD_NEW_DAEMON(r2, &(0x7f00000001c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000180)={&(0x7f0000000080)={0xec, r5, 0x100, 0x70bd26, 0x25dfdbfb, {}, [@IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x1}, @IPVS_CMD_ATTR_DEST={0xc, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_PORT={0x6, 0x2, 0x4e22}]}, @IPVS_CMD_ATTR_SERVICE={0x4c, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_ADDR={0x14, 0x3, @ipv4=@dev={0xac, 0x14, 0x14, 0x10}}, @IPVS_SVC_ATTR_PROTOCOL={0x6, 0x2, 0x8}, @IPVS_SVC_ATTR_PORT={0x6, 0x4, 0x4e22}, @IPVS_SVC_ATTR_TIMEOUT={0x8, 0x8, 0x49}, @IPVS_SVC_ATTR_TIMEOUT={0x8, 0x8, 0x4}, @IPVS_SVC_ATTR_SCHED_NAME={0xa, 0x6, 'lblcr\x00'}, @IPVS_SVC_ATTR_PE_NAME={0x8, 0xb, 'sip\x00'}]}, @IPVS_CMD_ATTR_TIMEOUT_TCP_FIN={0x8, 0x5, 0x40}, @IPVS_CMD_ATTR_DAEMON={0x28, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_MCAST_TTL={0x5, 0x8, 0xc0}, @IPVS_DAEMON_ATTR_MCAST_IFN={0x14, 0x2, 'xfrm0\x00'}, @IPVS_DAEMON_ATTR_MCAST_TTL={0x5, 0x8, 0x2}]}, @IPVS_CMD_ATTR_DAEMON={0x14, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_SYNC_ID={0x8, 0x3, 0x3}, @IPVS_DAEMON_ATTR_SYNC_ID={0x8, 0x3, 0x1}]}, @IPVS_CMD_ATTR_DAEMON={0x34, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_MCAST_IFN={0x14, 0x2, 'veth1_virt_wifi\x00'}, @IPVS_DAEMON_ATTR_SYNC_MAXLEN={0x6, 0x4, 0xd074}, @IPVS_DAEMON_ATTR_MCAST_GROUP6={0x14, 0x6, @empty}]}]}, 0xec}, 0x1, 0x0, 0x0, 0x4000}, 0x24000000) ioctl$TUNSETVNETHDRSZ(r1, 0x400454d8, &(0x7f0000000000)=0x2) ioctl$UI_SET_RELBIT(r1, 0x40045566, 0x1) r6 = accept4(r1, &(0x7f0000000300)=@l2={0x1f, 0x0, @none}, &(0x7f0000000240)=0x80, 0x80000) r7 = syz_genetlink_get_family_id$devlink(&(0x7f0000000480)='devlink\x00') sendmsg$DEVLINK_CMD_GET(r6, &(0x7f0000000580)={&(0x7f0000000380)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f0000000540)={&(0x7f00000004c0)={0x54, r7, 0x2, 0x70bd2a, 0x25dfdbfe, {}, [@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, @nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}]}, 0x54}, 0x1, 0x0, 0x0, 0x20000001}, 0x8040) 03:50:05 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5429, &(0x7f00000005c0)) [ 207.522763][T10568] XFS (loop1): Invalid superblock magic number [ 207.545347][T10577] net_ratelimit: 7 callbacks suppressed [ 207.545354][T10577] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:05 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 207.675611][T10583] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. [ 207.746422][T10592] IPVS: Error joining to the multicast group [ 207.770188][T10568] XFS (loop1): Invalid superblock magic number [ 207.780145][T10598] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:05 executing program 4: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b52, &(0x7f00000005c0)) 03:50:05 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5437, &(0x7f00000005c0)) [ 207.821715][T10592] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. 03:50:06 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x8000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:06 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x6a, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:06 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) prctl$PR_SET_MM_EXE_FILE(0x23, 0xd, 0xffffffffffffffff) ioctl$SOUND_MIXER_READ_CAPS(0xffffffffffffffff, 0x80044dfc, 0xfffffffffffffffe) r1 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) ioctl$FS_IOC_FIEMAP(r1, 0xc020660b, &(0x7f0000000000)={0x3, 0xedd, 0x0, 0x5, 0x2, [{0x319, 0x5, 0x7, [], 0x1088}, {0x80000000, 0x100000000, 0x101, [], 0x804}]}) r2 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ttyS3\x00', 0x0, 0x0) ioctl$TCFLSH(r2, 0x5418, 0x20709ffd) ioctl$TIOCGPGRP(r2, 0x540f, &(0x7f00000000c0)) 03:50:06 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(0xffffffffffffffff, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 208.103168][T10610] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:06 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:06 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5441, &(0x7f00000005c0)) 03:50:06 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x9000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:06 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) bind$unix(r1, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) fsetxattr$trusted_overlay_origin(r1, &(0x7f0000000000)='trusted.overlay.origin\x00', &(0x7f0000000040)='y\x00', 0x2, 0x3) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:50:06 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xe000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 208.293243][T10628] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:06 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0xf000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 208.351862][T10618] XFS (loop1): Invalid superblock magic number [ 208.352449][T10632] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:06 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(0xffffffffffffffff, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) [ 208.478215][T10636] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:06 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5450, &(0x7f00000005c0)) 03:50:06 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x20000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 208.747153][T10618] XFS (loop1): Invalid superblock magic number [ 208.781078][T10654] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:06 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x6c, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:06 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) setsockopt$inet_sctp_SCTP_ADD_STREAMS(0xffffffffffffffff, 0x84, 0x79, &(0x7f0000000000)={0x0, 0x8001, 0x7}, 0x8) 03:50:06 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(0xffffffffffffffff, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:07 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5451, &(0x7f00000005c0)) 03:50:07 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x3c540300, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:07 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:07 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r0, &(0x7f0000000440)=ANY=[@ANYBLOB="300000007500002500e58cf6de41aebfaecb87015e7f3c135331dc3da2d2da11f777be1dfc47370e2f00000000000000"], 0x30) ioctl$KVM_SET_TSS_ADDR(r0, 0xae47, 0x0) write$P9_RFLUSH(r0, &(0x7f0000000040)={0x7, 0x6d, 0x2}, 0x7) r1 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r1, 0x0, 0x0, 0xffffffbeffc) 03:50:07 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x0) sendfile(r0, r1, 0x0, 0x40d09) [ 209.007736][T10663] XFS (loop1): Invalid superblock magic number [ 209.107320][T10682] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 209.144191][T10663] XFS (loop1): Invalid superblock magic number 03:50:07 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5452, &(0x7f00000005c0)) 03:50:07 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x545d, &(0x7f00000005c0)) 03:50:07 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0x6) r1 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000000)='/dev/uinput\x00', 0x0, 0x0) fsetxattr$trusted_overlay_redirect(r0, &(0x7f0000000040)='trusted.overlay.redirect\x00', &(0x7f0000000080)='./file0\x00', 0x8, 0x1) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r2, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) ioctl$SNDCTL_SEQ_CTRLRATE(r2, 0xc0045103, &(0x7f00000000c0)=0x1) ioctl$FIOCLEX(r1, 0x5451) 03:50:07 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x48000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 209.391745][T10693] openvswitch: netlink: Flow set message rejected, Key attribute missing. 03:50:07 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x74, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:07 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x0) sendfile(r0, r1, 0x0, 0x40d09) 03:50:07 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5460, &(0x7f00000005c0)) 03:50:07 executing program 4: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, r1, 0x0, 0x40d09) 03:50:07 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x4c000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:07 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) lstat(&(0x7f0000000000)='./file0\x00', &(0x7f0000000040)) fallocate(r0, 0x20, 0x0, 0xffffffbf000) [ 209.682911][T10707] openvswitch: netlink: Flow set message rejected, Key attribute missing. [ 209.707049][ T27] kauditd_printk_skb: 12 callbacks suppressed 03:50:07 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5600, &(0x7f00000005c0)) [ 209.707062][ T27] audit: type=1804 audit(1600660207.676:60): pid=10711 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/85/bus" dev="sda1" ino=16154 res=1 errno=0 03:50:07 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x60000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:07 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x0) sendfile(r0, r1, 0x0, 0x40d09) 03:50:07 executing program 5: getcwd(&(0x7f0000000000)=""/20, 0x14) r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = socket$inet6(0xa, 0x1000000000002, 0x0) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000001fc0)={'ip_vti0\x00'}) setsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER_VALUE(r1, 0x84, 0x7c, &(0x7f0000000140)={0x0, 0x6, 0x1}, 0x8) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r2 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r2, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) ioctl$sock_ipv6_tunnel_SIOCGETPRL(0xffffffffffffffff, 0x89f4, &(0x7f00000000c0)={'syztnl1\x00', &(0x7f0000000040)={'ip6_vti0\x00', 0x0, 0x2f, 0x3, 0x20, 0x8, 0x40, @local, @local, 0x80, 0x7800, 0x20, 0x4}}) sendmsg$IPVS_CMD_NEW_SERVICE(r2, &(0x7f0000000200)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f00000001c0)={&(0x7f0000000280)=ANY=[@ANYBLOB="18000063", @ANYRES16=0x0, @ANYBLOB="000326bd700000dcdf250100000004000380"], 0x18}, 0x1, 0x0, 0x0, 0x10}, 0x4004) ioctl$TUNSETIFINDEX(r2, 0x400454da, &(0x7f0000000100)=r3) 03:50:07 executing program 4: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5437, &(0x7f00000005c0)) [ 209.827016][ T27] audit: type=1804 audit(1600660207.686:61): pid=10706 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir249221196/syzkaller.CE95X7/84/bus" dev="sda1" ino=16153 res=1 errno=0 [ 209.893835][T10714] XFS (loop1): Invalid superblock magic number 03:50:07 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5601, &(0x7f00000005c0)) [ 209.948326][ T27] audit: type=1804 audit(1600660207.916:62): pid=10727 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/86/bus" dev="sda1" ino=16149 res=1 errno=0 [ 210.174172][T10714] XFS (loop1): Invalid superblock magic number 03:50:08 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x7a, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:08 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(0xffffffffffffffff, r1, 0x0, 0x40d09) 03:50:08 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) bind$unix(r1, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) r2 = socket$unix(0x1, 0x1, 0x0) bind$unix(r2, &(0x7f0000001300)=@file={0x1, './file0\x00'}, 0xa) ioctl$BTRFS_IOC_RM_DEV(r1, 0x5000940b, &(0x7f0000000000)={{r2}, "1f9f62bac5fa813ae385aabca4d8b2da897fba3c6f89608f5ec79c846720e3df76c6ad73a0860edeb48e69ede4b73e2ec75731c01f90cc4991504ab513f8b05f277e9af51f607e9619961b7401a296bd083a5b8a0b42dc027dc66bed7c4858621fbcd2aa35b39b71ecf3d024e03337c095da9b4ff87b5d9e5b91a28ca1fce7a85fd0a3b3608eea9aa75158bc1abe96e20153ba7ae680e8974ed9e4653da5c6dcd8819530c12cadc13221b1d911f6e41dc178046a26782fca84b675bfe531c99364c341e937eee4186ab411c883556a12d76523f1bfd9e5157ae2166ff91bddcbf3cb28966f3a12b32701fc6a29ed2bda07de9a77fe91977a4a7b41577b9d5f8a5a0d728419edd73ae0e15ca3cd4d943405e3dfeeece4b0d9a14e166cccc7fc7bc56447134e87d96e58e79db9119c8c5cebde355436987ed565bea23f9345b23524dfd413c66779adeee4bbc063e1481bbcd9debe02a14ff7ef3be42eb25dc7b303cc5a5f4bcc9d5cb41569dccfb91a2c48fd6d147277dc861f7a72afbe6e41ea4640e892dd94f0b338e8802c2dfb9d68e3b09b379a1de69ec88fe9c66aadf197cf676fdbab9d865207c4cc4d405e6ff6affb1a25ee4a1ca42deb440fe9b72933755efdd82a32e188f1d3b78520262f2d3b7b2ea29b3ac2e5795f0333c9ec0f5ea632fdf36fab8a582ba804b97cee6cb3168e9c8bc4b500603cc974f232de12bd1b0368c55d4abfb0c2d5be29c2fd41c9b3483693304cabed4d99a6b2d6b0e7a61f5b542b005a56f9ef39528020530dc8d151d5a5c421a65465ae840712ac77fd04ff2d949fa4526861d956a237014cde2b110ad175199c8524374ced5a22a367ba1e93a3b883db337c99f7890665375133bd08cae9ab5bfc24509ad0fdb29890f2f5710d9b8055901588685767fc9d094178010823aade8204839e9425de5ac4e67da6bb9719b30035e404ea69006afad22bf27b1d87a0031973b2499599c18eb382a54fd989bc0897fe1024432078be0e11aef65388d03d199460588207cf8efedf2e8f3186d56936d11b1df25fcf10b261ade4745842d9310f0e415e42cb4535abbe5db871773282eea285e817fcd335206e8e3e8c1443663895a35b8b91a68df5326e82156415a25e622a0740c3be0b424d1304e66fd1db06a84b9cfe1e0194f9e745dfd6d5ce566118adf53d877edc9e772b25361e9ce3a230d240978ba7ec9e9624be4c537c6781db1a3bef57a94b9a0c8088685d7c819306c45103e0fdb57bd05751c21ab4e4c10aab6c8a0f836f274aa7a61a56bb4fb7c7fc9c1932c2e8158bc86f9c58cc67bf4402756df9169ec43ba95ce710a23b1913b64831b46ec62c8b3d47bbe4541883508103afc5098c209617c6b510db830aadce93850abffff7a48b8a443b09259ac18d541f6fb23f9a17c9ac17259ef91f9886cae4f79e78213c5882fbaa4a9dfe5d4fa0ce397b414fd1ada8d416a41dc6fe8b3d124b713233f898c01f1506161dbdb5ca8ab9cd21bc97cda844fade75a6922b16169f6af10936bdbf8e3e9b79e0bf253a09b1348f3085abfadf371297ca544b8c07faa2824464d475e4e7e172a2ccf2d082603ef02332c7706a3aa0160d33b1cb239576049fc50ddade614cb5d31427175eccb14e8b209578f8177f6268c91c58e48714839cbbe94cf882b794a65afffde9f85ed4f3e601e10b227c04b3ad9e2519d4b4353168f42c371a8d3c32a3191b7f83e82ccff774e9a3b808a5b3534d349b40b8fffd2e31981c462563ec6115cb318e4c3701ffc83568c73f8cc42ee66cafe45630e655aee260185a83fd0a028735dfc9c96a9c5ae022fec4bd5048f2e8615cecfde69eaa3764ddaea22deb41acb5d15983e02a4c20915d2e9a777640bd9a18b8ad504bc9537eae30af91c3858be52751cb9eeeab15026870ab87221e68054ee7df4d8e3d1d7212ba01394f3d6288db30c2f0d3a2618a284d190745277e6228ed342291b4dcd57fddff78373af28fe1a1b952b2c9f34ab03d525e1fb025365f60ab35d0006c4ec66de17b16bf59df6263b2fac7e1206b956659c5799a968991e5fc6a17a54e34888afedfcee98d7cc21f4e42b2f15c8ab49c2043f6f41dfc7d3863fd26483703579dcab05ec0d8441fb0e049a5d44beed896dd2be9fe2ffdf37762c2c96e658d352effd0c6a45365c6821b6c8fb296f303537496b452333ca4a6f655a8e416c47717470dd14ba2ae6ae90d94fe6560473f60b850fb7fc6b774d150276bb5905c9a82c95b05cb602c4c5852c419f8e1781ca75048188e6a82849f7308f670a6c04c056f08d6c2eca2809036b0fb371233162f80ffc58c4faefa0d64bb8993c276903e6bd6bc10b1382f4aa9cbf03af8d6b3f58392a34e5191f9d2aaf00f725832e5291e12845ab9d66aee9130e1cbe0a3605d3735c7a2c65482e5a817cf3dc6074c070826b8491cf6c881082e31870f89d59f9731919a0c22f3c7bf14508cd0bed66a70356a0e52e9adcbc383929f414e83ba0694ccb7a45f58a34c9c33f2cdcea66c3d372be7e8285bc86a48c4aa7a870a3ae2ad6eebbd281afbb48460bceab1813f8617afd0d1b624d075edc99187cecd1dca9b5b06e7e2676ae73bc69682a76ca34d1a66c6b05503abd250efa01e589c2747f741717a44837d3ea773fc59f9d39fa55a4a9fc4494b4e0a1062d693a5840a55b8fabf24498e7e76d55b329befe1b95d6c40714121087ded8f07a9251fa52ab6e2177aaacaf1dd9bf59543b8a707638646172f3479e3c571999b2474c0a390b04031ec5f08bd4a3c206dfe3df25d61978672292ba18545d57bba30c7ee55650e4e4d37ac45e4fca499e30e5c8f66d417cf6c8429eec4ac1a72de43d780fc29c88fe58f44b24a58019484feed07bb64361c53269707c30b9e147d535d62340032b6d2c270790d583281ee12df0212081ab097fc678048683e6675bd469e4ea2837d0bcdcc4eef87cd9c360095df6b97cd295c334a079247b38c1012855a3e49cf361895c4a4cd656e9bbe542e53869bf70d9c95d740c69fe9cd5a0af05c4c47355aac7edc68ef41a3b2f4799b0abccc1727049d6d8f329c13743abc79db509a0959eb0728b5f259a558449806c0a26e86bbad77a7f62343a1b5ed76bcd54e57ab9ed582b1b81956cd670942e5c0c6129887031d8ee098f4fb385780325422de605d13c2d825aeea005e0f7ca7582dc03ccb5eff70dc8f8dc894d3dce40f84e966bb1ebd1523c16e9c29e43676bca91b3c4dea9f66afa0dc89e25f64a24e65f299fdbe197b19ec6b226d52445baa6a3d26eb00efb838fb15876409fe9bb4a1aa3aac4ba31f5a48077d8ef3457c1c08bed7ed8b5eb77a1ab30b5f3b774e1899712c99e00193a2aadfe3e67fdee02bc77b81fb1d01be206c38ae324639dc398e684966f859bdf13c7b234a8944bb729cd25ee52a7e350039652f6d447b4868278768732deb80d4f919d7d90bbd63e67f9db4701f9b5d2c61c5a995f962f0a2e7e966c72d27bc2a7361eb14b1466f9075f4b1f63e9acbfd072366303e9de76aca1cca934627671d5f0fc9576af36f130d7f4aa1cf55e3e0a39c790808349c4d83e3a3544508ca62b92b825dd88c83ec720b307eea5237f9e83208384e58f7194d5a5c6d3a49a824faddfcf7e19d5700affd790c27eabb005fc2e7dd9e1932b010788b7422ac349d35a0af6a73668d0289b97aa6307491e30762795bd2cac57946d14ebd7dd01001d31b478f5e297e0a7dcf8e7fc0770856ad49f4613adc40152bf93153bd8e7acb789fb99d45253bee42a819e06360da065a7ae29908d0e209141f4f6ab3f7cd24880601656dda5bb400f5b0c4a778f3131caca6e8eb9017a1304fd3cd05e4402a92cf6168ea28b6773edff6025d046783ca5d2f451fa2a3bcd7ab4e5e741a03bb3eabd65aa9d9a7a437e243cf30b4b699ba72830413e3cebfae17d936a9f70ad63948f4bda00ff53ebb099f50cbecffeda55ae070d39561d1431eaa05009b0b504fb699117a3319be2ce5e15f8bc82a4119f615537713f17adf105a8dceff0f6aeb5f21f659467260714d44ea749389c42afd348246577512ebf074986446985352a38c5d9148876f94821e385ce480b1dd5cfea6f40177e4fd16cc4d993b91f5c2d0b746a69587ab5252e4324376c776e10004c39be1dadd987c54658482ba230dd708d5de85edebc8eb0ddbc96a71e7d794663ddcbcf2f4252c8e91c53a1a9df2009325c6ccbcde1db14af1cec404ac624002a7a1c66144e08845ef5c1af5a4feeda7b98ada143f8e369179dcaa1b3c216e181bd6f141cf2c9f5671bab088afb3914c8fc177ca4e5c6287f8d206236c9be3ddee1f91b2dc2722d1cc778717734f916f91b74325d6c6f514e89fcc991273b6e6d7ae629ee4daf7792887f2e68a50e24d8046e627fef92ab229e2b2dfb20664682a2bf693f54314a18af33ff542efad5a0d0fc944e81d1b6f5feb9b3f80855adbdab68962d4c9f1f0588205087a8fda53df444c0227e17723f337543cf0b8a9ad5560d8469824dec707df7813fc16906a772928e36397122384d91665c2868732dba0a4fe33bc16a98aacd96b45031f24c5665bc66fc4b4ac4e08ce90c8e7e661ce0207e1e8d84e050880498f7d4c1cdd47ccddb5a3edf968a94f37204f1ee086b0896ce4285fdea14470a9cfa44322d385f531a542c4dd64fde9aec3a55c5a79381fd819fa9d30308ddc1231b53bfc4bc816d608f1bb1e242ed0df0ae1d17ed78e345afffd8214538903a288d8bd4a1090b15607d5c71ec6a9dc3e8ca0fcd4e6616415a5d515d2605c21ed8819fbfa22093920344ffee3656d77f32d9b9dd01d2ea2709b8707c7216ffbf6eb8e361f6c560ecf478ebaab507b21ac472171a52dcaf335c6e1383c04f2f346be274fd99f079cd238b8e568c93b9b683c3ef94b13b1cf9f3acf540bab87ca7269b76512e5c323271393b6db4e066f2c8a49a101c518c7de3fc4869101458a99c353989e2d08638ab2343abd81497e47c0717d50e07929a7ba4e20415eed2b0a5a2e2627b665357657ac146dba6aaee290a638aa5faf42e826cb6e536e2937044cb6a5f07f4004dcb736ace822fe51e1bf94f63da3ec8e781ae879010d8149c58309cf79376169489a8d33138d2f331fdfa946d665e782f22633741d90815a65ee3f324963a8d82e6302389ccb3263455924fcd9e9429aebfd5c71d0afdcf58e667c2d0d61d571c847617d1bb0c03c94095f441df71bb8acb4228634d3d86d08369704be2574b11a34bf0cea66e7a4d3f9c58cb803cbfd30c77ccd87f2bc7a90aa2ceb5458227b138858eac36b96230af2ef1241ed9b4d86fcdc84a634d10b78a71a24f4e10a64c905203baa85389ac6897bfc46f38de0aa22d61301c460c19243d602e8c809a10c0a516143c6380390cce0b55802560a33aa14c3bdf766431a2793c65c70c60a0958eb801aa276f8c8cc339d07be8247e6c49085b2f0a248e15e0bb0d48570c9441b08e2e2aa5db86a15a2e95629c1ce4e71fa6cd557fed802c322cc195c5a192834eb10d91a7a2f1d0a4a99ac818381f12901336829a84494fb942048a1ff18a3dcb87b96ff7fbcff7038fb049c962f70c5c976d0a4b363c46cc7a955aea871c0827b404cddb016faa9336ceb1f898957f049926c4787d42dedf5bfaec13deb327fc65f32f46aafa72c47fc0982fb93179b8f1f0b33668c0f98290e7e97fb6b9415b788d522567d529a18bf52bfd43f2aab3d5d3f"}) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:50:08 executing program 4: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b4b, &(0x7f00000005c0)) 03:50:08 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x68000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:08 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5602, &(0x7f00000005c0)) 03:50:08 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x6c000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:08 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) socket$nl_rdma(0x10, 0x3, 0x14) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r1 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='oom_adj\x00') write$P9_RREAD(r1, &(0x7f0000000440)={0x30, 0x75, 0x0, {0x25, "fe5aeda9db2ccb87815e7f3c135312a7fd0e92ab6931dc3d45a2d2da11f777be1dfc4559f0"}}, 0x30) r2 = syz_open_dev$vcsa(&(0x7f0000000500)='/dev/vcsa#\x00', 0xd7, 0x4000) ioctl$SNDRV_PCM_IOCTL_DROP(r2, 0x4143, 0x0) sendmsg$AUDIT_ADD_RULE(r1, &(0x7f00000004c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f0000000480)={&(0x7f0000000040)={0x438, 0x3f3, 0x10, 0x70bd27, 0x25dfdbfd, {0x0, 0x2, 0x3d, [0x7, 0x3, 0x5, 0x5, 0xabd, 0x80000000, 0x3, 0x4, 0x81, 0xff, 0x9, 0x1000, 0x4, 0x3, 0x1, 0x101, 0x4, 0xfffffff8, 0x80000000, 0xffffff38, 0x3ae, 0x10001, 0x0, 0x7, 0x3, 0x22dc, 0xa3, 0x47, 0x4, 0x2, 0x6c, 0x3, 0xffffffc1, 0x9, 0x7fffffff, 0x7, 0xfffffff9, 0x7f, 0x7, 0x9, 0x1, 0x7ff, 0xfffffffe, 0x81, 0x3f, 0x7, 0x101, 0xed, 0x4, 0x2, 0x2, 0x5, 0x6, 0x5, 0x3f, 0xec2, 0x5, 0x0, 0x81, 0x8001, 0x40, 0x9, 0x4, 0x80000001], [0x10001, 0x4, 0x40, 0xe1e, 0x9, 0x9, 0x9, 0x8001, 0x8000, 0x0, 0x0, 0x0, 0x8, 0x80, 0xcc5a, 0x1, 0x7ff, 0x9, 0x200, 0x8, 0x70, 0x9, 0x0, 0x2, 0xd194, 0x0, 0x7fff, 0xffff0000, 0x1, 0x2, 0x5, 0x5, 0xb0b4, 0x400, 0x20, 0x3ff, 0x6, 0x6, 0x0, 0xa24, 0x0, 0x401, 0x10000, 0x20, 0x5, 0x4, 0x2, 0x4, 0x6, 0x2, 0x1000, 0x8, 0x0, 0xb11, 0x1ff, 0x1, 0x3, 0xebcd, 0x1000, 0xa93, 0x7ff, 0x3, 0x80, 0x9], [0x9, 0x2, 0x6f, 0x9, 0x7, 0x5, 0xffff89af, 0x808a, 0x62, 0x800, 0x1, 0x6, 0x8, 0x76a9, 0x10000, 0x100, 0x9, 0x8, 0x1000, 0x7, 0x1ff, 0x4, 0x0, 0x0, 0x10001, 0x80, 0x20, 0x0, 0x5, 0xb21, 0x8, 0x63ce, 0xbf, 0x5, 0x47f4, 0x8, 0x5, 0x5, 0x2, 0xe7, 0xff, 0xfffffffe, 0xfffffff7, 0xa6, 0x4f5, 0x1000, 0x0, 0x40, 0x5, 0xc55, 0xff, 0x80, 0x8318, 0x24000000, 0x4, 0x81, 0xe1c, 0xffffffff, 0x7fff, 0x1, 0x10000, 0x6, 0x8, 0x2], [0x5, 0x4d770ff7, 0x3c83ac81, 0xfffffffa, 0x1ff, 0x9, 0x2, 0x1, 0x200, 0x3ff, 0x2, 0x8, 0x424, 0x80000000, 0xf69c, 0x8, 0x6, 0x1, 0x9, 0x2, 0x892, 0x6, 0x2, 0x1000, 0x6, 0x6e, 0x401, 0x5, 0xff, 0xb11, 0x67, 0x100, 0xc104, 0x2, 0x3, 0xffffffff, 0x3ff, 0x7ae5, 0x7, 0x3f, 0x8, 0x1, 0x4, 0x5, 0x0, 0xc00, 0x40, 0xffffffff, 0x4, 0xcd, 0x375e, 0x3ff, 0x5, 0x6, 0x2, 0x8, 0xff, 0x8001, 0x3, 0x0, 0x8, 0x6, 0x5, 0x9], 0x15, ['O*\x00', '-\')-\x00', '\'(+}#\x00', '&\\\x00', '[}{\x00']}, ["", ""]}, 0x438}, 0x1, 0x0, 0x0, 0x20000000}, 0x8001) 03:50:08 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5603, &(0x7f00000005c0)) 03:50:08 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(0xffffffffffffffff, r1, 0x0, 0x40d09) 03:50:08 executing program 4: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b4b, &(0x7f00000005c0)) [ 210.450217][ T27] audit: type=1804 audit(1600660208.426:63): pid=10757 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/87/bus" dev="sda1" ino=16162 res=1 errno=0 03:50:08 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5605, &(0x7f00000005c0)) [ 210.585383][T10759] XFS (loop1): Invalid superblock magic number [ 210.636976][ T27] audit: type=1804 audit(1600660208.606:64): pid=10773 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/88/bus" dev="sda1" ino=16124 res=1 errno=0 03:50:08 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0x8b, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:08 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x74000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:08 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) r1 = open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(0xffffffffffffffff, r1, 0x0, 0x40d09) 03:50:08 executing program 4: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b4b, &(0x7f00000005c0)) 03:50:08 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) r1 = socket$inet(0x2, 0x2, 0x9da7) setsockopt$inet_udp_encap(r1, 0x11, 0x64, &(0x7f0000000000)=0x2, 0x4) fallocate(r0, 0x20, 0x0, 0xffffffbf000) 03:50:08 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5606, &(0x7f00000005c0)) 03:50:08 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7a000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:08 executing program 4: ioctl$TIOCL_SELLOADLUT(0xffffffffffffffff, 0x4b4b, &(0x7f00000005c0)) 03:50:09 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, 0xffffffffffffffff, 0x0, 0x40d09) 03:50:09 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7e0a0000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) [ 210.988097][ T27] audit: type=1804 audit(1600660208.956:65): pid=10793 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/89/bus" dev="sda1" ino=16108 res=1 errno=0 03:50:09 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5607, &(0x7f00000005c0)) 03:50:09 executing program 4: ioctl$TIOCL_SELLOADLUT(0xffffffffffffffff, 0x4b4b, &(0x7f00000005c0)) [ 211.058918][T10790] XFS (loop1): Invalid superblock magic number [ 211.171868][ T27] audit: type=1804 audit(1600660209.146:66): pid=10812 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/90/bus" dev="sda1" ino=16161 res=1 errno=0 [ 211.337908][T10790] XFS (loop1): Invalid superblock magic number 03:50:09 executing program 1: syz_mount_image$xfs(&(0x7f0000000040)='xfs\x00', &(0x7f0000000080)='./file0\x00', 0xac, 0x0, &(0x7f00000013c0), 0x0, &(0x7f0000001480)={[{@discard='discard'}]}) 03:50:09 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) fallocate(r0, 0x20, 0x0, 0xffffffbf000) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x8000, 0x100) bind$can_raw(r1, &(0x7f0000000040), 0x10) 03:50:09 executing program 4: ioctl$TIOCL_SELLOADLUT(0xffffffffffffffff, 0x4b4b, &(0x7f00000005c0)) 03:50:09 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x7f0a0000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:09 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, 0xffffffffffffffff, 0x0, 0x40d09) 03:50:09 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5608, &(0x7f00000005c0)) 03:50:09 executing program 0: r0 = creat(&(0x7f0000000200)='./bus\x00', 0x0) truncate(&(0x7f0000000000)='./bus\x00', 0x1000) open(&(0x7f0000000480)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) lseek(r0, 0x0, 0x2) sendfile(r0, 0xffffffffffffffff, 0x0, 0x40d09) [ 211.495467][ T27] audit: type=1804 audit(1600660209.466:67): pid=10831 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir492379120/syzkaller.xCaIGe/91/bus" dev="sda1" ino=16158 res=1 errno=0 03:50:09 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$nl_generic(r0, &(0x7f00000001c0)={0x0, 0x8d000000, &(0x7f0000000100)={&(0x7f0000001440)={0x18, 0x36, 0x829, 0x0, 0x0, {0x4, 0x1000000}, [@nested={0x4}]}, 0x18}, 0x1, 0xffffff7f0e000000}, 0x0) 03:50:09 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x5609, &(0x7f00000005c0)) 03:50:09 executing program 4: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SELLOADLUT(r0, 0x4b4b, &(0x7f00000005c0)) [ 211.602882][ T27] audit: type=1804 audit(1600660209.576:68): pid=10836 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir593458526/syzkaller.H0ZIvn/111/file0" dev="sda1" ino=16164 res=1 errno=0 03:50:09 executing program 5: r0 = openat$dir(0xffffffffffffff9c, &(0x7f00000020c0)='./file0\x00', 0x2a442, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_POLICY(r0, 0x400c6615, &(0x7f0000000080)={0x0, @adiantum}) fallocate(r0, 0x20, 0x0, 0xffffffbf000) mq_timedsend(0xffffffffffffffff, &(0x7f0000000000)="e11e952aa1c071c7a72c32570f02a950a881c425b4bd2694b17934fd5610bcb0452314781be77e01b69e4f0e05d8995c5ec613a7e3ab54fc9a1093f13111936e22c265edc0d3b7d930c30d0752db7c9148ae6b078276f2d5", 0x58, 0x7fff, 0x0) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r1, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r1, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x1c, &(0x7f0000000240)=[@in6={0xa, 0x0, 0x0, @rand_addr=' \x01\x00'}]}, &(0x7f0000000180)=0x10) r2 = socket$inet(0x2, 0x80001, 0x84) r3 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f0000000100)='/dev/nvme-fabrics\x00', 0x401, 0x0) ioctl$sock_inet_tcp_SIOCATMARK(r3, 0x8905, &(0x7f00000001c0)) getsockopt$inet_sctp_SCTP_MAX_BURST(r2, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) getsockopt$inet_sctp6_SCTP_PR_ASSOC_STATUS(r1, 0x84, 0x7a, &(0x7f0000000140)={r4, 0x0, 0x0, 0x7fff}, &(0x7f0000000040)=0x18) getsockopt$inet_sctp6_SCTP_PR_SUPPORTED(0xffffffffffffffff, 0x84, 0x71, &(0x7f0000000200)={r4, 0x2}, &(0x7f0000000240)=0x8) setsockopt$inet_sctp6_SCTP_PR_SUPPORTED(0xffffffffffffffff, 0x84, 0x71, &(0x7f00000000c0)={r4, 0x10000}, 0x8) [ 211.697869][ T27] audit: type=1804 audit(1600660209.606:69): pid=10840 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir593458526/syzkaller.H0ZIvn/111/file0" dev="sda1" ino=16164 res=1 errno=0 [ 211.723046][T10851] ================================================================== [ 211.723127][T10851] BUG: KASAN: global-out-of-bounds in fbcon_resize+0x7a0/0x870 [ 211.723141][T10851] Read of size 4 at addr ffffffff88db6418 by task syz-executor.2/10851 [ 211.723146][T10851] [ 211.723161][T10851] CPU: 0 PID: 10851 Comm: syz-executor.2 Not tainted 5.9.0-rc5-syzkaller #0 [ 211.723170][T10851] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 211.723176][T10851] Call Trace: [ 211.723195][T10851] dump_stack+0x198/0x1fd [ 211.723214][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.723228][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.723245][T10851] print_address_description.constprop.0.cold+0x5/0x497 [ 211.723263][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.723278][T10851] ? lockdep_hardirqs_off+0x96/0xd0 [ 211.723295][T10851] ? vprintk_func+0x95/0x1d4 [ 211.723314][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.723329][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.723343][T10851] kasan_report.cold+0x1f/0x37 [ 211.723364][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.723382][T10851] fbcon_resize+0x7a0/0x870 [ 211.723405][T10851] ? display_to_var+0x7b0/0x7b0 [ 211.723441][T10851] ? vc_do_resize+0x2f6/0x1150 [ 211.723453][T10851] ? __kmalloc+0x1c7/0x360 [ 211.723473][T10851] ? display_to_var+0x7b0/0x7b0 [ 211.723490][T10851] vc_do_resize+0x535/0x1150 [ 211.723521][T10851] ? lock_release+0x8f0/0x8f0 [ 211.723537][T10851] ? lock_downgrade+0x830/0x830 [ 211.723550][T10851] ? rwlock_bug.part.0+0x90/0x90 [ 211.723564][T10851] ? store_bind+0x720/0x720 [ 211.723581][T10851] ? _raw_spin_unlock_irqrestore+0x6f/0x90 [ 211.723597][T10851] ? lockdep_hardirqs_on_prepare+0x354/0x530 [ 211.723613][T10851] ? _raw_spin_unlock_irqrestore+0x6f/0x90 [ 211.723635][T10851] vt_ioctl+0x10c6/0x2e90 [ 211.723650][T10851] ? lock_downgrade+0x7a0/0x830 [ 211.723666][T10851] ? vt_waitactive+0x350/0x350 [ 211.723680][T10851] ? check_preemption_disabled+0x50/0x130 [ 211.723692][T10851] ? kfree+0x221/0x2b0 [ 211.723710][T10851] ? tomoyo_path_number_perm+0x441/0x590 [ 211.723743][T10851] ? lockdep_hardirqs_on+0x53/0x100 [ 211.723766][T10851] ? tomoyo_path_number_perm+0x24e/0x590 [ 211.723783][T10851] ? tomoyo_execute_permission+0x4a0/0x4a0 [ 211.723796][T10851] ? lock_is_held_type+0xbb/0xf0 [ 211.723809][T10851] ? __sanitizer_cov_trace_switch+0x45/0x70 [ 211.723823][T10851] ? tty_jobctrl_ioctl+0x4d/0x1010 [ 211.723834][T10851] ? vt_waitactive+0x350/0x350 [ 211.723848][T10851] tty_ioctl+0x1019/0x15f0 [ 211.723864][T10851] ? tty_fasync+0x390/0x390 [ 211.723879][T10851] ? __sanitizer_cov_trace_switch+0x45/0x70 [ 211.723895][T10851] ? do_vfs_ioctl+0x27d/0x1090 [ 211.723911][T10851] ? generic_block_fiemap+0x60/0x60 [ 211.723927][T10851] ? _copy_to_user+0x126/0x160 [ 211.723953][T10851] ? __fget_files+0x294/0x400 [ 211.723979][T10851] ? bpf_lsm_file_ioctl+0x5/0x10 [ 211.723992][T10851] ? tty_fasync+0x390/0x390 [ 211.724010][T10851] __x64_sys_ioctl+0x193/0x200 [ 211.724030][T10851] do_syscall_64+0x2d/0x70 [ 211.724046][T10851] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 211.724057][T10851] RIP: 0033:0x45d5f9 [ 211.724072][T10851] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 211.724080][T10851] RSP: 002b:00007fbc9d15cc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 211.724096][T10851] RAX: ffffffffffffffda RBX: 00000000000193c0 RCX: 000000000045d5f9 [ 211.724106][T10851] RDX: 00000000200005c0 RSI: 0000000000005609 RDI: 0000000000000003 [ 211.724115][T10851] RBP: 000000000118cf80 R08: 0000000000000000 R09: 0000000000000000 [ 211.724125][T10851] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118cf4c [ 211.724135][T10851] R13: 00007ffdef477c0f R14: 00007fbc9d15d9c0 R15: 000000000118cf4c [ 211.724156][T10851] [ 211.724161][T10851] The buggy address belongs to the variable: [ 211.724173][T10851] font_vga_8x16+0x58/0x60 [ 211.724178][T10851] [ 211.724183][T10851] Memory state around the buggy address: [ 211.724195][T10851] ffffffff88db6300: 00 00 00 00 00 00 00 00 00 00 00 00 f9 f9 f9 f9 [ 211.724207][T10851] ffffffff88db6380: 00 f9 f9 f9 f9 f9 f9 f9 00 00 00 00 00 f9 f9 f9 [ 211.724219][T10851] >ffffffff88db6400: f9 f9 f9 f9 00 00 00 00 00 00 00 00 00 00 00 00 [ 211.724226][T10851] ^ [ 211.724237][T10851] ffffffff88db6480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 211.724249][T10851] ffffffff88db6500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 211.724255][T10851] ================================================================== [ 211.724259][T10851] Disabling lock debugging due to kernel taint [ 211.724375][T10851] Kernel panic - not syncing: panic_on_warn set ... [ 211.724390][T10851] CPU: 0 PID: 10851 Comm: syz-executor.2 Tainted: G B 5.9.0-rc5-syzkaller #0 [ 211.724396][T10851] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 211.724399][T10851] Call Trace: [ 211.724414][T10851] dump_stack+0x198/0x1fd [ 211.724429][T10851] ? fbcon_resize+0x740/0x870 [ 211.724441][T10851] panic+0x382/0x7fb [ 211.724454][T10851] ? __warn_printk+0xf3/0xf3 [ 211.724467][T10851] ? preempt_schedule_common+0x59/0xc0 [ 211.724479][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.724491][T10851] ? preempt_schedule_thunk+0x16/0x18 [ 211.724503][T10851] ? trace_hardirqs_on+0x55/0x220 [ 211.724516][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.724526][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.724537][T10851] end_report+0x4d/0x53 [ 211.724549][T10851] kasan_report.cold+0xd/0x37 [ 211.724562][T10851] ? fbcon_resize+0x7a0/0x870 [ 211.724574][T10851] fbcon_resize+0x7a0/0x870 [ 211.724588][T10851] ? display_to_var+0x7b0/0x7b0 [ 211.724604][T10851] ? vc_do_resize+0x2f6/0x1150 [ 211.724613][T10851] ? __kmalloc+0x1c7/0x360 [ 211.724625][T10851] ? display_to_var+0x7b0/0x7b0 [ 211.724637][T10851] vc_do_resize+0x535/0x1150 [ 211.724654][T10851] ? lock_release+0x8f0/0x8f0 [ 211.724665][T10851] ? lock_downgrade+0x830/0x830 [ 211.724675][T10851] ? rwlock_bug.part.0+0x90/0x90 [ 211.724686][T10851] ? store_bind+0x720/0x720 [ 211.724699][T10851] ? _raw_spin_unlock_irqrestore+0x6f/0x90 [ 211.724711][T10851] ? lockdep_hardirqs_on_prepare+0x354/0x530 [ 211.724723][T10851] ? _raw_spin_unlock_irqrestore+0x6f/0x90 [ 211.724737][T10851] vt_ioctl+0x10c6/0x2e90 [ 211.724749][T10851] ? lock_downgrade+0x7a0/0x830 [ 211.724760][T10851] ? vt_waitactive+0x350/0x350 [ 211.724771][T10851] ? check_preemption_disabled+0x50/0x130 [ 211.724780][T10851] ? kfree+0x221/0x2b0 [ 211.724794][T10851] ? tomoyo_path_number_perm+0x441/0x590 [ 211.724804][T10851] ? lockdep_hardirqs_on+0x53/0x100 [ 211.724819][T10851] ? tomoyo_path_number_perm+0x24e/0x590 [ 211.724833][T10851] ? tomoyo_execute_permission+0x4a0/0x4a0 [ 211.724844][T10851] ? lock_is_held_type+0xbb/0xf0 [ 211.724856][T10851] ? __sanitizer_cov_trace_switch+0x45/0x70 [ 211.724869][T10851] ? tty_jobctrl_ioctl+0x4d/0x1010 [ 211.724880][T10851] ? vt_waitactive+0x350/0x350 [ 211.724891][T10851] tty_ioctl+0x1019/0x15f0 [ 211.724902][T10851] ? tty_fasync+0x390/0x390 [ 211.724932][T10851] ? __sanitizer_cov_trace_switch+0x45/0x70 [ 211.724944][T10851] ? do_vfs_ioctl+0x27d/0x1090 [ 211.724956][T10851] ? generic_block_fiemap+0x60/0x60 [ 211.724967][T10851] ? _copy_to_user+0x126/0x160 [ 211.724990][T10851] ? __fget_files+0x294/0x400 [ 211.725004][T10851] ? bpf_lsm_file_ioctl+0x5/0x10 [ 211.725013][T10851] ? tty_fasync+0x390/0x390 [ 211.725025][T10851] __x64_sys_ioctl+0x193/0x200 [ 211.725039][T10851] do_syscall_64+0x2d/0x70 [ 211.725052][T10851] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 211.725060][T10851] RIP: 0033:0x45d5f9 [ 211.725073][T10851] Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 [ 211.725080][T10851] RSP: 002b:00007fbc9d15cc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 211.725092][T10851] RAX: ffffffffffffffda RBX: 00000000000193c0 RCX: 000000000045d5f9 [ 211.725100][T10851] RDX: 00000000200005c0 RSI: 0000000000005609 RDI: 0000000000000003 [ 211.725108][T10851] RBP: 000000000118cf80 R08: 0000000000000000 R09: 0000000000000000 [ 211.725115][T10851] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118cf4c [ 211.725123][T10851] R13: 00007ffdef477c0f R14: 00007fbc9d15d9c0 R15: 000000000118cf4c [ 211.726503][T10851] Kernel Offset: disabled [ 212.524105][T10851] Rebooting in 86400 seconds..