ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000", 0x40440, 0x1007e0}, {&(0x7f000007da00)="eb52904e5446532020202000010800000000000000f8000000000000000000000000000080008000fe1f0000000000000800000000000000ff01000000000000f6000000020000003daaf55af9830909000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ffd00}, {&(0x7f000007db00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ffee0}], 0x0, &(0x7f000007dc00)) 16:11:53 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000100)='net/tcp\x00') read$rfkill(r0, &(0x7f0000001500), 0x8) read$rfkill(r0, &(0x7f0000000000), 0xffffff6e) 16:11:53 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) shutdown(r0, 0x0) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000000)={0x0, 0x10, &(0x7f00000002c0)=[@in={0x2, 0x0, @private=0xa010101}]}, &(0x7f0000000180)=0xc) r1 = socket$inet6_sctp(0xa, 0x5, 0x84) r2 = socket$inet(0x2, 0x80001, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r2, 0x84, 0x14, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_MAXSEG(r1, 0x84, 0x78, &(0x7f0000000180)=@assoc_id=r3, 0x4) 16:11:53 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x4c000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:11:53 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) fstat(0xffffffffffffffff, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r1, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000023c0)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) dup(0xffffffffffffffff) socket$inet_tcp(0x2, 0x1, 0x0) 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 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000000c0)=[@text64={0x40, &(0x7f0000002400)="450fc79a0030000048b8e1df9b7e70e531670f23c00f21f835010009000f23f866460fc7350050001f0fc7b100600000b8010000000f01c1472a7579c4417b704300e6360f013d9e9f967ab9420800000f3236460f015a3b", 0x58}], 0x1, 0x40, 0x0, 0x0) ioctl$KVM_SET_NESTED_STATE(r2, 0x4080aebf, &(0x7f0000000280)={{0x0, 0x0, 0xffffffffffffff54, {0x6000}}, "be77f645fa0faab4173328e03e0e9f020bbc798c84be65bf762199e269b6d15af3d542e5a531a895866fbf13910d95e922d6aa84d68924efe5e444b34d9df08a868ae23c677546798d6ec2c17d6e3f87f0d757c2078c9325c641fea9938ba4f20ebb2577f51ba467d973398c7fa94be4e2abd427b7ad4385c63e630090759c2a6c768a973d0b1e7244e494d5925d9d9f40afd544b84d1fdb8de7af279d8700739c11327a76f8bc32743c959d8858b276c211222f40206257be84ddd07b20d8b1de9b5390ba5eaa289c0bfdf6b5636b7acfac5159e2e7759338e06ae00e4b7cf162e45442e3c8395858847e3e28da4ed237027cd849991ab91e6e5dc61b9936de574c3b26a2b0e303386c02ed1bb6a5acaf8a9271e196bc59fb3d7d6a88383d53302680fd8ebd0e75fa67333a6fb9da0333d6f87b3f628136a4b9ec1c2f4cf3d5ec900ec17d48e3f741860d963ec6e629243d06b547374ec3f5a0a8e71cdd67e8f591d68711ba4df1f2fc62d9f54c6f7b8844c8ce569fb7f983a631250e77374780413ab37235afdefb70572e79f35d36406aded61bcf76711aacf325b2ac1f78b4ede1239e36d5d644c7a81cdf6b95a1e3aa6c2f70d889654572d1f88f05e5b2c5f5c37d6570102c2525a9b3fa28a88c83ded573a896239900bd365dc0323d4921c3c96a3dae810479a1ac83b64f0f9b2008eb51832bce90105dab379b3d99f6761d4cf438d92356c563c982938fe83026258aad0a7d9f5eacfa359c68ec271d3ecf9a57d3eec56cb0bcf1bb0adc6c297d6e5b101640d3c5b50bcb54faebed4f850e737b5a2837054bccbecfd1c28e70a967a350d21867ea95b2cdfe55fd3edc6e1f4db06a5e6b77a333af48e92899e074794f3b4687dce6d45cb33433e922b1602e767164dc0e760d14b4c70f304de2cb56ca5ea35719f492480e48b9007e4073a8e02450a93d3932971b32aca283773bbb7974486478d380d8524c0eee27ba19d9c51196494bc3f2c41c1ddc72b0b9d97ca307022baf742cb69b45de669e3224c1eaf4e6ec7bb76f921ad3fd01e1138eda10e945ca95302c1729adf6526041169700a783f767632e99b55eac5e4ebc25b63e11649a31e1dba33445a36b40c7cc7ab6450cb4853c69a9f1eb00d466f6c98f297d3e4882fd4d1a9dff0786cece0dd1b03fd84f982b493349f32e49be255102e7bd1475e25574a992da6907a0e6bce48d4601b51ca05798a0e8b5faa9ed6700902e4626b866b4219e3880277bca07f577def954fdd64e089622ed0eec558759a9b6d3e512b330fa30e31403053a73da1747a7874f5b7a9fde4c0f9f29a27e795e275c9f6c33d9db7f370f148a790811428b2f96566bd0e2b148997e69b0ffe1a81cb04d43ce6a24ea2a9414b930fa1330153cb20aaae484e515393b9ddf9d029806c35d5e956462b7cc7f1c7995006ffeae1f1ba1daf8d43309198bf444ec82c670800d5dacd600924564931014b1e834a38274c6560784572e6d4bf8c4a5a1ee5edb2f4ea5fa9f07b11d3d1d88b993fa662bc04dfb9ffa9e534f1622efd7f823346aa7e0a988f56be531c73f34439df61f9737cca8b93d2c25695138c70c469298c3a114c89a8c3409d4dc18e7bd0158631d0b936823a6dda814ed50f83862058d1ecc19b2e1195c910edb5e7164fbd403de0beb5d7feec901a5a373afa1162be95f0e71e50d479e33494d7c98c1cb2ac886c81610678923685fa9f5fff2584c89130b7d2ac78317e531bb2fcade76520cf8bec450e31eebfa5ae2f78587c572d36d56a69cf3f2cc9e15b77c11877d27e8af0196902d7f94646f0294b4507ae4461397ef21b24a2142f740460e1eb1935cbaccd14f71f21d6fb7144de99154f037cf31e9f30da3c935950c7d1c859096d44b57e7bd37147304b2fe51ab63ca7c4031c1f07913c8a894a6b0573886d7a0a62cd20a0f433e541a43808465eb82af5bb9c819a74bed83cf91aa180442c28b9f4d69dd7e728c7734dd3bd3e277e67e96ab9f09e083c0a6e42fe2bc5dcae9a2deddb7f763e62b0d8adacc00af734bb9e978c160600611c83309468a2f942f5d2c9f7cafc97dae2f542ef33be39952fa70ee3e2ecb3105c1a490db73fcf46a3645de10e1cb335ea604f41d10b723872c26f20a71f44b1301fffd601c6a609e0d195bbcb1203cd23fdb3e3f59fa8ae5a484881c34706bacb6a479fa7c9cc6920613dd6903bf046493bac060f046efc6ce43aafe9a3b735c1cb283714548fdc16a2ce9d9dccd77f3b8037132ec1b1f1d965932a9ec4b20efe1f2212c94511b61799b5bd29be84e47d1c1209af544bb4c4820b4897fe00fd583b8ae5394354d1f2532d0801f202ba31bf01a896ebea5302167cf9b0ed71e793d9572fac48d75724caa57f99ba9db2113f5fa52d19356ed1d0c85bd60805952113e521a01444d6a6a502144691a9d32363284410e967626c720cdb3444a56b1b7043047dbf8e5f1b5177c82a651710eaed591e1d4ac5ffaf85411f7c3c3e58fefb5e0528f74b3f78a0b31de68f1e31415a7a37010be818b886c28cca1bf68db068929bad71bc6b4ae2a4c9f2c9bf98f15164e6ef96ef4121c191e5a94ca431b49c475f02acebc42d2c6026e4f7d595e5677947bf6cc0d6f95d7838f76cfc04492cebaed4374984706465ac83a1acbb55450f5b5e1e4cc00a88c334af44d337089c80167a813f54fa903ec85d8f1d22c443bcdfb3d268a3e57f563b9732cc3f5d8b1fd98a6f44e3b056cbeb65946ec917ef093c3a62757f2b27e6b4873ae7183b5b9a6528a576af69449df90cda4bfad6c54bed67fecc6fdc624183aecb5072002c8dc9d45505901c61489ab31b7d6cde6943f042953df648861b68663291117f3deb74d3f9e9501d9d50b095baaeef21aca82e00203c06ce103cc923e6f02ab481eed2da0a4eedeb827e9d7961f6d972f347c649e706dc0259d697a6a5ea1ba33a6f2c16beed92b58fa290026c728e91f3de285a74e56e968c5d174639a915b5e53d7b1e5566b1a89f09434afb2a2ff1fd00d13e7ce5a3dcb8e628f39a6c6825acd4b7152a777d21485f6360af8b1c62a4a29f2ad98d9c393530187c14b4defdfc8ac12433be7f56a40ce4087eb1f7cf949e4e9b3c612e4953716ab027a36ce839f1d2815c289d08e0e500630c2f54344d6549b9645a4b31648d25f71dc7a43651aa8530ccd0cec2f96a4385b185823111c514b5beb817a98824f301462598f03919ec52c0fdf5a522f3e4b250ded3089e0958bb20e5f936c8ab4fc00316ce483254f6e2abc024835acdba239decc60fcc316cbb5fe85db2e22ecd1259c607b575d836222d7a21f0fccdc6d4f90c487c66dcbe9d17f6af2edc30b57189f009072fa5b46e1f49aa33a6546aea60202c4e77066e2f487b2bd36f3178ea888488ae52fad830868172d8f2b3335db98a83c45e047ba93eb32e08a014d13fb8b9f3b54c16adaac8a95c250051baaa3667343a3df51ab7dccedcf4410482fb24ab337285d4c0d182bf00050c5cd2f8a1f7954fe0ce1c2325dc159445464327f0c463dfdae8c944db603ceab504409be7e3316e679960b63e1935018641f0d30d40fb4f83faa2786e7284b0adf6fe0ae04f61c362be89177aa7a27cd00a1c101deb33fbae04b8b20fceeef601049626954f0436470eb4d344fd53c34eab4fca401bb6aa64c1d1891ca88300ce5f8b9b7badb64a5aa3ce8ea848e288239def4602e4812c66503ccc2a68b734d97b2fe71e321e09275bbc727e4c02ce1a967f2f7c5f02f658c5e449a1c718a535561afbddd05ad28559c6ea8a5d19298eeccee69818b69a833b972128e153306522a3733396e25e3a2175443715b0926ea967609f73e2529fa4b6c346e32543431d11f57f557c71ff6b789d9a78e8039f78c5089586aeba7a584b3d6b753f8633d062b5cca3639eb95885027a1b78a90f79d33e8872b455a21618b76a4afd3d704849b067ab8f968bf528fbdbdfdd34e84163d644e211e32f9b5b91f86fb815890f6e405d7324fd6ff84fea268cf4d613d8b8cc784fd434f317dd77ccaf40d974c43d70ec15306c691ce9782267b20b35c150c1c104adff5437068f7c9dee058c08403024e5ed1f35bf1b6db213af8fd0293b230ddc7a405e1e3e584292cf6d9bd4ca1d0c325ecf37c57134320f79fac3f26874b1d595d0aacb7bf454bc4e15f755c1c7e2d0951d7731d8bf27c8002f611a942d633c9e0203ee9f848de15966e6c993d790bbc26958fdc3ff4e62b971697855ad0980d3cf6cd79c0f2f0d41eab6d2c67e83295afcbee60179e0997ddf9b15002b7fc058afa567034dabc640790aba2419a5ccbce25abccde586373f4e31f3436e5bab2e156b4cd6abaadbd4e991cb4a15cdea2202b13bce716e1df40d6bcc275f14c152ffe6294d2b5a5377a9da546490a0ff9ec3f27a0a6070f1b0d72b75a74ac1e764c4670b9547faa728500233dc410132d800bddd4e81272f1ace1fa8186e1b68e19b23ee611b2c9119b094764fd0720212c14f12f1835596660e08dbaf1a28c2ecb391094e8decb500484a4f9de412781fe084695a243d474471a3d6abd4ac640cfb7da40e0327defce9aa8101a25f7145b55db0510dd090af63fd65f9003693b21b2f3d4775c65707fed78474238d6453592933b2265c3836d0c775b95e9739b3de3856072a5b43c9e3024e8843b2522e92d12aab4a636c68af12722ab38d881f4c97118014db986f3ec966783b93d81d1d70e3ea611482df745256c3ef9c6c949c6afc6929f69d9427ddde81f3f278500c586b3bb736c2fc7713ad92ed13640f4051e72b38568e3f211f75261ee6517de0b980076127d7dc00a1660a11232325f7ac097f46e0ef4493cd7de875d14056419373d887a821672d894d32c810464705e92c9abe32967fead2464c8b2f693f45d07a8160f59ec046019b016ee8b07764278af8c6b22b4cc079f406c0ba898332aa8911b026c75edd02d5a40f8ed9c1a3d39c1893a0affe4b38c77305429562e9d0907179753051cbf13ff936091334fe24a53816d2aa5e2e26993dac3f2c573b0001152ee26b633afd966bfb704054227160bf292bbcc35f78a649bb7f4fe1783a6b10de778519c8a71f1381cc67a779e51ce3097e666d964728d55708e76953826c7659c3647d3f3cedf9f1b45b27f5735bb8d78d874bf73147b738b9c0566a0d2fdcb17f85dc712462e381ba1466d92d903ba24d0cc17ddbeb7bd80b5525d7236a8add54d4eca06fe4cd0d3724403c7ad09f22eb2fcb4181eddde271be821579b7382bbfe36dab5079811e62842da65165c27c181dfed279d5ec12a1c0c13541760c2fe5cce95c6892622229ac24a7211ba43e513077f34342b61611a1ab10b6c51f6e3a06be0716d7d1abc82f5903e32f1e6e3e85789c1b8f140bbe1903b9677ec9655e171bf1f4d27dda003c27d4ef0e043d0def451dbc0f48cb6cb605b1e2d27e9fc9db10c0b571b6805f316b00b581d0d7358f83e14d1b4290e61fc0d0bd97334f31a547350c00877c90bcb591b98986c19d9d477f7dc521ac43d2edf9201ea61c43e6365e795bfb44b0d90ced7b9d34a849dec495d79cae7769c721d7cd17f1503df3d113c49fcb18449ff180d39c94717ae8fcba7ee1d8cf75873098a7a697d5f5d7a6eeef14daf146710ee40c94ff8ea9ff048d108688776fd074e72658d6ea43f42ea03883f70f45c7b86d3eb0bced0f3a60b6da510833728ffdb82af9a34c5fc86e0130861ac66c68b784300", "204b9e1804d636301150775298e6490040d0ecb72371cfe0ccc258d2b4450458b909ae785f60b932863937ed25df0ce2b046ccc47e3501ed7a53e69d95dfb761f3fb81659983876f915b21b4b91270b4607875b751136514bb42b1de575e5ae05e98fd37dde49acb6a8e7f7c592ceb8793d00c84515e9b091fca8056f69ef47c1c91735af04b3077a94a24147489c6bbc3d63a76ba4eb1e6adf014106f4b0117fc6a2b2c84ca9e6c40fade373fd49f657e5e828399868d39d2a9d8cb3f4508e156d31ded826a64d84b19ceb0c13d9566f14866028f00408428bc6b9a27761fb13e70561fa8bb45bf2547baeebd7c99e01c1ebdac09ba75e3f67b2bc6898ca2c8e6c2b09efef1e688c74fe8e214b657d3325725531f9ce71d59532adc69f40e0b821fbd14558133f9fcd9d5ace9150703b5879f74028583dccd4984a9fedf23f1f6b8c501f9a99762079404f109e6d69b025edbf2d3169e44f186eb60e7abf9539cb8013670435420f54b7e485644f5afc2d0581d8404c23bcf2c0bcd6d3a6fbc658721e74546ea52d57f259e841e87f01ace9d7fb10bb4356abffa306d91963914bc144e486f78c048aafe20eae27ff53250de7bed8c4167780c53facfd741b93f53d67a60eba1527701896bcd29a6cc20b9390582421eb0e5dce7a66a94881904dd91c47c59e8b7219adae86ba78b230306829368a56dc908245fc72886c3b18facea659b27466d3c6a85b541f20a012660319f8f4ba0faf0d83d28ac63ae417323a0f75b88235d1a60a29c41f662b34ac40ac19c94f227567860a998f5e4d8f65b930c1a1209ba04cc2406599914e8ed7c98d8095a56fd29920c47c6221bf7e6a076dfc90947af9468d8844731ac3923896f25a8402421e24e1d328e5b9daeb97048b87e3d374874071931ad791c1f03324ba01d463364a5bb1dba7e3b807aec9c333703397a45918c73b443dd46f7b289736662ad833302fa89567e44c3de8e2f87bb5f8758abf6f888ad26bb5ed48a4bd828d8fcf5c01cf7588009c1a6c35e94142950b3bac8fa0af15c2f30504cef3e544b132e4096a836aa49336cbe878d2e33075d0712adc3e75b9f9bc7ec420f123084eb296119171535c4fa49d460d4444eb309f424ec13be89ff6641caa089da262ff89c0d4b1a86fac91361a7a124a0e4b27de253186e10671d2532d600f6b4089dc690f600363092ad93fb62fbab9e1a96caefe31e4c117420fd1df64e4e0cf4967cb026a003be444278553c2e58e19ec5a6db3921fab8fa0748965e523659e54a3e01190492f9b01811d06b13d8c833454ab5a93af8a9ad27a155d682d8c78f074da17d6ccb7ded5b5f3c30e3afb3c0e4aab6ce797e8142df9a74f486aee74c0bc021c227d802c5f5e79678c45bac331d6ec24ecb404296dc9e90b2c191fc14c53505e92587f43a5eedc56a6408048d9dbb8bee8840a656952cb361f0d76baa20939e6e8ab917e12b76dd812b95e68c90708d7cd81aa18002eea116f4190e49d1f628a509c8fb65f393ef5bcf7d1b9ea289e0532ee5f46e65709e84aaa7a6334c58eaab5c3cced88fa3e9e365ace119a3c40dfe336abbe6d3a09dfd895cdc3daae26ae9d3f68a3a2184ac5f6972ef034f1f9f0d4100a55b8638db0986f362a23b599903909a5a6193fc2c6e54adc965ff5d48bc1ed1b6ff0ab226b9598f70a13ca0a0b2d2cc05f17449bd4cbd224fa75810955011d5a401348c0b75546c1fd86824ced7b0c79cb4d13a3722aef6f7a0cb49f76a372ff133736f04b67bf6a74d5164a227f4865dfd15181e0a9e5dc53317ffb04a7ab1fba87d3b34bd1cee7c6aef4b3ebef183c9fcd4daf091ef1f5f2709a7eb4a648242c408e7d5b10b766e0f648c654d99d0722189c4956474892e379a84b1f09f13ba589423e43b4b0dd267b1d0c976fb64903ea2d22e2612d9dbad91536a986f44986d74578f2cf378dc6505cc26261548a080e11d74fed2cdaa90479f0656fd927f89a0624f4ce943981ffbec2ceb27c7fb6e6ee7df7c2d26d7151f1dadb172a0017787c5d32d6408b6662c8f5348f34e63649206142164f7aa076b2c83bfffe44126ee923f0b9bc917e52308373553cf19e6798ac83ace350be47f445ef0d268c2a4fc67998a5907db42decc63fcfc30df0a4543da178e442aec97060edc209e34849f6beea0e366eccc80b87c1c16f89e5608b96c176ccfaf6014a619b83d72c5a89749cf763fd76c6ae82b6a1322674838ab9e5f9a0db7aa8b7d27db308edb664fc0197756f6709df36d9f6ed678944e18455a8d49434f9a6f223cbf52b6a1ba266a55331ffe7e83fb4130c2f5528626c4e451d8bac1da046dd59249fe41b6c8a36e82346918e0177c876f44101ff9f7721d8fbe1eca04e13ba8db3f5bd01c3661df0d6c8a24d45a246e0ac80aed4178901a71a939da4622592b3a8d87b3ae35370530039d7d413455e9d61656b58a1e63aa9bf1a87d8bcc6605c3167836f82ba01f54934e2d31d7463e1848ee8a2cca55a029d5ed37236dda9f278981cdb330eabc6bfc33a7fee5678c38b8e0a9258fa8ce5cb8abc3320d44dd16098df1bbf9d3e3142ec1838ba81785e37dc97fda2797e3cf6b7d6c367737b4df96a242149bbba7af54da91b404fbf01f4ecfb7ebd97c67de2415b3bca3b5f21deae988733dcb547a17aa38c0b98aba60fbb1d57f9e8f005ae6233e5da68da32c7a2778944a2eacba03e3312fe968fa3be0e2ceb4d8526803e7a8f24618b1003860e424da518c9602cb092c9c6b930b72523bbf615ad8330e337e64ff82eb78d9a2384e86afece8aa9d9cb1b7ab27265261a3cf542e1655792ed66b28d27bf4f02d13e93413bfc5fae7dbec15aac85331ae3d4032679988ffd1c1750447f763ebc9ba8f8ba4521b74563af6ee8a996af3707dd03118c3f0d18d612a5105519310f7b8c5eb4b7e3a0d675374da18314d144b5d5d0ba2735dab4efdf68f70285ce4d35032427e23fe7c59c5844879550417dc93d2221fe0ff82c7e21ebba19c01fefc6f6eeb7078e7557f077ca089246e6f3901e127ca4685c191847ae720ce30d41939239b2835d9cfd126faabc88eb80d409d8ec1cdf6070c55109bdbbb668fd56c6ebd3503986cdf5ade19903a85516f0ed87872f397e6244b0f58c70b8dd0cbc408dd7a87c42d672d31fde7fbc31b3acff4be744b933ec0645f76b52481ba6f50a25a98f89d9989e347b682a459eb38004d0de0a7314f8319b1e0ce5152a4928d7f59769347a7f48af595d028b5012cf5b7fc081cbec3c5ad30801947b5d3f87a242b05691ef3f46f0ba35fa6ee28a966ad42e34ef6192cb6e5de41411df4638c825688abc1c8f1fa7b2eced5ae40a5d35d7cfd981f4dd46a91e8f123187d8e99a947020cdc4cfcb66ee004232ed5badfa694fd943ed59f01433989e5663a77fd2bbcdbfaad5ab482150f22ffa6b1ae9e99134b320c04444c3d5d71e37c6d4faf82b1297d75a520e6e6c5a0d7ab86dea5245a97b16a7690f50e9abd452da33c58974cb63e4711fece83cf1251c6eecc7c9a887b0a881f148b6c8fa3749ef09661488909a2f74e41a4968f5f1d1ebd9a511f5732ea60a18032d68dcf34a5914b1c24275e6c3d331a8c454e4c615dc5f6ce4de1b44fc755da73eef517bca08fa464443eabf4046961625ee82c406e08359b49785a1cbe9822cada3375da9adf55bd50e156a314f10107a3fb880a944fa3a0cdb4be2234c19ab26f8075c6389a0a6062e82050b493a30e617f728b8d0ced0b69da60c6fdadd95ee1c0e656b63ecc72a491e07bce4c3df3761e51bb327a86d55a375e4f5859a8b179a47f4b5b8b85fed0db916e31885d0ad185d6c7e79449e282a5d10a7cf86d0305a2673cd9aa834d130fcb1098c0f69771ae23e2b49cdd3d39be17fcc309a282486bf0e0829a0805a036b0b1e357f03a861857312dab3033f00957ff6f03a35240724bc6adf429090f555aca563ffb5e4b67c75486149f2495971bf653617f29e50d59da32288afeabc768787d2e830c70d5f0dbd8db5e9923b8893f32c4cdc0d8130caefade59d7f5e270f8b5487b69815dd8cec6d3dfa3ca308987f2970ab3e8714cdbae27dc22fa434805c9284b904840a92bc76490c15c6a04df137940d48f7ac6285f858611376f447ebaf11ce4014066d57e5fa579b588e0d795fb0322d1b8606faf9507092be3e320184a5324df47792e8b015ee27ace73b0bc05f3eff2c2a9ee45752df32a85b1ad5679aedbe40ac59511938929e210a409e538c139d1fb93891d2b9908f915b9c556788bb8926b6a96923038a119eb68bcb528a42e97f8fbd49e7d5bb3e51987cca590ea8a18e049f64d8c994d63a707c441e63509f909adf5f7c26d36714bd56307513003f8f85f20c8fea4248627d2f19891baef9b134a8ecb6e3da6232c5b818d7469645038312b6b952f782f28ccd199367a51f750927e5f11ef04cb299dc7ba0c24500134d3a9a0a4f62903ae930f5ba49c39855ffc4aba6cc9d400075f094875db9ebcbcbb35309421d08a928b0216dcbbf718761b01b4d41cf55b0b2bf4c89603a61e5ac2f5bf5236d4bee90617e1b2fdc3a4540db2c89561c1cb9b1e28436013546e654e36fa328097ce8a4baf5a2fd78f9bca617bd4de062dbbc38c7356232b385823b6c604a401f43f5864111eff29045c12b6c622182e097caa5a9945133375b46dc0e268e860dd58b62403c41393f02c7f1d23a1d0daad5d2eb7a085387ea6b81ceb6191d5ffa7f58848996caad4796ee8d9e1bad072455a37d8b64888cb4007f344783afca22db07a2ccb8531c6a9d69bffdf1f949e3fce89f223119595c5b9bfa51893ff36849be61ff02939360a5d5b0e05d22aa3a1f16c27103edeb00c0f763bd4251805ec8d894692cd1636b4b1c96ab613896c17b2fb8a414a91463d54f145e1d49378e726e5921d8cd34aeb176a36701c9b75311806efcf402d4345034d7fd5165857bd2cd07b32a18334a3cf358dadbc8144b806120805a07714d8d0029fe0db7958bbb69b9a216e5945fdf0b892665c0bad2cd822797d5c7223094cd54042c781fba9d7f05a169f390225385d5c055896dc8a620a637a7c73ee77fbf2152fb62af9bcbe01389dd846724fa24ca6088d2bddf9bcae4d9e11f86266e4d87f6b11f3721c30c3f48ddfecb7623802c7e3f595b088473747d25b70bbdf8920924c6bb9e202e6d54e340a469e8ecf66b49dda0036a7d071492742593c2e02bd7bd703774f2ac8c45dbfa1f8ce4c205a05064362bf2819e80bd406367a86ece3f5d54b43029b3f7fcc2378c5e33e8de66fa5f3c4974310c3ac4d2ab1234b1fea14d71512c578dfab154a74dc66c8a5ff983a41e02c57c58cd9c3a77d22f15f8a6abe41de51ce4a92151ee25c6f2c4feb0453b4f86fb4c7e19063b871ff6458b2ad51b992df6b16de3a5a2f5935c85d5a8709d82943c645f6199e76b38d718b86945638d92daa15aeb9beaa53028a425c6ee90dbd58b57f4a748ec0037fca725812aaac8e201d5121c06c9d3bfcbe799b9fa28440fceec78a5d39a112626bd0f9e530cb5573083e6b3b0ce5ef60e85ea643331d45663f309d75d36c88ed56abbac74672daa72c2f180ab5d117d2ab17db9e36a807bcaa62a07aa5486d39d63f64d23f03e58f6fa346b39005cde05121ecc2146ae982d02532a2deb90d8b9cfd32ff03a5294933292fb3d58760bc81a72df0e602b9b4b7e407bc542924e9763fe0d4bd5346ccb9e10b1ea7dade31d4bbc9"}) fremovexattr(0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) open(&(0x7f0000000280)='.\x00', 0x0, 0x0) ioctl$SG_GET_SG_TABLESIZE(0xffffffffffffffff, 0x227f, &(0x7f0000000180)) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(0xffffffffffffffff, 0x8933, 0x0) 16:11:54 executing program 5: r0 = syz_open_dev$sndctrl(&(0x7f0000000000)='/dev/snd/controlC#\x00', 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_READ(r0, 0xc0485510, &(0x7f0000000600)={{0x0, 0xfdfdffff, 0x0, 0x0, 'syz0\x00'}}) [ 2002.986103][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2002.992222][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2003.309934][ T9857] ntfs: (device loop2): parse_ntfs_boot_sector(): Sector size (256) is smaller than the device block size (512). This is not supported. Sorry. [ 2003.328143][ T9857] ntfs: (device loop2): ntfs_fill_super(): Unsupported NTFS filesystem. 16:11:54 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x50000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:11:54 executing program 3: r0 = syz_usb_connect$cdc_ecm(0x0, 0x51, &(0x7f0000000100)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x8, 0x424, 0x9e00, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x3f, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x3, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}, [@mdlm_detail={0x4}]}, {[], {{0x9, 0x5, 0x82, 0x2, 0xf7}}, {{0x9, 0x5, 0x3, 0x2, 0x234}}}}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, &(0x7f0000000880)={0x84, &(0x7f0000000340)={0x0, 0x0, 0x1, "a3"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$cdc_ecm(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, &(0x7f0000000a80)={0x84, &(0x7f00000004c0)={0x0, 0x0, 0x1, 'J'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, 0x0) 16:11:54 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x35}, [@ldst={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff80}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:11:54 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) unshare(0x2040400) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup(r1) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000240)=@newlink={0x34, 0x10, 0x801, 0x0, 0x0, {}, [@IFLA_XDP={0xc, 0x2b, 0x0, 0x1, [@IFLA_XDP_FD={0x8, 0x1, r2}]}, @IFLA_GROUP={0x8}]}, 0x34}}, 0x0) r3 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r3, &(0x7f00000000c0), 0x3b904e855ebd73d, 0x0) socket(0x0, 0x0, 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x0, 0x0, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) 16:11:54 executing program 1: mkdir(&(0x7f0000000040)='./file0\x00', 0x0) setxattr$trusted_overlay_nlink(&(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)='trusted.overlay.nlink\x00', 0x0, 0x0, 0x0) lsetxattr$trusted_overlay_origin(&(0x7f0000000080)='./file0\x00', &(0x7f0000000240)='trusted.overlay.origin\x00', 0x0, 0x0, 0x0) lsetxattr$trusted_overlay_upper(&(0x7f00000003c0)='./file0\x00', &(0x7f0000000400)='trusted.overlay.upper\x00', 0x0, 0x0, 0x0) 16:11:55 executing program 2: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendto$inet(r0, &(0x7f0000a34fff)='H', 0x1, 0x0, &(0x7f0000030ff0)={0x2, 0x0, @local={0xac, 0x14, 0xffffffffffffffff}}, 0x10) shutdown(r0, 0x1) r1 = socket$inet6_sctp(0xa, 0x10000000005, 0x84) setsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX(r1, 0x84, 0x6e, &(0x7f0000961fe4)=[@in={0x2, 0x0, @dev}], 0x10) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x1d, &(0x7f000095dff8)={0x1, [0x0]}, &(0x7f0000000080)=0x8) getsockopt$inet_sctp_SCTP_PR_SUPPORTED(r0, 0x84, 0x71, &(0x7f00000001c0)={r2}, &(0x7f0000000200)=0x8) [ 2003.948278][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2003.954442][T11728] libceph: mon0 (1)[d::]:6789 connect error 16:11:55 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x52000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2004.186762][ T9884] A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. 16:11:55 executing program 4: r0 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000001140)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(r0, &(0x7f0000000080)={0x0, 0x18, 0xfa00, {0x0, &(0x7f0000000040)={0xffffffffffffffff}, 0x2}}, 0x20) write$RDMA_USER_CM_CMD_DESTROY_ID(r0, &(0x7f0000000200)={0x1, 0x10, 0xfa00, {0x0, r1}}, 0x18) [ 2004.259882][ T9886] A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. [ 2004.285342][ T8128] usb 4-1: new high-speed USB device number 26 using dummy_hcd [ 2004.525369][ T8128] usb 4-1: Using ep0 maxpacket: 8 16:11:55 executing program 1: ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, 0x0) perf_event_open(&(0x7f00000002c0)={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, 0x2, @perf_config_ext={0x0, 0x8000}, 0x0, 0x0, 0x5}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) syz_genetlink_get_family_id$tipc2(0x0) perf_event_open(0x0, 0x0, 0xfffffffdffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = syz_open_procfs(0x0, &(0x7f0000000140)='net/mcfilter\x00') ioctl$TCSETA(r1, 0x5406, &(0x7f0000000180)={0x0, 0x1000, 0xfffa, 0x8, 0x14, "00000000f9ffffff"}) ioctl$SG_SET_KEEP_ORPHAN(0xffffffffffffffff, 0x2287, &(0x7f0000000200)=0x2) r2 = msgget(0x0, 0x204) msgctl$IPC_STAT(r2, 0x2, &(0x7f0000000000)=""/46) keyctl$get_keyring_id(0x0, 0x0, 0x0) ioctl$TIOCL_PASTESEL(r0, 0x541c, &(0x7f0000000100)) ioctl$KIOCSOUND(r0, 0x4b2f, 0x664) r3 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_MSG_GETRULE(r3, &(0x7f0000000400)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f00000003c0)={&(0x7f0000000380)={0x30, 0x7, 0xa, 0x5, 0x0, 0x0, {0xa, 0x0, 0x8}, [@NFTA_RULE_POSITION={0xc, 0x6, 0x1, 0x0, 0x1}, @NFTA_RULE_ID={0x8}, @NFTA_RULE_POSITION_ID={0x8, 0xa, 0x1, 0x0, 0x2}]}, 0x30}, 0x1, 0x0, 0x0, 0x10}, 0x20000004) sync() ptrace$cont(0x18, 0x0, 0x0, 0x0) ptrace$setregs(0xd, 0x0, 0x0, &(0x7f0000000080)) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000280)=ANY=[@ANYBLOB="280000001600a9610c857000fbdbdf2502324ab4", @ANYRES32, @ANYBLOB="08000480ac1414aa080001000002fa008e5a3d086718000000000000f2"], 0x28}, 0x1, 0x0, 0x0, 0x40040}, 0x40800) msgctl$IPC_SET(0x0, 0x1, &(0x7f0000000040)={{0x0, 0xee00, 0x0, 0x0, 0x0, 0xc1, 0x6}, 0x0, 0x0, 0x1000000000007fff, 0x5, 0x10001, 0x2, 0x1000, 0x3, 0xff7c, 0x40}) 16:11:55 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000003e00)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000300)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x20, 0xe, 0xa, 0x1, 0x0, 0x0, {}, [@NFTA_FLOWTABLE_TABLE={0xc, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0x68}}, 0x0) [ 2004.646818][ T8128] usb 4-1: config 1 interface 0 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 247 [ 2004.657767][ T8128] usb 4-1: config 1 interface 0 altsetting 0 bulk endpoint 0x3 has invalid maxpacket 564 [ 2004.668213][ T8128] usb 4-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 3 16:11:55 executing program 4: capset(&(0x7f0000000040)={0x20080522}, &(0x7f0000000080)) r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_SIOCDELRT(r0, 0x8915, &(0x7f00000000c0)={0x0, @ethernet={0x0, @link_local}, @llc={0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, @broadcast}, @nfc}) 16:11:56 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x54000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2004.906802][ T8128] usb 4-1: New USB device found, idVendor=0424, idProduct=9e00, bcdDevice= 0.40 [ 2004.916262][ T8128] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2004.924360][ T8128] usb 4-1: Product: syz [ 2004.928947][ T8128] usb 4-1: Manufacturer: syz [ 2004.933682][ T8128] usb 4-1: SerialNumber: syz [ 2004.986874][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2004.993128][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2005.148455][ T9880] raw-gadget gadget: fail, usb_ep_enable returned -22 [ 2005.149364][ T9880] raw-gadget gadget: fail, usb_ep_enable returned -22 [ 2005.168802][ T8128] usb 4-1: bad CDC descriptors [ 2005.169326][ T8128] smsc95xx v2.0.0 16:11:56 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000003e00)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000300)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x20, 0xe, 0xa, 0x1, 0x0, 0x0, {}, [@NFTA_FLOWTABLE_TABLE={0xc, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0x68}}, 0x0) [ 2005.377214][ T9880] raw-gadget gadget: fail, usb_ep_enable returned -22 [ 2005.378382][ T9880] raw-gadget gadget: fail, usb_ep_enable returned -22 [ 2005.606024][ T8128] smsc95xx 4-1:1.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x00000030: -32 [ 2005.616880][ T8128] smsc95xx 4-1:1.0 (unnamed net_device) (uninitialized): Error reading E2P_CMD [ 2005.947202][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2005.947361][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2006.959323][ T8128] smsc95xx 4-1:1.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x00000014: -71 [ 2006.959654][ T8128] smsc95xx: probe of 4-1:1.0 failed with error -71 [ 2006.987481][ T8128] usb 4-1: USB disconnect, device number 26 [ 2006.997889][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2006.998139][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2007.749354][T11728] usb 4-1: new high-speed USB device number 27 using dummy_hcd [ 2007.946665][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2007.946873][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2007.986315][T11728] usb 4-1: Using ep0 maxpacket: 8 [ 2008.114719][T11728] usb 4-1: config 1 interface 0 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 247 [ 2008.114813][T11728] usb 4-1: config 1 interface 0 altsetting 0 bulk endpoint 0x3 has invalid maxpacket 564 [ 2008.114916][T11728] usb 4-1: config 1 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 3 16:11:59 executing program 3: r0 = socket(0x2, 0x3, 0x5) sendmmsg$inet(r0, &(0x7f000000a280)=[{{&(0x7f0000000000)={0x2, 0x0, @remote}, 0x10, &(0x7f0000001300)=[{0x0}, {&(0x7f0000000100)="1318be7ce1ef39bdd3591a2bc296ea7e65c7fb89887a6cfdb43bfca2445ff64ed722c8be096e461dd3450c08ba098460f8c0d69324903d0fb1054a1ee60100dd3644f42b1930749a6b6bbb739a6d7c6719e558be11d4ffafa214387375146a624335d269ac69e6344f5d9d215d9c1424620ed76ac1289de624889942455a00e1f55313867bacc84e719e81013528e3ec29395b2fbaf382cba3b4206ade7cb15434939dc90286d092778c0f779c883a68a5203b3b9dbda9ca588561b2ce10186139848999042204a5180d6579333e4a6886f0b0022b78e4f4eda2a2a2d7680092a1e72245029cf2218fbd56af6ca62a91037c23a3126ca3b57e5f6c062cc9e16505e0c7066b2e6d0076c108117cd8545ad71cf07400d9caf3255341114036034e2b3a7c4111c3e3cc0bcbc24dd997ae1e17744d89e60ddc68e4aa4dbfc3dfddb208d879a905d09adde230c4e9aa65716f222e1fd1f50904c91344bfbd8c9a7fc9ca1bfa84aeefb5620d7653b5e9a580d2", 0x77}, {&(0x7f00000011c0)='j', 0x1}], 0x3}}], 0x5f, 0x0) 16:11:59 executing program 2: unshare(0x400) r0 = userfaultfd(0x0) ioctl$UFFDIO_API(r0, 0xc018aa3f, &(0x7f0000000080)) ioctl$EXT4_IOC_GROUP_EXTEND(r0, 0x40046607, 0x0) 16:11:59 executing program 4: r0 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_NEWLINK(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000140)={0x38, 0x1403, 0x1, 0x0, 0x0, "", [{{0x9, 0x2, 'syz2\x00'}, {0x7, 0x41, 'rxe\x00'}, {0x14, 0x33, 'bond_slave_1\x00'}}]}, 0x38}}, 0x0) 16:11:59 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x56000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:11:59 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000003e00)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000300)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x20, 0xe, 0xa, 0x1, 0x0, 0x0, {}, [@NFTA_FLOWTABLE_TABLE={0xc, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0x68}}, 0x0) [ 2008.415352][T11728] usb 4-1: New USB device found, idVendor=0424, idProduct=9e00, bcdDevice= 0.40 [ 2008.415433][T11728] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2008.415499][T11728] usb 4-1: Product: syz [ 2008.415560][T11728] usb 4-1: Manufacturer: syz [ 2008.435649][T11728] usb 4-1: can't set config #1, error -71 [ 2008.437644][T11728] usb 4-1: USB disconnect, device number 27 16:11:59 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x58000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:11:59 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000003e00)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000300)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x20, 0xe, 0xa, 0x1, 0x0, 0x0, {}, [@NFTA_FLOWTABLE_TABLE={0xc, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0x68}}, 0x0) [ 2009.000460][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2009.000711][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2009.955410][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2009.955572][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2010.987414][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2010.987563][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2011.947549][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2011.947731][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2012.986302][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2012.986442][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2013.957997][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2013.964120][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2014.987165][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2014.996391][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2015.946533][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2015.952655][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2016.986806][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2016.992947][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2017.946115][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2017.952228][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2018.989548][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2018.995755][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2019.946403][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2019.952513][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2020.987523][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2020.993657][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2021.946863][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2021.952975][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2022.987377][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2022.993629][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2023.946625][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2023.952844][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2024.996896][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2025.003006][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2025.949344][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2025.955547][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2026.986404][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2026.992515][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2027.946701][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2027.952807][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2028.987158][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2028.993274][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2029.948342][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2029.954474][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2030.987385][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2030.993542][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2031.947682][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2031.953824][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2032.988382][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2032.994523][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2033.946528][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2033.952651][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2034.986517][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2034.992650][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2035.956273][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2035.962418][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2036.986969][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2036.993269][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2037.946526][T29212] libceph: connect (1)[d::]:6789 error -101 [ 2037.952648][T29212] libceph: mon0 (1)[d::]:6789 connect error [ 2038.986771][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2038.993033][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2039.946382][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2039.952505][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2040.996848][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2041.005903][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2041.946481][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2041.952590][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2042.986348][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2042.992447][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2043.946749][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2043.952818][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2044.986219][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2044.992266][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2045.947858][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2045.953932][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2046.986501][T29213] libceph: connect (1)[d::]:6789 error -101 [ 2046.992554][T29213] libceph: mon0 (1)[d::]:6789 connect error [ 2047.945824][ T8140] libceph: connect (1)[d::]:6789 error -101 [ 2047.951825][ T8140] libceph: mon0 (1)[d::]:6789 connect error [ 2048.985815][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2048.993201][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2049.946381][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2049.952432][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2050.996374][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2051.002447][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2051.956177][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2051.964815][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2052.991344][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2052.997479][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2053.946081][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2053.952089][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2054.990692][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2054.997051][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2055.950147][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2055.959098][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2056.988359][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2056.994505][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2057.951883][T11728] libceph: connect (1)[d::]:6789 error -101 [ 2057.958197][T11728] libceph: mon0 (1)[d::]:6789 connect error [ 2058.986749][T29212] libceph: connect (1)[d::]:6789 error -101 [ 2058.992792][T29212] libceph: mon0 (1)[d::]:6789 connect error [ 2059.949359][T29212] libceph: connect (1)[d::]:6789 error -101 [ 2059.955580][T29212] libceph: mon0 (1)[d::]:6789 connect error [ 2060.986286][T29212] libceph: connect (1)[d::]:6789 error -101 [ 2060.992352][T29212] libceph: mon0 (1)[d::]:6789 connect error [ 2061.949915][T29212] libceph: connect (1)[d::]:6789 error -101 [ 2061.956045][T29212] libceph: mon0 (1)[d::]:6789 connect error [ 2062.986378][T29212] libceph: connect (1)[d::]:6789 error -101 [ 2062.992459][T29212] libceph: mon0 (1)[d::]:6789 connect error [ 2063.946249][T29212] libceph: connect (1)[d::]:6789 error -101 [ 2063.952340][T29212] libceph: mon0 (1)[d::]:6789 connect error [ 2064.990282][T29212] libceph: connect (1)[d::]:6789 error -101 [ 2064.996397][T29212] libceph: mon0 (1)[d::]:6789 connect error [ 2065.946317][T29212] libceph: connect (1)[d::]:6789 error -101 [ 2065.952363][T29212] libceph: mon0 (1)[d::]:6789 connect error [ 2066.266759][ T9819] ceph: No mds server is up or the cluster is laggy 16:12:57 executing program 1: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)) openat$tun(0xffffffffffffff9c, &(0x7f0000000100)='/dev/net/tun\x00', 0x0, 0x0) r0 = socket$kcm(0x11, 0x3, 0x300) r1 = socket$kcm(0x2, 0x1000000000000002, 0x0) setsockopt$sock_attach_bpf(r1, 0x1, 0x3e, &(0x7f00000002c0)=r0, 0x4) sendmsg$kcm(r1, &(0x7f0000003d00)={&(0x7f0000000380)=@in={0x2, 0x4e23, @multicast1}, 0x80, 0x0}, 0xfd00) sendmsg$sock(r1, &(0x7f00000004c0)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f0000000040)="a02272502996652d71622499881ed03da4e9e9194757c147e4ba3816b40b5d24b8f77f00d2176b3cd7479fe61c79b1b7d7e3eb1bde1cb050e097662f1babdbbc", 0x40}, {&(0x7f0000000080)="5ee465806acd5be05f42f24a88d2572ab5a3a2c92174f701b4c04187bea500040000705a33fab7b57f12fe75b7b9e93cde4d5a3b4b7a189366f007340fba97975a406c775f64c280ada01d99218d", 0x4e}, {&(0x7f0000000140)="af122969818497d707078d3d3d92532d1b6a59d0d6829c10a28d24138ad06257110e7089314a3613c798dfdbc24647d3deeaa3a7e0643e0e21", 0x39}, {&(0x7f0000000400)="fe53883f95b53aeb7eaf0a739c2e66b9b984cb0bfeb25d46772df5f1c2c2f32a96231af314a2dec2944a8c2562f992390c4654ab6d0aa299b4657425c0a15183097164ca3ce623df679290460b4e5861f0964276a21727cd3b82fb49cc65b629eadab8d40f95c630aad23b9ac5cdb7ea66dcc0b2aaebb7808aef00734304f874bd5d3e5946cc72acdb79608c6316", 0x8e}, {&(0x7f0000000500)="dc92160780d3e2078902fd2c900987a094d064cdfd5ce4f89558662b7cf14a08e7d487f038328f9001fd474d71e7b480b0e22ee18388d9ba035999ff84694a53acce326c1c643b16ed6123c13478e848fa9e916123f6207627052adb30cd51b2efba2a23a1b8caa278bc4ffc0f17ff5df89402c989211fd6bb1fb26a262bb666131702b565e5d249ebf4cabf8638f945dfa085c4b168e857ff7e60c3acea20f9bdab5adc01c69f1b35d00e012e716e018b4de896a8d29bcf37c1aba91ccc5098d5d58f607757f6fa1496adff7df3c10264ae8711a9c095adf65d96467189a765aa1476feb20b9f9adfddc69381f57c421caae8d7cc5db2caef8561462d3b31598a1b81a9db0bd71f6c80d7193e7fd0734fb336558578b96c57f578ff15bdfbbd6c8d7d6576502f8062fdc1fddbd091e8f1c0f95c07e36f394a2395b5d6001504de9447af4c51e4bb1a464be38856c075095070fc8d915c3ccbada3ab80d92b03ce0e0fec951daed5f539052950e8873beece07855fed32e235dfad56311fd297f453d46f40e986e25768c0d00347b829254dc615dfcf6757e1c3fbd24dc4768c990dbbf01d823f6af40f20eee7c075f15b15bd684c8bf7e9524898a6e00a34b5485e2bd23a50b2ff0d45e35d2aaacba421156a459a63d6a6058832db6536ac46ce6fad396eef38c2a3e72059399b20cb809d2919dd759fea270440c026bb01c397c718f27a6511173f15450297b045a2be545768ccbb726ab0b38c25719f6f67b5c5554e7d53b33c68a1c1deb63ea7d576419d132ca7fb02bbfdc28fb5c6376da9a36be413876d5e3abe6799ae4bbd724237db1322f82d5d1ca6a96221b0fa9c072058f1cf7098e63fc9da33b4077abfd432dc0c487915432d5c65811b9af16e1076be40b7ee7e34df7c2c1f3de59f8279233458f71aa48a3bf06844394e9b65f758b9e3791ae655b90484304a350c712a2a6edee63df866701fea51bc397265ab86385f20162d70a6a145a7bee0672d494b28b5f459266e1fc0af0a88e011debb24cbd02a6dadc19ad047b8145f7c8ce653335ea25747374004abcd435a94dd77da7a2adf7c90d5bb35056e3295bc8d107f5ec0c4153548d9eabf62cee8491b774eb4cfc0c2b586005db3091933a2d3153dd6ff0e1301a999ffe733685ea452eaed404f1ecb41dadf8291448431095418917b3741c6515de39b0494d5dfa5478ec4e0b61ef91899def3bfe8e1f224494f3e76dd6a89dcf0dbb8c9eff0b0c5e64d5298525d78f97840ef5a4052ac82e32f09d2c5232628c9587532031f53e97e16c0d281aadbd5bed086d3f19bf9c3a4b568544674d557b2025cb0040a7539da7f391703fc9412eea075483b3a43746133b30c974c53f9624f53f776c690785b801dba699e7a3c7dd7df91b352410a362c8239ab9f92c58e8496a2947c8beb1599a24351e0e1c23b4661f3928db94bf0f33443c7b6d766e21e53dbe679664a05ec3b5298107715438ebd47ea0c9a8d6a30e1934f339668bb0e32391840c5797043c27645ee46d6a591ba5820ce882a25ef13061d", 0x454}], 0x5}, 0x2000a844) sendmsg$kcm(r1, &(0x7f0000002e40)={0x0, 0x0, &(0x7f0000002c40)=[{&(0x7f0000000980)="ec401bdf", 0x4}], 0x1}, 0x0) 16:12:57 executing program 2: 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) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x7, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000048000000000200000006000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f00000000fcfdffff01000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000d4f4655fd5f4655fd5f4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000d4f4655fd4f4655fd4f4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d, 0x4800}, {&(0x7f0000013900)="111fc0d901", 0x5, 0x30000}], 0x0, &(0x7f0000014a00)=ANY=[]) tee(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x0) io_destroy(0x0) sendmmsg(0xffffffffffffffff, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={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, 0xa) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000180), 0xc, &(0x7f00000002c0)={&(0x7f00000001c0)=@deltclass={0x24, 0x29, 0x400, 0x70bd2a, 0x25dfdbfc, {0x0, 0x0, 0x0, 0x0, {0xf, 0x2}, {0x0, 0xe}, {0x10}}}, 0x24}, 0x1, 0x0, 0x0, 0x40}, 0x10) syz_genetlink_get_family_id$tipc2(&(0x7f0000000540)='TIPCv2\x00') setsockopt$inet_MCAST_JOIN_GROUP(0xffffffffffffffff, 0x0, 0x2a, 0x0, 0x0) ioctl$sock_inet_SIOCSIFFLAGS(0xffffffffffffffff, 0x8914, &(0x7f00000000c0)={'vlan1\x00'}) umount2(&(0x7f0000000040)='./file0\x00', 0xf4ffffff00000000) 16:12:57 executing program 4: r0 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_NEWLINK(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000140)={0x38, 0x1403, 0x1, 0x0, 0x0, "", [{{0x9, 0x2, 'syz2\x00'}, {0x7, 0x41, 'rxe\x00'}, {0x14, 0x33, 'bond_slave_1\x00'}}]}, 0x38}}, 0x0) 16:12:57 executing program 3: process_vm_writev(0x0, &(0x7f0000000000)=[{&(0x7f0000000540)=""/4096, 0x1000}], 0x1, 0x0, 0x0, 0x0) r0 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX(r0, 0x84, 0x6e, &(0x7f0000000080)=[@in={0x2, 0x0, @dev}], 0x10) r1 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0xd, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER(r0, 0x84, 0x75, &(0x7f0000000180)={r2}, 0x8) 16:12:57 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000140)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) openat$fuse(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/fuse\x00', 0x2, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000011000/0x18000)=nil, &(0x7f0000000100)=[@text32={0x20, &(0x7f0000000180)="b8050000000f01c10f46a78900000066ba2100b067ee4066ba2000b000eeedb9800000c00f3266bac0000f3066b808008ed0660f38806f000f011c26f5f30fc7b2533b0000", 0x45}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000080)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) r3 = socket$packet(0x11, 0x3, 0x300) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000440)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4c7]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') sendmsg$NL80211_CMD_RELOAD_REGDB(0xffffffffffffffff, &(0x7f00000002c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x4000}, 0xc, 0x0}, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 16:12:57 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x5a000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2067.193529][T10093] kvm: pic: non byte read [ 2067.254558][T10093] kvm: pic: non byte read [ 2067.302371][T10093] kvm: pic: non byte read 16:12:58 executing program 4: r0 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_NEWLINK(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000140)={0x38, 0x1403, 0x1, 0x0, 0x0, "", [{{0x9, 0x2, 'syz2\x00'}, {0x7, 0x41, 'rxe\x00'}, {0x14, 0x33, 'bond_slave_1\x00'}}]}, 0x38}}, 0x0) [ 2067.473137][T10093] kvm: pic: non byte read [ 2067.495977][T10094] EXT4-fs (loop2): mounted filesystem without journal. Opts: ,errors=continue [ 2067.539173][T10093] kvm: pic: non byte read 16:12:58 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x5c000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2067.606701][T10093] kvm: pic: non byte read [ 2067.648996][T10093] kvm: pic: non byte read [ 2067.722420][T10093] kvm: pic: non byte read [ 2067.763813][T10093] kvm: pic: non byte read [ 2067.821435][T10093] kvm: pic: non byte read 16:12:59 executing program 3: syz_mount_image$vfat(0x0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000100)='nfs4\x00', 0x0, &(0x7f0000000140)='v3') 16:12:59 executing program 4: r0 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_NEWLINK(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000140)={0x38, 0x1403, 0x1, 0x0, 0x0, "", [{{0x9, 0x2, 'syz2\x00'}, {0x7, 0x41, 'rxe\x00'}, {0x14, 0x33, 'bond_slave_1\x00'}}]}, 0x38}}, 0x0) 16:12:59 executing program 2: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000180)='/dev/sequencer2\x00', 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f00000001c0)=@v={0x93, 0xf, 0xa0, 0x0, @generic}) 16:12:59 executing program 5: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TLS_TX(r0, 0x6, 0x13, &(0x7f0000000240)=@ccm_128={{}, "5d44c056c166c5a6", "dd3cc18fa3d30787ed594dd3187b9acd", "7743f6f1", "ce5f19f2101b4739"}, 0x28) [ 2068.545446][T10125] NFS: Device name not specified [ 2071.193739][T21655] device hsr_slave_0 left promiscuous mode [ 2071.204054][T21655] device hsr_slave_1 left promiscuous mode [ 2071.221985][T21655] batman_adv: batadv0: Interface deactivated: batadv_slave_0 [ 2071.229779][T21655] batman_adv: batadv0: Removing interface: batadv_slave_0 [ 2071.246452][T21655] batman_adv: batadv0: Interface deactivated: batadv_slave_1 [ 2071.254026][T21655] batman_adv: batadv0: Removing interface: batadv_slave_1 [ 2071.267562][T21655] device team0 left promiscuous mode [ 2071.272947][T21655] device team_slave_0 left promiscuous mode [ 2071.279926][T21655] device team_slave_1 left promiscuous mode [ 2071.287336][T21655] bridge0: port 3(team0) entered disabled state [ 2071.297681][T21655] device bridge_slave_1 left promiscuous mode [ 2071.304284][T21655] bridge0: port 2(bridge_slave_1) entered disabled state [ 2071.323239][T21655] device bridge_slave_0 left promiscuous mode [ 2071.330335][T21655] bridge0: port 1(bridge_slave_0) entered disabled state [ 2071.357276][T21655] device veth1_macvtap left promiscuous mode [ 2071.363369][T21655] device veth0_macvtap left promiscuous mode [ 2071.369858][T21655] device veth1_vlan left promiscuous mode [ 2071.379358][T21655] device veth0_vlan left promiscuous mode [ 2073.772604][T21655] bond1 (unregistering): Released all slaves [ 2074.105341][T11728] Bluetooth: hci1: command 0x0409 tx timeout [ 2074.300149][T21655] team0 (unregistering): Port device team_slave_1 removed [ 2074.318600][T21655] team0 (unregistering): Port device team_slave_0 removed [ 2074.333836][T21655] bond0 (unregistering): (slave bond_slave_1): Releasing backup interface [ 2074.358382][T21655] bond0 (unregistering): (slave bond_slave_0): Releasing backup interface [ 2074.439134][T21655] bond0 (unregistering): Released all slaves [ 2074.511862][T10143] IPVS: ftp: loaded support on port[0] = 21 [ 2074.732733][T10143] chnl_net:caif_netlink_parms(): no params data found [ 2074.854820][T10143] bridge0: port 1(bridge_slave_0) entered blocking state [ 2074.862854][T10143] bridge0: port 1(bridge_slave_0) entered disabled state [ 2074.873020][T10143] device bridge_slave_0 entered promiscuous mode [ 2074.888466][T10143] bridge0: port 2(bridge_slave_1) entered blocking state [ 2074.896087][T10143] bridge0: port 2(bridge_slave_1) entered disabled state [ 2074.907751][T10143] device bridge_slave_1 entered promiscuous mode [ 2074.950559][T10143] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 2074.964869][T10143] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 2075.019493][T10143] team0: Port device team_slave_0 added [ 2075.033538][T10143] team0: Port device team_slave_1 added [ 2075.077102][T10143] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 2075.084165][T10143] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 2075.111143][T10143] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 2075.130039][T10143] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 2075.138432][T10143] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 2075.164816][T10143] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 2075.215977][T10143] device hsr_slave_0 entered promiscuous mode [ 2075.223879][T10143] device hsr_slave_1 entered promiscuous mode [ 2075.453657][T10143] bridge0: port 2(bridge_slave_1) entered blocking state [ 2075.460954][T10143] bridge0: port 2(bridge_slave_1) entered forwarding state [ 2075.468896][T10143] bridge0: port 1(bridge_slave_0) entered blocking state [ 2075.476362][T10143] bridge0: port 1(bridge_slave_0) entered forwarding state [ 2075.546613][T11728] bridge0: port 1(bridge_slave_0) entered disabled state [ 2075.559914][T11728] bridge0: port 2(bridge_slave_1) entered disabled state [ 2075.603326][T10143] 8021q: adding VLAN 0 to HW filter on device bond0 [ 2075.630162][T13269] IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready [ 2075.639632][T13269] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 2075.658156][T10143] 8021q: adding VLAN 0 to HW filter on device team0 [ 2075.673033][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready [ 2075.683037][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 2075.692474][ T8140] bridge0: port 1(bridge_slave_0) entered blocking state [ 2075.699933][ T8140] bridge0: port 1(bridge_slave_0) entered forwarding state [ 2075.726677][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready [ 2075.737276][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 2075.746567][ T8140] bridge0: port 2(bridge_slave_1) entered blocking state [ 2075.753809][ T8140] bridge0: port 2(bridge_slave_1) entered forwarding state [ 2075.770351][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready [ 2075.792773][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready [ 2075.826838][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready [ 2075.837714][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 2075.848052][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready [ 2075.858657][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 2075.877591][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 2075.887847][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_hsr: link becomes ready [ 2075.897402][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 2075.919911][T11728] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_hsr: link becomes ready [ 2075.932094][T11728] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 2075.953700][T10143] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 2075.992672][T11728] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 2076.000611][T11728] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 2076.022167][T10143] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 2076.141429][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_virt_wifi: link becomes ready [ 2076.151130][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 2076.185375][ T8140] Bluetooth: hci1: command 0x041b tx timeout [ 2076.198653][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready [ 2076.208493][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready [ 2076.219477][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 2076.229308][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready [ 2076.249171][T10143] device veth0_vlan entered promiscuous mode [ 2076.271887][T10143] device veth1_vlan entered promiscuous mode [ 2076.319711][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready [ 2076.328384][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan1: link becomes ready [ 2076.337962][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready [ 2076.347799][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 2076.367250][T10143] device veth0_macvtap entered promiscuous mode [ 2076.384919][T10143] device veth1_macvtap entered promiscuous mode [ 2076.416157][T10143] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 2076.426714][T10143] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 2076.436816][T10143] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 2076.447425][T10143] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 2076.457546][T10143] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 2076.468199][T10143] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 2076.478439][T10143] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 2076.489123][T10143] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 2076.502217][T10143] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 2076.514201][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 2076.523724][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready [ 2076.533236][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready [ 2076.543408][ T8140] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 2076.562703][T10143] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 2076.573482][T10143] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 2076.583646][T10143] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 2076.594709][T10143] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 2076.605054][T10143] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 2076.615630][T10143] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 2076.625806][T10143] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 2076.636584][T10143] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 2076.650649][T10143] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 2076.662348][T11728] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 2076.672492][T11728] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready [ 2076.973721][T14208] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 2076.982210][T14208] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 2076.999723][T29212] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 2077.129072][T11723] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 2077.137351][T11723] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 2077.158518][T29501] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready 16:13:08 executing program 1: syz_mount_image$minix(&(0x7f00000003c0)='minix\x00', &(0x7f0000000400)='./file0\x00', 0x7f9, 0x0, &(0x7f0000000440), 0x0, &(0x7f0000000480)) 16:13:08 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x5e000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:08 executing program 3: syz_mount_image$udf(&(0x7f0000000100)='udf\x00', &(0x7f0000000140)='./file0\x00', 0x0, 0x0, &(0x7f0000000680), 0x0, &(0x7f0000000740)=ANY=[@ANYBLOB='dmode=0']) 16:13:08 executing program 5: 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) r0 = semget(0x3, 0x2, 0x340) r1 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000200)=@newsa={0x148, 0x10, 0x713, 0x0, 0x0, {{@in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}, @in6=@loopback}, {@in6=@ipv4={[0xfffffff0], [], @broadcast}, 0x0, 0x32}, @in6=@dev, {}, {}, {}, 0x0, 0x0, 0x2}, [@algo_crypt={0x48, 0x2, {{'ecb(cipher_null)\x00'}}}, @XFRMA_SET_MARK={0x8}, @XFRMA_SET_MARK_MASK={0x8}]}, 0x148}, 0x1, 0x1400000000000000}, 0x0) openat$cgroup_ro(0xffffffffffffffff, &(0x7f00000002c0)='cpuacct.usage_percpu_user\x00', 0x0, 0x0) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, 0x0}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x0) openat$cgroup_ro(0xffffffffffffffff, &(0x7f00000002c0)='cpuacct.usage_percpu_user\x00', 0x0, 0x0) sendmsg$nl_xfrm(r1, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=@getpolicy={0x224, 0x15, 0x0, 0x0, 0x0, {{@in=@initdev={0xac, 0x1e, 0x1, 0x0}, @in=@dev={0xac, 0x14, 0x14, 0x1e}, 0x0, 0x0, 0x4e22, 0x7, 0x2, 0x30, 0xa0, 0x7ac22c3926d72631, 0x0, 0xee00}}, [@replay_esn_val={0x38, 0x17, {0x7, 0x0, 0x70bd29, 0x70bd2b, 0x70bd2d, 0x6, [0x0, 0x0, 0x0, 0x3, 0x8, 0xd2f, 0x0]}}, @user_kmaddress={0x2c, 0x13, {@in6=@initdev={0xfe, 0x88, [], 0x1, 0x0}, @in=@local}}, @sec_ctx={0x71, 0x8, {0x6d, 0x8, 0x0, 0x20, 0x65, "22c2a5860c908aa6bf897ad4e1bfcab4197952ad8656d88ed2a1ef43278e8c29d0d022e7c9491cf51a49159d0b580b95400ca24329e4191c8d321eea669c7a0d9fe5484c3528df4ef86d8e8cee19c12684f4de6ced2b6a67443df070dba9460b459eb1f8c3"}}, @sec_ctx={0x4f, 0x8, {0x4b, 0x8, 0x1, 0x0, 0x43, "6d4d6510b7566805bd5d87a440f0449ec777d6b97a49afdf44bfcc7f53d380a85436f4f79b2ba540729bfa11a19153a98282d817e74221ad1bd737719974377bf95594"}}, @policy={0xac, 0x7, {{@in6=@ipv4, @in=@initdev={0xac, 0x1e, 0x1, 0x0}, 0x4e23, 0x5, 0x0, 0x8, 0xa, 0x0, 0x20}, {0x4, 0x2, 0x0, 0x0, 0x0, 0x0, 0x800, 0x7}, {0x0, 0x7fffffff, 0x100}, 0x9, 0x6e6bb8, 0x0, 0x0, 0x0, 0x3}}]}, 0x224}, 0x1, 0x0, 0x0, 0x800}, 0x0) semctl$IPC_RMID(r0, 0x0, 0x0) 16:13:08 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) epoll_ctl$EPOLL_CTL_MOD(0xffffffffffffffff, 0x3, 0xffffffffffffffff, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x20002000, &(0x7f0000000000/0x2000)=nil}) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$BLKPG(0xffffffffffffffff, 0x1269, &(0x7f00000000c0)={0x0, 0x0, 0x2, &(0x7f0000000040)="cd17"}) flistxattr(0xffffffffffffffff, 0x0, 0x0) read$eventfd(0xffffffffffffffff, &(0x7f0000000180), 0x8) clone(0x0, 0x0, 0x0, 0x0, 0x0) ioctl$KVM_NMI(r2, 0xae9a) mlock(&(0x7f0000001000/0x3000)=nil, 0x3000) r3 = syz_open_procfs(0x0, &(0x7f0000000000)='net/protocols\x00') preadv(r3, &(0x7f00000017c0), 0x3da, 0xf0ffff, 0x0) syz_open_procfs(0x0, &(0x7f0000000000)='net/protocols\x00') ioctl$KVM_SET_LAPIC(0xffffffffffffffff, 0x4400ae8f, &(0x7f0000000440)={"ca91897a3439cfdf7a86f456d9fbcdaa40fb55c9fa7432bfe697009c449e0e188b35edcd338102f3da4960d1d974e08f9c98f24f04076b7527e913e152fffd7d7fc0eca4559a40abe48b384eae2b331b5adc589780fab4fcef6c14d8a3512ecc29c3d9363e407581ead7795828dce897316971ec3d409c276126ff3a8ef3a8d3c38209ee68ebddaf22069fdd4934623671cb98d41178b4a11e8519249c533c2eae3d53e9303885314306e7ea5d218261398a9054f6de00ffd955ac45819080b50566d5bb2a52a2aaf2070587c85cfaf353e2efb87c3654134d7c799caf78b821800ea77bb916b010e443b57ae335d6abe17241025b0099fdc43489d25ba432f27fd1a928054d53e9c23399b3e940a32994f26395491afa1e28fa22aae7952096f9396be839569e7a8c7d00527e238396e00701963dcb547d3756621e531ec480e6b2f797384568d3a5cb0354442925435a065e0a48220eb1d7c4bf30007d87f40afdeb5240f61594bc2582b145d05e755ba4846e943ea1fbb2c2de81f12c62fce8d657f14aa60e8dcf67e53c74be699fe1a04ce1a2ddaa515df7d21af580f2522187e177829fb2fd54242fb1c8671d6c4ae8e04f0a1f16379435fa9ccb328716e7fd3d8551dc436ed21fb76ad8300a7e888238324a242d3c02742c42ff46c0b57d2b39e4ffba2c890cafa97d6bdaf59e792f7d83c600fbe88caa638c1d7c1b555e7c793e5a7875a812579c2be17875ee0ac3ec72f17919edfd31aa3d93d27802d999c5332291ddd6a05626ae8ee29ddb7c5579a06386cef80a831c4218b0d31bb0b19f1de9fdf2c632e65d91f299c229c2bf9d0c75aa7eda387ffe3f27b09f069eeb08260983a5c8011acc92191576872ec44916be195cfba5a137e93b332106868ea5037064d61e956e0ed4534b7eda5d88608dcde465fd6162be3a214c316dda2c597d91132df74e18734dd683d1e49778554e83f05975a19d5badc06acb2783783e137ccd2b053d1ec55683249fac5116d2627af27aece11ff26966325a38e901767165ab9e0d971bd12d31cd576a19dec8dd48dd58babec425d6fe61c18aadea590a0e0b9d17add011335f33539307bdf739930da192b6339f41ac6ede7a56063a2812e3cdfcddb6ade191a71ff57b76483deb4412ec7d1b103d5e157407a4830d444fdc7cc46f5aecabe5db5cf6c276a9ddb09e3f713ecdc8183945d99929359d94bd8308f5a5981305fe024fcc26a951c6171097807e3c823febd271ec5b03c6fc658fb8f4e21573c0cceb84c443302d2b9021288f22a5bcc4982c94537b8c031d3dc114ab7f4322713828c4c7fa37347bd0322ffe0ac87f2b01f2febf576839069bae746f45badee63947b7663955810093b647d4000000000000000000000000000000000000000000000000f8ffffff00"}) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={&(0x7f0000000000), 0x5}, 0x0, 0x0, 0xfffffffc}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_CREATE_VCPU(r3, 0xae41, 0x1) ioctl$KVM_RUN(r2, 0xae80, 0x0) syz_io_uring_setup(0x560d, &(0x7f0000000100), &(0x7f0000001000/0x2000)=nil, &(0x7f0000002000/0x2000)=nil, 0x0, 0x0) dup(0xffffffffffffffff) 16:13:08 executing program 2: r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f00000001c0)={0x0, 0x1000}, 0x4) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) r1 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r1, &(0x7f0000000280)={0x2, 0x0, @local}, 0x10) connect$inet(r1, &(0x7f0000000200)={0x2, 0x0, @multicast2}, 0x10) openat$tcp_mem(0xffffffffffffff9c, 0x0, 0x1, 0x0) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x44000) sendmmsg(r1, &(0x7f0000007fc0), 0x4000000000001a8, 0x0) setsockopt$packet_fanout(0xffffffffffffffff, 0x107, 0x12, 0x0, 0x0) [ 2077.531608][T10392] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2077.539512][T10392] UDF-fs: Scanning with blocksize 512 failed [ 2077.624592][T10392] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2077.632442][T10392] UDF-fs: Scanning with blocksize 1024 failed [ 2077.669247][T10401] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.5'. [ 2077.761512][T10403] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.5'. [ 2077.821432][T10392] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2077.829077][T10392] UDF-fs: Scanning with blocksize 2048 failed [ 2077.942956][T10392] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2077.950973][T10392] UDF-fs: Scanning with blocksize 4096 failed [ 2078.019763][T10411] MINIX-fs: unable to read superblock 16:13:09 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x62000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2078.266201][T11728] Bluetooth: hci1: command 0x040f tx timeout [ 2078.287640][T10392] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2078.295511][T10392] UDF-fs: Scanning with blocksize 512 failed 16:13:09 executing program 5: r0 = syz_open_dev$video4linux(&(0x7f0000000000)='/dev/v4l-subdev#\x00', 0x0, 0x0) ioctl$VIDIOC_QBUF(r0, 0xc058560f, &(0x7f0000000140)={0x0, 0xa, 0x4, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "65be3365"}, 0x0, 0x0, @planes=0x0}) [ 2078.438865][T10392] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2078.447034][T10392] UDF-fs: Scanning with blocksize 1024 failed [ 2078.470505][T10392] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2078.478185][T10392] UDF-fs: Scanning with blocksize 2048 failed [ 2078.554946][T10392] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2078.563276][T10392] UDF-fs: Scanning with blocksize 4096 failed 16:13:09 executing program 1: mmap$perf(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x2000001, 0x22031, 0xffffffffffffffff, 0x0) madvise(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x3) 16:13:09 executing program 4: creat(&(0x7f00000001c0)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='9p\x00', 0x0, &(0x7f0000000100)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@cachetag={'cachetag', 0x3d, 'wfknoCF\x1f\x82\xf5\xcc\x1bp\xb7\x1f\xe2g\xff\xd4\xc5(\xa2\xb9\xae\xb6\xa4\xcf\"\xa6\nf\xde\x84\xfay@\xc0\r\x83/\xd5E\xa4\x88\x1cR\x00\x00\x00\x9e!\xb9\xbfz\x00Y\xf6(\xd4\"ws\x96\t|\x9as\x83\xb2\bc\x90U9\xd2\x10\xa3\xabb\xef\x87\xac\xf2\xe9dy\xb9x\xa2\x17\xe7Q<\xc4k\x85\x8d'}}]}}) 16:13:10 executing program 3: syz_mount_image$udf(&(0x7f0000000100)='udf\x00', &(0x7f0000000140)='./file0\x00', 0x0, 0x0, &(0x7f0000000680), 0x0, &(0x7f0000000740)=ANY=[@ANYBLOB='dmode=0']) 16:13:10 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x64000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:10 executing program 5: r0 = socket(0x23, 0x805, 0x0) listen(r0, 0x0) accept4$inet6(r0, 0x0, 0x0, 0x0) 16:13:10 executing program 2: r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f00000001c0)={0x0, 0x1000}, 0x4) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) r1 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r1, &(0x7f0000000280)={0x2, 0x0, @local}, 0x10) connect$inet(r1, &(0x7f0000000200)={0x2, 0x0, @multicast2}, 0x10) openat$tcp_mem(0xffffffffffffff9c, 0x0, 0x1, 0x0) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x44000) sendmmsg(r1, &(0x7f0000007fc0), 0x4000000000001a8, 0x0) setsockopt$packet_fanout(0xffffffffffffffff, 0x107, 0x12, 0x0, 0x0) 16:13:10 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000000)={0x2, 0x4, 0x2, 0x7ad, 0x4}, 0x40) 16:13:10 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_IRQCHIP(r1, 0x8208ae63, 0x0) [ 2079.483066][T10442] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2079.491017][T10442] UDF-fs: Scanning with blocksize 512 failed [ 2079.610927][T10442] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2079.618644][T10442] UDF-fs: Scanning with blocksize 1024 failed [ 2079.690365][T10442] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2079.698622][T10442] UDF-fs: Scanning with blocksize 2048 failed [ 2079.769807][T10442] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2079.777617][T10442] UDF-fs: Scanning with blocksize 4096 failed 16:13:10 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x66000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:11 executing program 5: pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r3, 0x0, r1, 0x0, 0x78, 0x0) vmsplice(r1, &(0x7f0000000680)=[{&(0x7f0000000300)='o', 0x1}], 0x1, 0x0) read(r0, &(0x7f0000000000)=""/199, 0xc7) write$binfmt_elf64(r2, &(0x7f0000000200)=ANY=[], 0x57) 16:13:11 executing program 3: syz_mount_image$udf(&(0x7f0000000100)='udf\x00', &(0x7f0000000140)='./file0\x00', 0x0, 0x0, &(0x7f0000000680), 0x0, &(0x7f0000000740)=ANY=[@ANYBLOB='dmode=0']) 16:13:11 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000400)={0x19, 0x4, 0x4, 0x1ffffc}, 0x40) [ 2080.346361][T11728] Bluetooth: hci1: command 0x0419 tx timeout 16:13:11 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_IRQCHIP(r1, 0x8208ae63, 0x0) 16:13:11 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x68000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2080.641008][T10469] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2080.649310][T10469] UDF-fs: Scanning with blocksize 512 failed [ 2080.719944][T10469] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2080.727606][T10469] UDF-fs: Scanning with blocksize 1024 failed [ 2080.765800][T10469] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2080.773343][T10469] UDF-fs: Scanning with blocksize 2048 failed [ 2080.810085][T10469] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2080.817787][T10469] UDF-fs: Scanning with blocksize 4096 failed 16:13:12 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x6a000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:12 executing program 5: pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r3, 0x0, r1, 0x0, 0x78, 0x0) vmsplice(r1, &(0x7f0000000680)=[{&(0x7f0000000300)='o', 0x1}], 0x1, 0x0) read(r0, &(0x7f0000000000)=""/199, 0xc7) write$binfmt_elf64(r2, &(0x7f0000000200)=ANY=[], 0x57) 16:13:12 executing program 3: syz_mount_image$udf(&(0x7f0000000100)='udf\x00', &(0x7f0000000140)='./file0\x00', 0x0, 0x0, &(0x7f0000000680), 0x0, &(0x7f0000000740)=ANY=[@ANYBLOB='dmode=0']) [ 2082.046379][T10492] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2082.053860][T10492] UDF-fs: Scanning with blocksize 512 failed [ 2082.123191][T10492] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2082.131094][T10492] UDF-fs: Scanning with blocksize 1024 failed 16:13:13 executing program 2: r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f00000001c0)={0x0, 0x1000}, 0x4) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) r1 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r1, &(0x7f0000000280)={0x2, 0x0, @local}, 0x10) connect$inet(r1, &(0x7f0000000200)={0x2, 0x0, @multicast2}, 0x10) openat$tcp_mem(0xffffffffffffff9c, 0x0, 0x1, 0x0) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x44000) sendmmsg(r1, &(0x7f0000007fc0), 0x4000000000001a8, 0x0) setsockopt$packet_fanout(0xffffffffffffffff, 0x107, 0x12, 0x0, 0x0) 16:13:13 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_IRQCHIP(r1, 0x8208ae63, 0x0) 16:13:13 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x6c000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:13 executing program 5: pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r3, 0x0, r1, 0x0, 0x78, 0x0) vmsplice(r1, &(0x7f0000000680)=[{&(0x7f0000000300)='o', 0x1}], 0x1, 0x0) read(r0, &(0x7f0000000000)=""/199, 0xc7) write$binfmt_elf64(r2, &(0x7f0000000200)=ANY=[], 0x57) [ 2082.250064][T10492] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2082.258052][T10492] UDF-fs: Scanning with blocksize 2048 failed [ 2082.310978][T10492] UDF-fs: warning (device loop3): udf_load_vrs: No VRS found [ 2082.319161][T10492] UDF-fs: Scanning with blocksize 4096 failed 16:13:14 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_IRQCHIP(r1, 0x8208ae63, 0x0) 16:13:14 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x6e000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:14 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000400)={0x19, 0x4, 0x4, 0x1ffffc}, 0x40) 16:13:14 executing program 3: pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r3, 0x0, r1, 0x0, 0x78, 0x0) vmsplice(r1, &(0x7f0000000680)=[{&(0x7f0000000300)='o', 0x1}], 0x1, 0x0) read(r0, &(0x7f0000000000)=""/199, 0xc7) write$binfmt_elf64(r2, &(0x7f0000000200)=ANY=[], 0x57) 16:13:14 executing program 5: pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r3, 0x0, r1, 0x0, 0x78, 0x0) vmsplice(r1, &(0x7f0000000680)=[{&(0x7f0000000300)='o', 0x1}], 0x1, 0x0) read(r0, &(0x7f0000000000)=""/199, 0xc7) write$binfmt_elf64(r2, &(0x7f0000000200)=ANY=[], 0x57) 16:13:15 executing program 4: r0 = syz_open_dev$usbfs(&(0x7f0000000040)='/dev/bus/usb/00#/00#\x00', 0x200, 0x0) preadv(r0, &(0x7f00000000c0)=[{&(0x7f0000001300)=""/4105, 0x1009}], 0x1, 0x12, 0x0) 16:13:15 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x70000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:15 executing program 3: pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r3, 0x0, r1, 0x0, 0x78, 0x0) vmsplice(r1, &(0x7f0000000680)=[{&(0x7f0000000300)='o', 0x1}], 0x1, 0x0) read(r0, &(0x7f0000000000)=""/199, 0xc7) write$binfmt_elf64(r2, &(0x7f0000000200)=ANY=[], 0x57) 16:13:16 executing program 2: r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f00000001c0)={0x0, 0x1000}, 0x4) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) r1 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r1, &(0x7f0000000280)={0x2, 0x0, @local}, 0x10) connect$inet(r1, &(0x7f0000000200)={0x2, 0x0, @multicast2}, 0x10) openat$tcp_mem(0xffffffffffffff9c, 0x0, 0x1, 0x0) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x44000) sendmmsg(r1, &(0x7f0000007fc0), 0x4000000000001a8, 0x0) setsockopt$packet_fanout(0xffffffffffffffff, 0x107, 0x12, 0x0, 0x0) 16:13:16 executing program 5: r0 = socket(0x23, 0x5, 0x0) connect$llc(r0, 0x0, 0x0) connect$llc(r0, &(0x7f0000000000)={0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, @multicast}, 0x10) 16:13:16 executing program 4: r0 = syz_open_dev$usbfs(&(0x7f0000000040)='/dev/bus/usb/00#/00#\x00', 0x200, 0x0) preadv(r0, &(0x7f00000000c0)=[{&(0x7f0000001300)=""/4105, 0x1009}], 0x1, 0x12, 0x0) 16:13:16 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x74000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:16 executing program 3: pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r3, 0x0, r1, 0x0, 0x78, 0x0) vmsplice(r1, &(0x7f0000000680)=[{&(0x7f0000000300)='o', 0x1}], 0x1, 0x0) read(r0, &(0x7f0000000000)=""/199, 0xc7) write$binfmt_elf64(r2, &(0x7f0000000200)=ANY=[], 0x57) 16:13:16 executing program 5: openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ocfs2_control\x00', 0x0, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') preadv(r0, &(0x7f0000001180)=[{&(0x7f0000000000)=""/2, 0x2}], 0x1, 0x0, 0x0) 16:13:16 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000400)={0x19, 0x4, 0x4, 0x1ffffc}, 0x40) 16:13:16 executing program 4: r0 = syz_open_dev$usbfs(&(0x7f0000000040)='/dev/bus/usb/00#/00#\x00', 0x200, 0x0) preadv(r0, &(0x7f00000000c0)=[{&(0x7f0000001300)=""/4105, 0x1009}], 0x1, 0x12, 0x0) [ 2086.066646][T21655] unregister_netdevice: waiting for lo to become free. Usage count = 1 16:13:17 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x76000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:17 executing program 3: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$packet(0x11, 0x2, 0x300) poll(&(0x7f0000000100)=[{r0}], 0x1, 0x0) 16:13:17 executing program 5: openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ocfs2_control\x00', 0x0, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') preadv(r0, &(0x7f0000001180)=[{&(0x7f0000000000)=""/2, 0x2}], 0x1, 0x0, 0x0) 16:13:17 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000400)={0x19, 0x4, 0x4, 0x1ffffc}, 0x40) 16:13:18 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x78000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:18 executing program 4: r0 = syz_open_dev$usbfs(&(0x7f0000000040)='/dev/bus/usb/00#/00#\x00', 0x200, 0x0) preadv(r0, &(0x7f00000000c0)=[{&(0x7f0000001300)=""/4105, 0x1009}], 0x1, 0x12, 0x0) 16:13:18 executing program 1: unshare(0x400) r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000000)='/dev/rtc0\x00', 0x0, 0x0) ioctl$BTRFS_IOC_RM_DEV_V2(r0, 0x4004700c, 0x0) 16:13:18 executing program 3: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$packet(0x11, 0x2, 0x300) poll(&(0x7f0000000100)=[{r0}], 0x1, 0x0) 16:13:18 executing program 5: openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ocfs2_control\x00', 0x0, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') preadv(r0, &(0x7f0000001180)=[{&(0x7f0000000000)=""/2, 0x2}], 0x1, 0x0, 0x0) 16:13:18 executing program 2: 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, 0xfffffff7ffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x400000000010, 0x2, 0x0) writev(r0, &(0x7f0000000180)=[{&(0x7f0000000000)="290000002000190f05003fffffffda0502000009fee80901dd6c06020d000600fe7f00000005000f00", 0x29}], 0x1) 16:13:18 executing program 3: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$packet(0x11, 0x2, 0x300) poll(&(0x7f0000000100)=[{r0}], 0x1, 0x0) 16:13:18 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) clone(0x3a3dd4008400af01, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) syz_open_dev$vcsu(0x0, 0x0, 0x240000) perf_event_open(&(0x7f0000000040)={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_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r1, 0x29, 0x40, &(0x7f0000001440)=@raw={'raw\x00', 0x3c1, 0x3, 0x364, 0x0, 0x5802, 0x294, 0x1b8, 0x294, 0x29c, 0x378, 0x378, 0x29c, 0x378, 0x3, 0x0, {[{{@uncond=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf4], 0x0, 0x194, 0x1b8, 0x52020000, {}, [@common=@unspec=@conntrack1={{0xb8, 'conntrack\x00'}, {{@ipv4=@multicast1, [], @ipv6=@private1, [], @ipv4=@dev, [], @ipv6=@remote}}}, @common=@unspec=@quota={{0x38, 'quota\x00'}}]}, @common=@unspec=@STANDARD={0x24, '\x00', 0x0, 0x1b8}}, {{@uncond, 0x0, 0xa4, 0xe4}, @common=@inet=@TCPOPTSTRIP={0x40, 'TCPOPTSTRIP\x00'}}], {{[], 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x3c0) socket(0x18, 0x0, 0x0) poll(0x0, 0x0, 0x0) ioctl$BTRFS_IOC_BALANCE_PROGRESS(0xffffffffffffffff, 0x84009422, 0x0) ioctl$BTRFS_IOC_DEV_INFO(r1, 0xd000941e, &(0x7f0000000c00)={0x0, "279c35b04bc3fec460421a8c88c2ce47"}) r2 = socket$inet6_udp(0xa, 0x2, 0x0) prctl$PR_GET_TSC(0x19, &(0x7f0000000000)) setsockopt$IP6T_SO_SET_REPLACE(r2, 0x29, 0x40, &(0x7f0000000240)=@raw={'raw\x00', 0x3c1, 0x3, 0x4b0, 0x2fc, 0x0, 0x294, 0x2fc, 0x294, 0x3e8, 0x378, 0x378, 0x3e8, 0x378, 0x3, 0x0, {[{{@uncond=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff], 0x0, 0x2b4, 0x2fc, 0x52020000, {}, [@common=@inet=@hashlimit2={{0x150, 'hashlimit\x00'}, {'batadv_slave_1\x00', {0xe2}}}, @common=@unspec=@string={{0xc0, 'string\x00'}, {0x0, 0x0, 'bm\x00', "79e968880ccc1ead08db713078a9af4f9b88574f7f1bf77d65420c28387d342331a24364f67cdd5531e34b768a6af25a06020a619a8153fb71779c857f8a000fbde8ecc070960471510115cbbdcf01572fb35d0101674b41b6c4a3dfe224559d8763d5f9bc9fbae3ee50f987a1ab15581079624c1d69074c91660b783b952000"}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'syz0\x00'}}}, {{@uncond, 0x0, 0xa4, 0xec}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00'}}}], {{[], 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x50c) syz_mount_image$vfat(0x0, &(0x7f0000000140)='./file0\x00', 0x3, 0x1, &(0x7f0000000200)=[{&(0x7f0000000180)="bcdaf9985335a24ca31a7dadd05cbeeea61ff5e8018903fff510876e9a5c5b17e4f82eb742e20f50a405065f67da3f8d40b0b8717f4294f69a6206f8a1dd9a5d7bf7607c03049ac8f10bcf44c50b5ca06eed0de024bf18a3b9fe", 0x5a, 0x10000}], 0x1000800, 0x0) ioctl$IOC_PR_REGISTER(0xffffffffffffffff, 0x401870c8, &(0x7f00000007c0)={0x37ff}) ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_GET_DIRTY_LOG(0xffffffffffffffff, 0x4010ae42, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000000/0x3000)=nil}) mmap(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x0, 0x11b031, 0xffffffffffffffff, 0x0) madvise(&(0x7f0000ff9000/0x7000)=nil, 0x7000, 0x11) 16:13:18 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x7a000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:19 executing program 5: openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000040)='/dev/ocfs2_control\x00', 0x0, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') preadv(r0, &(0x7f0000001180)=[{&(0x7f0000000000)=""/2, 0x2}], 0x1, 0x0, 0x0) 16:13:19 executing program 1: clock_settime(0x7db5c9a0fffffffc, &(0x7f0000000040)) [ 2087.977511][T10594] netlink: 'syz-executor.2': attribute type 6 has an invalid length. [ 2088.036174][T10595] netlink: 'syz-executor.2': attribute type 6 has an invalid length. 16:13:19 executing program 2: syz_mount_image$tmpfs(&(0x7f00000002c0)='tmpfs\x00', &(0x7f0000000100)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=ANY=[@ANYBLOB='huge=always']) chdir(&(0x7f0000000380)='./bus\x00') creat(&(0x7f0000000400)='./bus\x00', 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0xffffffffffffffff, 0x0) r0 = open(&(0x7f0000000200)='./bus\x00', 0x10103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x4002011, r0, 0x0) ftruncate(r0, 0xcf01) remap_file_pages(&(0x7f00002ec000/0x200000)=nil, 0x200000, 0x0, 0x0, 0x0) mincore(&(0x7f0000000000/0x400000)=nil, 0x400000, &(0x7f0000000080)=""/164) syz_mount_image$jfs(&(0x7f0000000040)='jfs\x00', &(0x7f0000000180)='./bus\x00', 0x0, 0x1, &(0x7f0000000900)=[{0x0}], 0x0, 0x0) [ 2088.370511][T10605] x_tables: ip6_tables: TCPOPTSTRIP target: only valid in mangle table, not raw 16:13:19 executing program 3: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$packet(0x11, 0x2, 0x300) poll(&(0x7f0000000100)=[{r0}], 0x1, 0x0) 16:13:19 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x7c000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:19 executing program 5: clock_getres(0xfffffffffffffffd, 0x0) 16:13:19 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000dc0)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x32}]}, &(0x7f0000000080)='GPL\x00', 0x1, 0xc3, &(0x7f0000000a80)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) [ 2088.701992][T10605] x_tables: ip6_tables: TCPOPTSTRIP target: only valid in mangle table, not raw 16:13:19 executing program 4: ioctl$sock_SIOCETHTOOL(0xffffffffffffffff, 0x8946, &(0x7f0000000000)={'syz_tun\x00', &(0x7f0000000140)=ANY=[@ANYBLOB=':']}) mprotect(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1) r0 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCETHTOOL(r0, 0x8946, &(0x7f0000000000)={'syz_tun\x00', 0x0}) 16:13:20 executing program 2: r0 = socket$phonet_pipe(0x23, 0x5, 0x2) bind$phonet(r0, &(0x7f0000000040)={0x23, 0x4}, 0x10) r1 = socket$phonet_pipe(0x23, 0x5, 0x2) bind$phonet(r1, &(0x7f0000000040)={0x23, 0x4}, 0x10) 16:13:20 executing program 3: r0 = syz_open_dev$vbi(&(0x7f0000000080)='/dev/vbi#\x00', 0x0, 0x2) ioctl$VIDIOC_G_FMT(r0, 0xc0d05604, &(0x7f00000000c0)={0x4, @sdr}) 16:13:20 executing program 5: r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) writev(r0, &(0x7f0000003600)=[{0x0}, {0x0}, {&(0x7f0000000540)="f1", 0xfdef}], 0x3) 16:13:20 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x7e000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:20 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000dc0)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x32}]}, &(0x7f0000000080)='GPL\x00', 0x1, 0xc3, &(0x7f0000000a80)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 16:13:20 executing program 4: r0 = open(&(0x7f00000000c0)='./file0\x00', 0x1ada42, 0x0) r1 = memfd_create(&(0x7f0000000540)='/s\xcb\x9cF2\x1d\b\x00\xca\xdc[\x17\x8b\xb2\xf7W\xf0hW\xdd\xca\xc8k\xc0\xa5velindf\r(\x90\xe0\xe0\r\xa6R\xb4\xb8\xa1\x98\xb43\xa6,\xa6<\x13\xfe\x04\x00\x01\xbd\x96:\xe2\x13\x02\xfaw\xaa\xef\x96\xfbi\xf8\x00\bbQ\xd8gC\xb2-\xa1\x06\x00\x00\x00\xe93\xf2\xd6\x03\'\xaa(\x8f\xaf\f7\n\xcf\xaf\xd6\x1fK\xe0\xf3g\x81\xf3o$\x03\x89\xf7\xb6\xed\xd0\xd2\x18j\x8f\x9b\xd1\x8a\xda\\;\xb6\xf4\'y\x17?\xc5\x90\xcc\xe9\xdc\xa7\a\xe2J8x\xad/\xba\xb1mJ\x7f\xe4m\xe6T\xe9\x00\x00\x00\x00Y\x92$O_\xf6\xb6\x1ce\xd0R\xcf\x1c\xbd\x03\x9a\xca\xc1_\xfb\xd0n\xc0\xc6\x04\xa8\x9c\xf5\xa7\xde\xf8&5\xefD\x04\x160\xafy\x02\\\x15F\x0f\f:\xae\xabm\x8f\xaeh\x8c~8\x9f\xc8\xedO\x00\xbf\x1d\xb1\x84', 0x1) ftruncate(r1, 0x40003) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000000)=ANY=[], 0xffdbc4c3) ioctl$SNAPSHOT_FREE_SWAP_PAGES(0xffffffffffffffff, 0x3309) pwritev2(0xffffffffffffffff, &(0x7f0000000080)=[{&(0x7f0000000240)="b8a0fa05ed5f4807854c5db7dcd46bdbba3b2225d94bce85bda69f5aff7f0686cdb705027671426925dd2c6bd7ab9d2b8d5d5e6a833235ca87a49877a9725ee85de2c97715b3a91093409bc6b3f4f61dd6bde3fa7e4ff69a8bac599f6b07d65e5d487f601f004b98ac833dcbcba1c52fec69504e6df173d77e70d5a4d11f93131f19cfdacdd01e1275a9b5a806feea7888f2050ebabb0e56cbb1e706e431729ff01b4307c9cbe7cd3567cb46b0a27963c2d2ed9d667985916af3a603d2", 0xbd}, {&(0x7f0000000300)="dc883ad011560162f5bd7429168b61309a8a6e2c2718fee9675396a62dc9415432fa337f11baf59d34f7f016d2a4c9e784b2201d167d74f234f4fe69905263baef7c7c46869949f666070373057d103b5ae360d9bb649fdd30a752d5213c02b9d7945d59c5c89ba71d6e16d7dad21d7065bee981bd067dfda5e769bf189de3a343125033a3db", 0x86}], 0x2, 0x1, 0x6, 0x15) ioctl$FS_IOC_SETFLAGS(r0, 0x40046602, &(0x7f0000000200)) 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, 0x2, @perf_config_ext, 0x0, 0x0, 0x200000, 0x7, 0x81, 0x8000000}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendfile(r0, r1, 0x0, 0x2008000fffffffe) 16:13:20 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f00000000c0)='batadv\x00') sendmsg$BATADV_CMD_GET_GATEWAYS(r0, &(0x7f0000000540)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000000280)={0x24, r1, 0x711, 0x0, 0x0, {0x8}, [@BATADV_ATTR_MESH_IFINDEX={0x4}, @BATADV_ATTR_HARD_IFINDEX={0x8}]}, 0x24}}, 0x0) 16:13:20 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f00000000c0)={0x1f, 0xffffffffffffffff, 0x4}, 0x6) write$bt_hci(r0, &(0x7f00000003c0)=ANY=[@ANYBLOB="0000160004"], 0xa) 16:13:21 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x7e307}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2089.920153][ T32] audit: type=1800 audit(1611159201.037:260): pid=10650 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.4" name="file0" dev="sda1" ino=16238 res=0 errno=0 16:13:21 executing program 5: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='comm\x00') exit(0x0) write$P9_RSYMLINK(r0, 0x0, 0x0) 16:13:21 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000dc0)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x32}]}, &(0x7f0000000080)='GPL\x00', 0x1, 0xc3, &(0x7f0000000a80)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 16:13:21 executing program 2: r0 = socket(0x10, 0x3, 0x0) ioctl$sock_ifreq(r0, 0x89f0, &(0x7f0000000080)={'ip_vti0\x00', @ifru_data=&(0x7f0000000000)="b06f31673d3da2b793d4f9a507e3c9133ba7ce8f5e6e538ecf8829b08f7f4aae"}) sendmsg$key(0xffffffffffffffff, &(0x7f0000f56000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=ANY=[@ANYBLOB="02000000050000000000000000000000030000000000000006000000ffffffff00"], 0x28}}, 0x0) ioctl$sock_ifreq(r0, 0x89f1, &(0x7f0000000080)={'sit0\x00', @ifru_flags}) [ 2090.324798][ T32] audit: type=1800 audit(1611159201.437:261): pid=10650 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.4" name="file0" dev="sda1" ino=16238 res=0 errno=0 16:13:21 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f00000000c0)={0x1f, 0xffffffffffffffff, 0x4}, 0x6) write$bt_hci(r0, &(0x7f00000003c0)=ANY=[@ANYBLOB="0000160004"], 0xa) 16:13:21 executing program 4: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000080)='/dev/snd/seq\x00', 0x2) poll(&(0x7f00000001c0)=[{}, {}, {}, {}, {}, {}, {0xffffffffffffffff, 0x9485}, {}, {0xffffffffffffffff, 0x12a6}], 0x9, 0xaf) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f0000000580)={0x0, 0x0, 0x0, 'queue0\x00'}) perf_event_open(&(0x7f0000001340)={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_bp={0x0}, 0x0, 0x0, 0x0, 0x5}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) write$sndseq(r0, &(0x7f00000000c0)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @raw8={"a357b6b140cbb6215dd33459"}}], 0xfffffee4) syz_fuse_handle_req(0xffffffffffffffff, 0x0, 0x0, &(0x7f0000000640)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)={0x60, 0xfffffffffffffffe, 0x0, {{0x0, 0x0, 0x0, 0x3}}}, &(0x7f00000023c0)={0x18, 0x0, 0x0, {0x6}}, &(0x7f0000000100)=ANY=[@ANYBLOB="1500000000000000047300000000f9b4ef8f45e49d4cc153086c1ec212af5fee25e8b9b994eec3f92db1ea825d5cf43234b617"], 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000004a40)={0xa0, 0x0, 0x0, {{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x4000, 0x0, 0xee01, 0xee01}}}}, 0x0}) openat$pfkey(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/net/pfkey\x00', 0x40, 0x0) 16:13:21 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x82000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:21 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000dc0)={0xe, 0x4, &(0x7f0000000040)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x32}]}, &(0x7f0000000080)='GPL\x00', 0x1, 0xc3, &(0x7f0000000a80)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 16:13:22 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f00000000c0)={0x1f, 0xffffffffffffffff, 0x4}, 0x6) write$bt_hci(r0, &(0x7f00000003c0)=ANY=[@ANYBLOB="0000160004"], 0xa) 16:13:22 executing program 2: r0 = socket(0x10, 0x3, 0x0) ioctl$sock_ifreq(r0, 0x89f0, &(0x7f0000000080)={'ip_vti0\x00', @ifru_data=&(0x7f0000000000)="b06f31673d3da2b793d4f9a507e3c9133ba7ce8f5e6e538ecf8829b08f7f4aae"}) sendmsg$key(0xffffffffffffffff, &(0x7f0000f56000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=ANY=[@ANYBLOB="02000000050000000000000000000000030000000000000006000000ffffffff00"], 0x28}}, 0x0) ioctl$sock_ifreq(r0, 0x89f1, &(0x7f0000000080)={'sit0\x00', @ifru_flags}) 16:13:22 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x8c000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:23 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) ioctl$sock_ifreq(r0, 0x8993, &(0x7f0000000140)={'bond0\x00', @ifru_flags}) 16:13:24 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x96000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:24 executing program 5: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r0, &(0x7f0000000440)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000600), 0x4) sendto$inet(r0, &(0x7f00000012c0)="0c268a927f1f6588b967481241ba7860005cf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x11, 0x0, 0x27) shutdown(r0, 0x0) recvmsg(r0, &(0x7f0000001500)={0x0, 0x0, 0x0}, 0x40008043) 16:13:24 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f00000000c0)={0x1f, 0xffffffffffffffff, 0x4}, 0x6) write$bt_hci(r0, &(0x7f00000003c0)=ANY=[@ANYBLOB="0000160004"], 0xa) 16:13:25 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x9c000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:25 executing program 3: r0 = socket$inet(0x2, 0x3, 0xff) sendmmsg$inet(r0, &(0x7f0000001e80)=[{{&(0x7f0000000000)={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x40}}, 0x10, &(0x7f0000000140)=[{&(0x7f0000000040)="67bdf3983e14b73a3128a272b0009b744e6a04299ae17fe043f7caa4", 0x1c}], 0x1}}, {{&(0x7f0000000180)={0x2, 0x0, @loopback}, 0x10, &(0x7f0000000340)=[{&(0x7f0000000300)="4657e509a543db4d27315f2b2ce27dd30eef9ec3", 0x14}], 0x1}}], 0x2, 0x0) 16:13:38 executing program 4: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000280)={0x2, 0x4, 0x800, 0x9, 0x500}, 0x3c) mmap(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x1000007, 0x11, r0, 0x0) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='lock_acquire\x00'}, 0x10) bpf$BPF_MAP_FREEZE(0x16, &(0x7f00000002c0)=r0, 0x4) 16:13:38 executing program 2: r0 = socket(0x10, 0x3, 0x0) ioctl$sock_ifreq(r0, 0x89f0, &(0x7f0000000080)={'ip_vti0\x00', @ifru_data=&(0x7f0000000000)="b06f31673d3da2b793d4f9a507e3c9133ba7ce8f5e6e538ecf8829b08f7f4aae"}) sendmsg$key(0xffffffffffffffff, &(0x7f0000f56000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=ANY=[@ANYBLOB="02000000050000000000000000000000030000000000000006000000ffffffff00"], 0x28}}, 0x0) ioctl$sock_ifreq(r0, 0x89f1, &(0x7f0000000080)={'sit0\x00', @ifru_flags}) 16:13:38 executing program 3: 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) r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="2800000026000106"], 0x28}}, 0x0) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) recvmmsg(r0, &(0x7f0000005c80)=[{{0x0, 0x7ec0, 0x0, 0x0, 0x0, 0x0, 0x700}}], 0x344, 0x0, 0x0) 16:13:38 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) ioctl$sock_ifreq(r0, 0x8993, &(0x7f0000000140)={'bond0\x00', @ifru_flags}) 16:13:38 executing program 5: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f00000001c0)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x56) listen(r0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) connect$unix(r1, &(0x7f0000000140)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) write$binfmt_elf64(r1, &(0x7f0000000240)={{0x7f, 0x45, 0x4c, 0x46, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40}, [{}]}, 0x78) 16:13:38 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xa4000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2107.325459][T10737] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2107.415584][T10740] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2107.466733][T10740] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:38 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xac000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:38 executing program 2: r0 = socket(0x10, 0x3, 0x0) ioctl$sock_ifreq(r0, 0x89f0, &(0x7f0000000080)={'ip_vti0\x00', @ifru_data=&(0x7f0000000000)="b06f31673d3da2b793d4f9a507e3c9133ba7ce8f5e6e538ecf8829b08f7f4aae"}) sendmsg$key(0xffffffffffffffff, &(0x7f0000f56000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=ANY=[@ANYBLOB="02000000050000000000000000000000030000000000000006000000ffffffff00"], 0x28}}, 0x0) ioctl$sock_ifreq(r0, 0x89f1, &(0x7f0000000080)={'sit0\x00', @ifru_flags}) [ 2107.553795][T10740] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:38 executing program 5: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f00000001c0)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x56) listen(r0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) connect$unix(r1, &(0x7f0000000140)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) write$binfmt_elf64(r1, &(0x7f0000000240)={{0x7f, 0x45, 0x4c, 0x46, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40}, [{}]}, 0x78) [ 2107.632921][T10740] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:38 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) ioctl$sock_ifreq(r0, 0x8993, &(0x7f0000000140)={'bond0\x00', @ifru_flags}) [ 2107.692513][T10740] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:39 executing program 4: r0 = socket$packet(0x11, 0x3, 0x300) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) r4 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r4, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r4, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x2ba) sendmsg$nl_route(r3, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000440)=ANY=[@ANYBLOB="3c0000001000850600"/20, @ANYRES32=r5, @ANYBLOB="fe00000000f500001c0012000c000100626f6e64000000000c0002000800010001"], 0x3c}}, 0x0) sendmsg$nl_route(r2, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000003c0)=ANY=[@ANYBLOB="5000000010001fff000080000008000000000000", @ANYRES32=0x0, @ANYBLOB="000000000000000028001200090001007665746800000000180002001400010000000000", @ANYRES32, @ANYBLOB="200002000010000008000a00", @ANYRES32=r5], 0x50}}, 0x0) r6 = socket$netlink(0x10, 0x3, 0x0) r7 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r7, &(0x7f00000000c0), 0x492492492492627, 0x0) r8 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r8, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r6, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=@newlink={0x20, 0x10, 0x825, 0x0, 0x0, {0xa, 0x0, 0x0, r9, 0x14301}}, 0x20}}, 0x0) 16:13:39 executing program 2: openat$kvm(0xffffffffffffff9c, 0x0, 0x0, 0x0) r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$SG_SET_KEEP_ORPHAN(0xffffffffffffffff, 0x2287, 0x0) r1 = creat(0x0, 0xbc) ioctl$LOOP_GET_STATUS(r1, 0x4c03, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x0, 0x40, 0x0, 0x1) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x8001}, 0x0, 0xfdffffffffffffff, 0xffffffffffffffff, 0x0) r2 = socket$inet(0x2, 0x1, 0x0) bind$inet(r2, &(0x7f0000000200)={0x2, 0x4e23, @dev}, 0x10) sendto$inet(r2, 0x0, 0xfffffffffffffc6d, 0x20000800, &(0x7f0000000240)={0x2, 0x4e23, @local}, 0x10) syz_open_procfs(0x0, &(0x7f0000000100)='cmdline\x00') getsockname$unix(0xffffffffffffffff, 0x0, &(0x7f0000000280)) setsockopt$SO_BINDTODEVICE(r2, 0x1, 0x19, &(0x7f0000000080)='veth0_macvtap\x00', 0x10) sendto$inet(r2, &(0x7f0000000000), 0xfffffffffffffccf, 0x240, 0x0, 0xffffffffffffff37) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) 16:13:39 executing program 5: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f00000001c0)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x56) listen(r0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) connect$unix(r1, &(0x7f0000000140)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) write$binfmt_elf64(r1, &(0x7f0000000240)={{0x7f, 0x45, 0x4c, 0x46, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40}, [{}]}, 0x78) [ 2108.116620][T10737] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2108.198982][T10757] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:39 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xb2000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2108.316105][T10757] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2108.503527][T10757] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2108.603959][T10763] netlink: 'syz-executor.4': attribute type 1 has an invalid length. [ 2108.727820][T10764] bond2: (slave veth53): making interface the new active one [ 2108.737018][T10764] bond2: (slave veth53): Enslaving as an active interface with an up link [ 2108.772208][T10765] bond2: (slave veth55): Enslaving as a backup interface with an up link [ 2108.782863][T10767] device bond2 entered promiscuous mode [ 2108.788787][T10767] device veth53 entered promiscuous mode 16:13:40 executing program 3: 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) r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="2800000026000106"], 0x28}}, 0x0) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) recvmmsg(r0, &(0x7f0000005c80)=[{{0x0, 0x7ec0, 0x0, 0x0, 0x0, 0x0, 0x700}}], 0x344, 0x0, 0x0) 16:13:40 executing program 1: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) ioctl$sock_ifreq(r0, 0x8993, &(0x7f0000000140)={'bond0\x00', @ifru_flags}) 16:13:40 executing program 5: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f00000001c0)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x56) listen(r0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) connect$unix(r1, &(0x7f0000000140)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) write$binfmt_elf64(r1, &(0x7f0000000240)={{0x7f, 0x45, 0x4c, 0x46, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40}, [{}]}, 0x78) [ 2108.967521][T21655] unregister_netdevice: waiting for lo to become free. Usage count = 1 [ 2109.054948][T10764] netlink: 'syz-executor.4': attribute type 1 has an invalid length. [ 2109.118555][T10763] bond2: (slave veth57): Enslaving as a backup interface with an up link [ 2109.153290][T10765] bond2: (slave veth59): Enslaving as a backup interface with an up link 16:13:40 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xb6000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:40 executing program 2: 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) r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="2800000026000106"], 0x28}}, 0x0) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) recvmmsg(r0, &(0x7f0000005c80)=[{{0x0, 0x7ec0, 0x0, 0x0, 0x0, 0x0, 0x700}}], 0x344, 0x0, 0x0) 16:13:40 executing program 4: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/vhost-net\x00', 0x2, 0x0) ioctl$VHOST_SET_OWNER(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ENDIAN(r0, 0x4008af04, 0x0) 16:13:40 executing program 5: r0 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f0000000040)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_FLUSH_PMKSA(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000100)={0x1c, r0, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}}, 0x1c}}, 0x0) 16:13:40 executing program 1: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x80037, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f0000010100)="0000000000000000000000026856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000010400)="030000000400000005", 0x9, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f000000000000040020", 0x1d, 0x1500}], 0x81, &(0x7f0000000340)={[{@grpjquota='grpjquota='}]}) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) [ 2109.722940][T29213] IPv6: ADDRCONF(NETDEV_CHANGE): bond2: link becomes ready 16:13:41 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xbe000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2110.242740][T10843] EXT4-fs (loop1): ext4_check_descriptors: Checksum for group 0 failed (60935!=0) 16:13:41 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xc4000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2110.379292][T10843] EXT4-fs (loop1): orphan cleanup on readonly fs [ 2110.386157][T10843] EXT4-fs error (device loop1): ext4_orphan_get:1411: comm syz-executor.1: bad orphan inode 33554432 16:13:41 executing program 4: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/vhost-net\x00', 0x2, 0x0) ioctl$VHOST_SET_OWNER(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ENDIAN(r0, 0x4008af04, 0x0) [ 2110.563627][T10843] EXT4-fs (loop1): mounted filesystem without journal. Opts: grpjquota=,,errors=continue 16:13:41 executing program 3: 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) r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="2800000026000106"], 0x28}}, 0x0) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) recvmmsg(r0, &(0x7f0000005c80)=[{{0x0, 0x7ec0, 0x0, 0x0, 0x0, 0x0, 0x700}}], 0x344, 0x0, 0x0) 16:13:41 executing program 5: r0 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f0000000040)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_FLUSH_PMKSA(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000100)={0x1c, r0, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}}, 0x1c}}, 0x0) 16:13:41 executing program 1: r0 = socket$l2tp(0x2, 0x2, 0x73) ioctl$sock_TIOCOUTQ(r0, 0x8934, &(0x7f0000001280)) 16:13:42 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xc8000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:42 executing program 2: 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) r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="2800000026000106"], 0x28}}, 0x0) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) recvmmsg(r0, &(0x7f0000005c80)=[{{0x0, 0x7ec0, 0x0, 0x0, 0x0, 0x0, 0x700}}], 0x344, 0x0, 0x0) 16:13:42 executing program 5: r0 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f0000000040)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_FLUSH_PMKSA(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000100)={0x1c, r0, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}}, 0x1c}}, 0x0) 16:13:42 executing program 4: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/vhost-net\x00', 0x2, 0x0) ioctl$VHOST_SET_OWNER(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ENDIAN(r0, 0x4008af04, 0x0) 16:13:42 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xd0000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:42 executing program 1: mmap(&(0x7f0000abb000/0x3000)=nil, 0x3000, 0x0, 0x102000200032, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x80002, 0x0) setsockopt$sock_timeval(r0, 0x1, 0x42, &(0x7f0000abaff9), 0x10) 16:13:43 executing program 3: 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) r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="2800000026000106"], 0x28}}, 0x0) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) recvmmsg(r0, &(0x7f0000005c80)=[{{0x0, 0x7ec0, 0x0, 0x0, 0x0, 0x0, 0x700}}], 0x344, 0x0, 0x0) 16:13:43 executing program 4: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/vhost-net\x00', 0x2, 0x0) ioctl$VHOST_SET_OWNER(r0, 0xaf01, 0x0) ioctl$VHOST_SET_VRING_ENDIAN(r0, 0x4008af04, 0x0) 16:13:43 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xd4000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:43 executing program 5: r0 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f0000000040)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_FLUSH_PMKSA(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000100)={0x1c, r0, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}}, 0x1c}}, 0x0) 16:13:43 executing program 2: 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) r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="2800000026000106"], 0x28}}, 0x0) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) recvmmsg(r0, &(0x7f0000005c80)=[{{0x0, 0x7ec0, 0x0, 0x0, 0x0, 0x0, 0x700}}], 0x344, 0x0, 0x0) 16:13:43 executing program 1: mount(&(0x7f0000000000)=ANY=[], &(0x7f0000000040)='.\x00', &(0x7f00000000c0)='gfs2meta\x00', 0x0, 0x0) [ 2112.546140][T10895] __nla_validate_parse: 28 callbacks suppressed [ 2112.546190][T10895] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2112.624469][T10890] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2112.678897][T10899] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2112.752289][T10890] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2112.813471][T10903] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2112.848590][T10890] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:44 executing program 5: r0 = socket(0x1000000010, 0x80002, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="4800000010000507000000000000040000000000", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="380000002400ffffff7f000000003c0005000000", @ANYRES32=r3, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000600)=@newtfilter={0x7c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {}, {0xe, 0xffe0}}, [@filter_kind_options=@f_tcindex={{0xc, 0x1, 'tcindex\x00'}, {0x4c, 0x2, [@TCA_TCINDEX_POLICE={0x40, 0x6, [@TCA_POLICE_TBF={0x3c}]}, @TCA_TCINDEX_MASK={0x6}]}}]}, 0x7c}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec16, 0x0) [ 2112.938283][T10903] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2112.974112][T10890] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:44 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xdc000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:44 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f00000000c0)='devlink\x00') sendmsg$DEVLINK_CMD_TRAP_GROUP_GET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000100)={0x44, r1, 0x1, 0x0, 0x0, {0x22}, [{@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0xd, 0x87, 'l2_drops\x00'}}]}, 0x44}}, 0x0) [ 2113.071303][T10903] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2113.104620][T10890] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:44 executing program 1: mkdirat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000380)='./file0\x00', &(0x7f00000003c0)='sysfs\x00', 0x0, 0x0) bpf$OBJ_GET_PROG(0x7, &(0x7f00000000c0)={&(0x7f0000000000)='./file0\x00'}, 0x10) mount(0x0, &(0x7f0000000080)='./file0\x00', 0x0, 0x100000, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000001c0)='mounts\x00') io_setup(0x8, &(0x7f0000000100)=0x0) pipe(0x0) io_submit(r1, 0x1, &(0x7f0000000440)=[&(0x7f00000005c0)={0x0, 0x0, 0x0, 0x5, 0x0, r0, 0x0}]) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) 16:13:44 executing program 3: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f00000042c0)="9eda438838743bd4e9720bee57093515dc189a5ea685e9556c1c2c3cfc4df50d66d31a48aa312663b68d18c5826b5b55fb738208863dac0f10f423aee7a5d8ddc45ebdfeb7424bae859d7c37ecfc4b63914d5a56d91017dd22bc84f759a15969951aef9d5c88c96560896988fa18cd946cfcc3a0f1c993348377904eac32c980bdf7976ebca2b499cab63c4e841514277fc71d4620e29a92523402485de0e82896484c0ae497a4d686df23ca7b68c3fd5e624d3510d7f94838e54af877ca58a00c5a672bba11f5aa1ed1980dfef47b9973d0bf456ded5e72f1702b3dc5197fce39cba53a038d8dc0ec783ce70577107dc5e8b299e64a0b7f1191f0926bd25762370191710bab2f44e9069f55f8a3f87e4cb488a2fb3348c0bf3b3874291f83e4776b160ea73aafa3919c7c069c73c0052173a63158db8b65541d161f9c964926ad7f06bdd6cb6a32135b04e35701c2e13c49c1f75dc7a25d623378860692d172ec3f1e1f2d9dc77c015c13721efcb101c2390abb847e871132f472a37cc0163b39b1d575a5444e246a08a1afb1a696cabab29498a314429a3b9f44c43ba29f71fac1fbe0d01c3c16d22730932704bcfb0c1b7a432bc51dd3f5dd5afc3b342cbe6a6ff899039e28f9a51881b1d46fdcf31767cb6f5c5c69ab3c80615d77c4d1664fc4ec831b8cea2e752bbb7a9ce79df875b29f1e232751daf32a1a0c4ff8bd0688e2b8e2d668b8a77e20a9eb6ec2e2c23b94e507baeacbcfa31fb6e1ca3343668f43e3aa6d85e7c29bf0bb4dbdabddc92be7f4a6f5d21b19e6da17bfb6cc926e3847532fae29c7b62fb909130ec372d3c16cfe6aaf3ce2af0fe7610fde7aad61bc80d2f96b999c8ccf6d22cf903ca8ae8b879ec4a416f334982e9810c0140a18d4dc81b5edaae23e9f4abaf40ed71512aebbba5bb251545e188db789558a845a2877b14bdaeec3c738b7d730c0860531bf5517d4f0e8f95ed3571f8a35816d5116fcb8d7cbf42b7d5d5e65541508c898bb2e0fe96297d2ab7135662de39df099ebaed5871111f5346278cee5728cec512e6c0a0d65b51e3d627873195b84103341c2bc83b6c8fdd8ba17f5957413f61c69d618c9b9d0b1f08dc81921b6c662ee1da3bfa019b095e9a03c2db4d645ccb7364e895098cbf7d932c72d80663c7a1694d122f7348393079223c11d36c64a5856eae0397ab9a9d948204b74e56525a9d552dd0916de81cbb5af3c59b3d7f8f9154423ce2cb45a5bc808e24bef13212019a19545fe54ba84d01534358380192b8c7b0eda907810375bb66a578a58fec392b47991271c8367b91d710e8a176bc1a4e96f0e137d4c25fbb03eddc392f9f170dd744472b864fbbae7c93d86e682308b21b73c5652065d72cf02e1152b44024a90a3b52eb0bb3cb412e518d37a68aa4c7f46789c54ab30d3a73d0a8712fde612294cda2aa1ccf164930b9b1d17801d4fbb06e849d39bf2b5141330caa0d2618b616f1c67e1ca57080e79ed9092ba7a55e8121cfc825cd26a0199a479a7ab1b7b23d2a4dd82fa6d04ee41ca680435efc934f0451e865e8632ac2f1115f4cdd33b0fccb7a2326127faf20cba37c828613dba5a98f4e1ad25eb6b91078cf73d873df9ef91531476f64b83559ff7ccdc4c070d478b18196ea05fe8d4ea0216ee5273dfabbd04582f40f064c9781afd2cbf30901f28cd09cc934f1b2d50883778274177e3dba8af0a1b931d80ce1a6c4085780ea2195b65ecfd2953f78a5290fe560d0cd6a5e73890a5a82dc410b92a3ef2be05ec5607820fd4ca6b9c3aa258d59022fdcb21665f1ce4e8aad8fd918c43bd3c2afe3dc223ff9f48831d401c8b6996190793d1dd7551f8511b69283992398d8f9b4bd2b3398d3b8c6f3c5d8b802ca5282b70242df2b7be4b38e70c3065f8da888631375afcc05ce578089c4f783776b286b7a60d1b5e189e2742a3240c1036a953d886885422eef01413c38099b64505fd5a73488acb4e611820674c58ae74d6c64a885d4beda9bd7903bcdc71e3711e2a057c0eab2100c321050ab14c6e453c53182577ad3178603cd9afde40a701120e9a36074fd582428c74e02781318e6c65450f8f020bd22475696fe13b8c59260e53a06d16eabd135e887a0a6bbc8ad21be7661df76fec5b13844f68b8eed1a7379713738beac9f23c7a26520e19797a910cde9fb285179526889b908b7eb49bb06f70f6271fba8712c1a4269ebcf4b7d043e924e3d2c4c753fd7e547d95841e335179836f76424e728810d7f32b78256ea30c79d9238a6588426e1f2d4c0b03d5605bd826ed24f0f11326b4cf958632b86e017aa80e142db1580c44f76d9c98196f3f6852ab2bfc6a01a3553a130c2d171957f5a45c3550fbbc990ef8742a98a86b280a57b9f198ff436bc01161ada50e6f23026c3254adf2321bff7e20aa54080bbb57d8d52c6a6df6107706a2e5bc6da68f17b474c0edd39401d765086e885cf7992405f856557915603cbe8894676e996bbadbb649a5e7498b91f9bd2f697dd9ebbe4d386050258b9f4c94781e61c660651c3f1e3ae51f8c035eca365bf15d6db48ea9ce183515f4a208d010f7c23dcacbd6e225490d7e9c133525f5c9018d752b21b4897bf18b64b6a9936f538a0a8958fc934440aeeaad2b68ac844d76f0900a6c95bd0b353d85d4fb62eb88360112237fd8c636a80e3130b21d66ae8ec58a4b76cba0602f96da919f7e84fd37e3ec2379f58e389a39c78d2482e03c379e3c4649ad63a76e3707ecff07d2fcb0c9dfc524cab49e69a09c92e4f88714335cb57d3f6184d07bef9657280fb5c9fd2d8f940f7ac6c5407e3077aa2e4ba8e217e0ee19e302d6d90e3be05a86dade35d2e454e511afb5cf5936f1d11f2fa6be6ceaa817dbdc7a6aabf2fad8ff3efa8382a25099f0c5989d2ad56ae0f4968b2cfcfc67b4f1c161c75900b4848f59a3c0376dfcb7997bf28e9e85d6dd942a360516de38e1c1a038a796f9a77ff2b0c7e5e8f4932391a0e58e76dacc6f9764178a211dfde3e75d367d2911ff398126ffdf83cf2fbdf1ad5232bed9155f7a168638a572094a9e934d4969b358cf6e121d7fd2aeae2f499068b42c152f0e3403a230885d6f92f038ddaa23499f804ffb06abdbabb51f6c38c92fb1a6271a4b13d6d11125b8ec12efa5907dc65062797fb9cca15e2f254e76b182d3fcdb4e96ac4de36d6df7e7bba5c32f422286b1be3b79bffb6fd693761952d195a84ad9ceb07287a0fbefab9e0347b513c5f60233ccd4b52d90ec144a2f896d9dc7f279f8aa93038f3efa286e1c3006933a4d7183d952f8d28b141b28b2af355b5bd8198dfde1ffb8d09202aff0d16ca3fec194662892a49f829813970a4520f1228aa03d211a45bed3b2e05bf1f10b1a152761e7b6c6ddea863a3c02224256092c70ca70dc185c4c385dd98b09e2682661e1e66f71d9c4037048eb70e8a1cbe57de87ec43713abf5fdcf63b9c482f318e3bec37e878dadbae15a02d731e6c8574eb14c059d72f73be5174add786d06b585a28a06d349d8e434a491b34897b3c1ad786ec8280d7f57edd4fbc6aea5485d659b59d393e331cf91e6ed76f340fcf7cf460892fa7318fc42b883f61d888ad982a751accb613c66661fba5f3d6de751a6a9ef8a4700316aaad04e991aab7903f4ef012ec2a8c092234e74ef335daf360ae47bbd2bbc6ad8c1a4f81efe8bbd703cb55ef36b32b4e30cb5a3b165c02ba295d0e1c40ce6ff8f479a74f01275f113ebfa8ade37a59ce70e6ca2a6f48f1be085f61bf772e2c2da523a2cfe63e99c57bdb1ff23139d4fca49eff7547e9880eefd3f7511a677efa23b52098ba89037c48dfcda2e8c1cfb9f892161049e53f8cee55256279512aecab8c441600dae0fd957883273047cf5c66ba209f830aa2ce0cbe41ca08c0cef4aed7f4324009200661a7ce680e5a8df2d051c1d8b2f63d25d8d74d05c75c46c8f3f24d625539e63459650960498a54ec3b16225bbbf4d3930009df265839d72611f5332a904cdebada108236e4414a2909ad01ec44b9d7f75de4385ad7ca5152e890a0919b3639fd1bcbca3b737ebb8d9ae541b1271cf2166ba15830e66f3d3afd3b754a7f81ad4f0999704ae99c114907c5be4a4797f13b80564f234723a34dbe137dabfd7fa23562df679f54a6ab54def6d63deae9844f72fd73efd0413551f5c4b9ee826eb3b7faf92a59ea34a16723b4fea14d1c8815a4e2d39fc48d1dbce526a7c53f5a96d0ef6463a0cee73fd3505f5c764a264b83c4a21f80e8b61c82d24442d13da99d18dc1b2538e7a510f6093d9ef2bc5cc777d4f98411e93919eddfd69d6e20d227cb61c50f358ea227f4de941fb080c1cf6b1f6e25533768fe133dbfc3f9d29c603bed38aa3c5af5b81a706b0067b40b88f992610d04c7cc36b8f649697cd6a93fae51138161891ae75a7147780fc59af5a6e18c54f9d2a4fe7fa92314b399afba9a40d0cc24f70a2593acf8d179215e06b7a9a88224bafcb2cbf60caf5fe4ff38208a70793b5dc33cd572956260e1c86312d3ba9b3a4b2b44376f2e78c616a6c0880ac8dcbaa30b9f761d500fd03a8518dd0509157b184a2d95e0caf3ffc8ac2db6c54d80c71a1e5b9ea3bf51071e2118af204123daceeb04e4f6f31f32a4d3fbb76ee49440cabda2c121c1b99acab5b87cecc37c3f9066af34ab29d6598bbfd91047a2ac7ce3a8f3027ff5e6d743506f161087278896a98ed37122ba208b61cf54d3929555ab06b564cd5e4f46f4755a6cfa2ef2b30d29ea66f2749d4060d411fa9160c91b6f55cf071ac8222c6313df18759e2958cddfe3db4cbeb9cd39abcf5f0beaecae8437813995cb7ed0b87d42ca942ff7245ece204798d01361c5f008e0d82bdf76660515bc78f7f8f409ccf68614b2cb50f5af2615661326fd971bc57eeeade60ea906b8df1cb0dfafd318cd2c396309c329d0469ca192aa8f51d7c4227685440f073983255baf054b97b9d7be1d1470d7eabd5c09b2116b4e86b0567b7e97e088717a4fe3dbdd310a1c39136ea4d2c47492001f9885dba03bf97e7da376171d666441cdc2f999db137603d57df32b4260fa0165e82917bb1631ea314e7a7437e66fc68cef22cda8f456d6e583f6e3237e0bc79987a9103f7cf0918e26881f67ea582e1ff3a49177599d385bf6e42572a2547933aeddb826530e9adf30dd84c3a7fae5c4c26f6c6f3a9f0906decd314e2407825abef959c5416d18a92ff34e6c521a16e8a0a29937c77d4ee99b41d530a732acbe0bf5d274df9d496b47a9a624546bdcf9976cde12ec989cb2a70b33a7c8a3a77652023164695f9db30dfcf587f0cd4f73e385730bcbdd688f6dcb08ba0efbb9f579220afefa4acfea522e864fce9b1782ce9f14824d16e9d33a2609c23ba3c5a1af02549357a0dcc12e37819d778021762cf895abeac1125b744c8b8225a091e7be9ded9993cfa3ca9abb83e25c8f559009977a2ed9374a89619fae5ef6d164bb73d242004dc8428e44689b33ee3bbe88bb4962ab0a32a90e7aea044f08410752cb2d7aeaf3196648a3a99092665b478bb394b48f79b36db0efc7f50d6a5179c945f5298cfaac5e5dea715296f92abce7281d48a0c9c6b785a35ef5f1697c047ddb254fe9a8ab9f498b0c1ae09ffd01a3d8d427fee7e36c51e0e5c2fee2245fb8464626ab5c9857ebce91f7d22bf024d10c2d71021cd69268472de419e6cefd970cc3a8e4d1bbe6496799aa7f100411766e712aff08b731460f14f9d7356db12cf8e1c6121968dc68b1d81c086b325ca4ce6fe1f476707e08fa913144b757c6be17cf93150db29544d207f09a896f33b7335d9339215da751e7af2c6bdd19db6f521af2c8a5998dc607f97026d07111488741134c1c86eba123273d1fd5ee4b471e86f9ae9478a04c7482076ab34a1eca5c64f89e5106eed44bceec019c67c12fb4db4fdac153f4ac3b63ffeb6d30de58ec039e2dd3c181e254cd94d0a2b0b44490384cc5915b54ee1db2b6d059879bf8126c9ca976d0f7862da07ecd350930a081810a7afd72b2ad3f65b96ae9c7f91227a2b5513a559f36b90fe01be9ae5ad3ca65e2c26f358fc26b858a3633fda7ae49a5fb705220a5819b3cca41b1ccc21d7c40f5fa9c422288efa5394e4312675899d704a2aab62b8363f58fd4bc12a8bea6ffc45b4414237bf5f019321206dbba439acb5ef26641f30fdac20f964354bce94e4c9d73e137f9806deefaf6f4acaa0e76ad4fef9f6cb7fc01bbabda9612c05adbe46afcf94819e8a4b4b49ff764784fa432d47fb6d4230900043d1b4521cd6839fe8c5df4d1899fdfb13880e207cac73f0a29020bdd563bd9c2f6bcd1ec523b3e03ebf6164fc65af001830c51396f9df2d346f83a59cfc82201cf1150ea57259d579fc2ed199b3fbe42d5188c84e4354610743e5b23a265246313cc63913f17412fa00d98b379b80b96d936969572e11316bc8926cb23115186f3b2387b82c3898fa41bf16a308da62d5a3eb3609af1943fddde08a4036eb2a41b7292caad9eb082614b02a1fa255bc7abd4d0e3b4ec1801e131e68c7aa9da1a0ff10f9de87dec8fad1ad8bfa99caa49e203a7b9c33e044d4544a537471e7a452468b821959bc488c6b8cbf81e90081a26de273ad1203cc06adb6af242ab19f96c1c66b58c37e2c9309704fba63af99a8d9c5efc651afb631fe9f546b938cc3b8e526c4159e5c9f7afb29fd1d55fabf09367ce2a63a35e7a2062d1c772ed981fd77157a847f687a177cf9886ce41df8cc509302b46bc1e2ba896b1c1656a1bbfdf4cd9ac39cf8510d1c823075f16550fd044aacc8d42a56f03718f7b18475cdc3999faeb25ab3dd8a807ee04d8e5d831d08b4e309dff50330685138797e10c6362636f53f22bfc1f3d5090a5d369282d9de36bb4e2505411ccc6ea395afa1567b15a2fb4be2adeea7126b1a8e80034105e0d98bdd78e796ce1cdc06a4ae666fc0baec5c52614340ed997673e26ec47c88846c000bb7c9077337cd44f5c041fdcc64986e5e1c0f488148f0ee6f842c44c0b72e82109270341bba6e9080b70fcf930d0f10be5a36798e70111fed72727b72282ff164fc08319d74f1f57cde71b57cb397a9e753f87b97729bafba017a24cbfdee5dfe7fc296c112e93bb8fce560ca80a3afd8370baaa79ad783b51352b5440b144a47378c9ae22eda5794328e95bcca220fd07bb56915529b155c61858efe89ad36a79288e74c0e251addcfaf797432175a5562b46eff5e3aebeb74623e18beef85389383c604d8884431b07dc4bea0174aadc337ff41f558a63f16690feae47efa2a5d1318b7397e1e4ba398727d286791b71610e1d78d32800e7e113c12abf0f60b6ca4401ecd23b7aacd990633b2b017daf6bfef1b2361ece74b7dbcbb1a73d4bc1f9d2e5c9fb0b7980d25cc44d1b10c09ef5a6a05c84669294a5cadf0cd88ab449f9f0bcdd8c48590d416c5c1feaa494a2145949c2a3373df7c6014225f2745bbeb20ff294d22c0d96ca111e6926946207cab56a03162a49e68968e398f70690188ee3ca847ef421742d60b9a6ad029e8a3d607950b2bf8ad8ff297cb39acc94905635770436e134435e28205140331b5100d9f64469792fffac87bca0835cbc617446ff86a7b50418c305f32e658b32130e491e38709fd3697017ac8084cdf1ed81a28375aed092ab4e32ca88a933154dd3a9e99351acbada926b67b310c7070ac1a414a28c5abfe1f45476249a12f18ca2d981528d881ed3c5072e46a6eff3cdf37dcbc89c7f79c88a1f8d15d15beb66a0e4440c7b93e379c4e2bac1d5c8e85f1852887e2cfeb178fba1c67dc2adb0c87df8ca4444ca7f455509f492effb5001328b8cc696e2933207a2d78bbce8562ca34a248193c914406b161c8141479d891b0c6110ec1e25cad38299b489f2ec437017cadba67dcb58abd4933c95b35707118e47b8701a7d71e446e4b62e2941d4281faca0cf22914be5aad80f47102b178a6ceb24e82508fe55a92fb6db70d03d1c1ec09cfee31639341756a4630a0eaaecac7bfbddf9d30c42cbd45eb181d5bd341307ad26f496bb042e2b655c03ac3dcc587acbf50f79b5c239be9938b62d3251b199f8413b020605d5d0552cfd9c39c9132719d6d0a326b000e12fcb51bc274df79d11430060d05978cdd50583f1bca82c57dbee605e2d00fcb5414af13a596d35cb5ba62de6a28cbccc857d23547b1c7fd5ac8fbf6758d5b8451fa46d9acc00344dc2e565674b1dd3547eb8f8aa5fff99042f8d1d59e6ad2f53379211e6832fcb68f5777eb2db85b28f724f4e4ce6342cf55713ff7b0cb4f7f47dd12a6566b86709eaefae024373267ce72a89e7f3e42ab48edcccc96b5d0403fe93a927e5ccf470014f220b8257393226cd7b996f20e6a34f81206733a9fdce03b701943c1b560d3eab68c2c225cf7f7f2b56123be2bb173e9e5b37f4d3348f6b987764ad07c2acd44514ff264d7eda31e5e517a179414841ad4553d51c08f435e05f10aa82d74b97a9ba3a133e6c9175fdcd4f3dc9c16d3be1d5bbaf13240177081ac1d56681bfa988a93af09868afd608520c0bfd71d857a6661fdaf6f2e166987eb007449dd26334ae932c5003fefc0f983b9e49cbfcea325f2de16a9ae935caa46f5b3433957fb370971ed957f138f08a60fed5b84995e428e7ae7d5c22021ff016baef0e713a118344c016a99ad469313ba7f2452da0dd82e019f64aa229cf80a69b3e08ac5847f10d247179855546313232f23e055c2f74ecef14e0fdcc29a9bf0976fbb249bd5c7903183d2a53c70960a183630e7d4928daa7091a85ad987d2a4a5b8f6be6612fa72d9fbb33c67bb38eff19f2e784f94e0354cf6d35a5b2c62233c039de3734b38e97ec72bd673fef09fd56fec329818cc68cdf12cb52f7d37a8350c16e94208880bfcd3e895d7aa4489e3dd15db4a9026f0d2a46f1e89c35845dbd976a1992b87c15a0c7580e6424b8792a7bb7b933d7c5433d4133ba4dbbcf7995d6ed3feaa32f876a287feeb9cc6107778c1f83e0119d980b9e994c2a3ae3de24a103efb3cacb746b49d1ad85746b233ab4aaf0e988ec2a786bc93f32040d3bdc3008031634cdfded5ac95b2279e096243228296591e7ba53c4a127772cc4620e6b238ccad250629194533d0a669ff3366c52d64928693e0b0cbb0b8e2c6029089d4dfe2b4b6c5dcd85f1a02770611e65001e48a32a8b0431a3b9d77fa3a95be38a0436a704c05a8e0183f3214c25531a63796f679bf72885aa766468d42b2543542d7e82544efc5c5e81e6a91a0f5d4e68000cff687d63e45c9a11d4ef515050daa592c9a828ac7c0488e7cdb3d6fdaef5e9176ee68d981ea50d386d74df3b40660351736deb03bfceb721878cf9894b0302df15964242ab6b9f77f98ba1c7993735983d2b022600ab74a19e3636e1400d08ba45d3a5c2774cb06a1c358bbfc11d27efaf7ca53c2e7757c8c76da24707d91a4a5244262898d68083ff91c514d9b9b1ebaa0cb0b10254fda1b1e82b9a1a47f117b5b280ddbec1f6732d11117ef1a7a674699df87fe795d1243cb9c4527e364e2b711b6562a87fafc130ce0baf1701686639b05f0c8dc708f008b1e6ab89e8d623bb83f3d54b7bcdbdacd055ac4eccbd36bbe0af0f65a00e3d6dd985ae8851d176976cfb5816d1fc2a63d3546aecaa4e712ca6961d1f181315d553de6b53485faed0dcfcf819a1ba3badffe797377d3d1ddaed8e7a0acc0c3d277762262a139f94de49faca167b11bf04f2104a5ab9a73367a6461f7124c91a2c4229ef98e6ebde9aac283c7d029400d71293f488ba169b62c1e94689cf5b248ed4aea62b88d65bb764cfe27d5231a58486e7381df518f4ed81cb905108c54a5050a94ca0e94da20d3794bc5fab9127dc95b6404b1e27b4e28136fc27806f7be798444c33aca88ffd45b860eba0d5033839f5a092863954604f1952bd61dad23b11643fe14f3ade08116aa2c13eee701ccd13e506bd65a1060bf69579aea8c8143cd38c0891a3065f251eba0c20ab9c69ddf28e3bd6400cc203bac8de1882239ad4e1b97b0ae2f1abb7bac7c0d8ef82b97ebfb1f5577f06a3a1377b09ada4db87d342f20ab0eca4b9c206042471307511429cb57a578211f92d3647189861cad9145f5eb26ab696abe50a2a6c1b469df97da28aba4e79b586c348a430f5ea61c4be1032fa61d18581f05a07fb8707c8996e0fff1c3eda59b992687fa12483b9327e10224b20d42e8b3fc4670bf070ced602283273d6818acd1f6da567c44d3f5e1377065d43d87d889843ae48e7fa8ba1634815695b8c480ca271e6e833799c70da80fd79acc09b989667a2294de5da73f0363df9a33ad4dab8d27cf7bed0a06838672e3d07d52b6396e9b5576021d5e925abd533bf161c944795065fdd44e8462e3070c479f1c118276653488dd9b2f1a673f8cad3612ca1fab4388ec9c8f834a01a499adb7b3a9a977672f6d75b41bbdd7f91ceb7e7a88568d17bb432be9e4e96e115075bce197ef4754d2914c2c59e2d7f4c08f0dbe34d31f229428f211bf1d7e8f5c319ed4a8273cb6255eb318851ac4557b0278fac63107a54d407c42f300b843a12abd3b893b46c7efac2e388ab42b87aebe2543bd4c15f459bc50aad10ffe1c1196fb52c26e54bdaa7fbd52451f207ffb073ef4b3f71eedd7da40c89505019739e3fa733bcdc84ff4919e8fe2358129ef28291be1d6426b8bafe88463b1d3cd7273745381c7f65221898e6ad361e88b24c54ccc7ac9a830145b6dc096e2d71ef71ec4f03524cb870b724e08d223bdec2f6fdde6200217a13b5136004d455d66547f5a1793e0cad85677d49e5c558852107007c8136812cf021afaf6f7e8f59883371be46cda412dd9c6fcf187c31252ceb5758901d39cd5355ab386d9a7fe6ea46ebf277aaf809c3023211ea9aa189de4d422080ebb9fec50ffab6b95ba4ae5018accc497e79149ed6047ce561ccc10e9194cdccd5c9fb75175c8dbc9d0a916ad59288f010defbbb50d263041ab37aac0f93253bef6f898cd0825d99d27224f26181f9713b8979da64756c95e7505f25a2688960d6155c3613dcc31b6c337a6dbfc6b12cfde1db22b93bbd5e48534fb0bda8b212577a14dcf665c834b0bd24e5f624d2455fe048dbe930328d7cb632db3b0e244bb5d43390b420b15157a339487fc78976f867d3a361aafdd3f50a93c01882da7c220089a544381db22e2c86b228dc2be01820468460437588952a549d37498e529e62aa62bad1580546bcb1e9a6ed1870b7838d05d12f6e3a041e78b1bdb80894626f20889ccb3a468aa4fb24b9c87cbb28623ce59c6b3c6286db366d08004551a25fe4d8d194a2bb7c52e1c85a5fbe4cb15b171489da121bea1c469a6bb185d63213084e3a81ee54dc03a94dc5ecdda7bfaad1df68021aaf4627c9d529f13e5c81b5ee4dd228949ca16b9a61d186211d153294470907557e5e14ae665013f285fe4d3766e7b3d8ce5e2a14692072d4d8f79354bcc8db8a2a36c8bcd", 0x2000, &(0x7f00000069c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000066c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc000}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000a680)="f6d4e7fea5605e3acf96693fd7a12829d88754d5a9d5d357303e5b219334581da725e7f1bef89561a11adbb092a11de0d5f9dc2f3cf465735146bc4bdb3fa723489dbf6fb1cdc3c0e950042fa2006b10914a21b587547dfa08d0c47d775a81ef076d2d20c3c5495295aa7c9f92d23cdf46c18970d26dc543ee819f2535f1ec23a51ad96b5f90ba1596ce77ac9f8c24e70bd66de4b06171942670c9f80d5e5b11c89eec77eadbe365d4b6841372ac893eef6c65959ad3dc032d8f3a2488bb688ec1880b157fe5e791a1ea8d1e429a07a0d16ec5a299b4c6a86a1806dbc205cf83447e464089482eab197d934120a19fed1c502268d8893eea7c49e0ec7567126f1e39301df58e359652c04a6091dad04c3b99de12734395ce64da829b114cd5e0bc2f84b6265d82d359876a6649255bc1f3601f785d89e1e220f63cbc1965d4a6651c7142842d26bb388d8b7dfe105e48222dae1aa263b5346729a6af9b749d825fa5924dd4e017cd3a0469784c49ee084f040b3addb29296f7c3cc1ba4eee9a669b934ca7a91f89708b4f5e78b89d01024d502c1cb186f5470ea6e887c24ca2db76c0f8e7d3f4aedd2e2ff24f4fb72853d1671ea3ed6e146055a53653c89de211b4b6fd464f877d2242b67d20dcf45aca9a162aedcc1e9b5304e8849ddafc4ae8abff6084f35c8089bba9c57e1eaba414082827999f1a15dd184db89df33fff927341e77203a042845cf94b8ccd77dfcd6c31e1ea49d851fe3da49d6d6493804ed6aa4e0a91e480736d98e33d5e88ac5f8da8eb71c5095ed0a635297e5699890dcfb5e7b7b9a4b752ff982b924c7ee638b891db8fd8e48a26889c9bdca6fb5541c092b537b009d85cbd1687e51c39e7509b37a3b23a737480b9525fcaca466952d36f6ca33721433b0d2745fbdc1cfbe9f45e970bee0054adec5ffd02633ac18ade345b48e8fd859a5741a1189e7355b78d82296e3fa3953bd9760777e75eb7af26a3634af882977f081fae538786824e3a4bb4142293c6654c4509cc3faf3ebc7820dc13e97d68084a7fa27d50196cf85f8a4a76ac0c9ef7964b2aab63cfc82e02df96d557c56761356984e366871ee658ccab94bfc3d31b880f31d7335653f84e2d99d038c2f260a70f88c71dde90973b30c3e946fc6b31f3cb45039a46bcf433e1b17ff4bfbaf6a9da472388557b4e0fe633705b985c8be0fe6f82036370d9cbba6124632249a63b3ea5b979bbcf0edfb1b9f9710cf025f4e6c7aca26a35aa58e6aa199a57a90cf76fb6f2107655af64daf545315543429ed8e8dc4916835db11886e9ee59c3ed76a42fee1857bcf465cfee71744c440824b24b585266a94010a25f676fac87457270facc06d7e3a7efda513e6421f203abd9d9ed4211fd2de176e36d33ac1451a4aacdc25940a17c1c944d8d9aeec466af230764ca02f4e3b948721e6b5ae9bd27888a7a529c13a985118384337c25bd067bbd4d7148a8c3ad5612eb2c3cf615c205201ecb9e10fe0e691b65eed425f7592bad53b358c74c96abb5b735d78626dbb94953bf3e6ac51c6b8b409a1a8cc34462783a5377e7ee9fe76847109e2ca9753c8b2cf9e330dd1bbda4bb0cc510875ad89c1a5cfa0a95b92dcc4bde01705dbee82426354eb9b35344687f12e9284f4220de1d8b998425554c92aee9e8a842eaba6b355b3f4f4bef8c985fde68805c7a1270d6d96d998d872b079e8b4c98f11ebc97678239c74487c45499ead43d4097d24bb502703ac7175c8d886fa75cff2ae1c5a60a3e0be18c8882d17d984a00a191bd20fd2adb8fb077dd268b20891bb8503ba5e81fca8265e2a6a1c20096c3232f0071d91a3b3a4cf86c8c16cafb3ddcb4df34d3f386d31f617a358ee292326adbc16fbdfa5a892eea8cf4e356dc60770ba90d7d204126d6d11261c3c4cf1c720664ad13876c6da4b330e315f17bc23cc945dec1726e40bb4b8c180ae3b9b4a8b703ce834ddb7f0ab58ded7dff25c796e39fa9f8fd9145c68d07133849337418f3fbbe6ce242fda514b45d2ecddfd22989446662f6e7840b98bcee47466499414a3c7e98cc091af650b10b72181ebb8b1fcbfa92987c794f311488ab7b728de7e66949c1b7e4103b21ddfee193e124a05ec46c3b681f9f921c91beddb2f9fbd813ce0ebc8d8bbcfa1372612b4175c0a4d17fc588ba2f314f9ee95162cf28bdde03a89e0c816fdb24c55a165e494619441deb0749bcc22b149e26d0ae08cea707a6921146c121785a02debde1a33436dd289e2ab05f66672d6c6827e3a7cd8b938e60630072140a6f48ff8dbcbd81f6a4fc70b7493720f18f2847745f4bbe824dea16b7277a361b96ce36a84501097bb9d8c5df5c944be9e8161b6cb1a3f68ef3344752f2b03a27e18c343ceace600f3d5257aaecd7a76f5930655e77bb911434a1c3a7ee4ae5877b73efcd8c73efe9c5cc773651d9a914c8ab0bcdc092af6984172a18e4ad2e35a70b8cf28a2bd931660c0c9e988b7b47549390e0d819e323558e6c5005bf8d74dc24bb8ba785f5d4a63349193e0bc97b39927340d9ab9defd315b849331247a66c473d64ae0bc0477a756b2ad7d3d5e79f895f34fa8b89edeb8fd2fd778473d97792268677fb07f998cd4cac5f42a2adf0dcd44c463ba3e5d88a599b558bdf16df0a92e3487cc385dbcf245872caf489ed15eac19e4370b515a57e59d174717de9eba45e3f4a898b471d1eeababe4d457d1103c58ad74374478b4873c9a72d6ac4651b0ec39e047d8a9c41b48333d7110903ee0801b9dad215920f7b3259454c129a137b5ff38dcded8a80951a4c9ba0d2f78bfab136289890d98afa843d48a3ca568889bcf66a464d23c1230685e2f4b2ae1ec53bbdafe23561ba7970db79206c18f0cfbeb7ec0cbc99e4cf56ed33991d990302c21c2f372ee2a1e1e54726cfcbfa9de568e857190faf004ae1af9b86e770cfe8e01089a82dd3bf3ce2bbf401097d7840d8dbb03a3cbfec1e55971405e61951043971f6d01d56dc0939eaffacc1634dff8dbbfc48c7485fd24584bd1eb5c85c05b2713a9199845d30d9d296294f372c490ad45cc4d300bcb81693af961c00bc52670de18121d93e65abec26a7584bcee568cf0e109ce5b5f8c3301e5ad73c8d0eb6812997fbfaff4236a73e465a0891aab593a08fde865948a2634ad4645a0e72c70e75cba7f431a80f5068326f099fc0fbcab1e27156a8e79ec02720c9e5c34a2db3755d8a8486b3d340bdd480f6eb0983abccdd448d1ca741283ad260c167787b5fdc20be7041c31a4c74bf0cfd669f76b1f5f503962903bb8e5bff7ad7b85e880851eb3039b7f4f81fe5329274735a04b941ffb42a7247b86e034894aa6e505abc0f05b8991fe1cde30bf02aa195088a3f56ad1356701a150366394f34b417ab2babdf6e7f9182f49d2b1965f33d0a0172b8a50704bf3504afba35a2ae7c26c494b24844a5fe344c8a7d27283297344d6f078a5e7e858db85e8a27742c9805110cb4d6aaf6711b74a256fd556a2fd57b7a1705671043620d3b212b5c44ca2ffe3648c6354ce02acd23d124b018b84dbd4099bcd8c6eefc565ca5d54372cf2aa83f3f096dc9ca729ebc3aeb95d4e486d83220ffe9cc4919f7ba51c6d86efefcb35e7dd27f53f84ef096745d6c744cc76bf91dc9ab3f056c1fa5ed47a688e817c5af4a86ce9e80ad3104321645f3617544e25eaf1ef15cce7adb0497d0b139af17a4ab77517e93f323319e6f61956a1d0846c8bb9fad5876df018c19893db45714a976758fc54865614bd33233dd2a1d0ff244ab7e7eca83328024129a35dc2d1a9b2ae688c631a1e108b0c3a32aff450274deff0830b453cb509053308936d0b6444f14d13a77bf78b80b5b9ab22c25c11d457c2efad8b69031b11cc5b16fd246b60ba089c4511d44a3547062888dd5045afb1bc6e204f6be6cb9fd257c6b1f4baed1cb96073c9ad88cf3fe21125827f9a65fcbef13b29da2ad07022812d39b17f1ca1cead90e8fb13600bbcf7a19b48063ee5c68c8acaab23b6ad8b76ae703c5e1c4c5bddcd704bc87e85c514659e3d28781cbed77761f6d5834fc0c193d9f28ca3fd933a5b5300f38bf858ecbbabd4ad481f0047e15e51b6e13ff20d90dd56ce467773be17072c353b08906efcd3b090a9e7a0ba8c903f3bd3b4e09ec3ba22551ed74e52663b29317b2b6870d8fd0e66c9adf10fb1dfa0ff441556e017b59f1017a978818228246c750cb04c581b1000ce1527b51549cb2dee14a804ed9c7416ceca3ebc08dcd53cb5b270ff2bb71550f5b12a538f965cd0ed8f71edeaf4279c6934fc1c51641812b83e22fccb0b87e5329203a1b94e4e962a4681ab9277934ae8d0ac2503f373009aa6c7c57e85f052ef7313d2e4b1bbad2515cf0999a07fac92a139958f379ce93502af16fb8a4446fae9d9c9cd93d61525d3bcf2060f2130180ff85a7fa04db9843cac0e09015c149ca19957cbfbcfa60ff97f47db86e1bc8b701540cbd167b9fbb70736d9069de8aae02a6414d9028a0ab6711ff0792ea53916d088c560a0825d381317b5180947400fc7641f4ee9d97af9367c0bca78581e3fc4db4fe313bae63b2eac82e8390c9cd1a34e09f0193c2e0e9f8c91c966a76826117b3c6b5d886111527aa6bd9c996186b22b643b05d77ddf56cdc2fd60c7fe5d3e8e6eaea6e8dc28c121e13a1c748b5ab708628e1a2118ec46b569d76fccd680a6ab1db1d9cf4be3f2a46eee8867a2abc059b16cf78f116602dec3a3f0510df80f58e4b8fcf0f42b3e58e7e9e62f5e4f0f5ae4fa1e6788085a76c8ef453262b34a4c927a1ba55508e4e27586aa872dd601338459cb1e2aa7beda48bb8179b66a4f2a3fc70e2fb1cbf021e3238c1fa152fca00b76f51d67862eb6a71665b93506bef8d460a18010d0cad7bd2da1a7c1f7ed48eabb3623d21dfaa6f0a8a4ac45d34a23b7204174d2d2e5f227e077c1781e86a639a09af4f9d948bf8ad8b67f830f90bb5635255445be7c9c5f425a108f08e19e0c7ba7313c41b01534c813ba71b0d818668d6c8002e6502fcbd0642975f06def6e0fadebfd3208d9d6814b331e03db3a3187fb8f2dc9389fd17ad73de1fe36bbf4e8dfc8e4f3e8df40e3055732e168c83686a8ac4181662e95d8f3e603384c9eee4188ea806619294d0e8550635a6c61befc0dd7a5aa05258150d578c46655049be11045ebd7b4775908d19357dafb0427f75a65c4f16c3d60390e70ecca3d33dcfa74344581d589c162d01fc0dbe78cd7a85f2b20169d2941ec5c5fa30fd08b8bab75c754cdc2d1e6df5ebab6ba526ce83775bb607f2c03a84dbd404ede2a151e87c6506d521ac179099d03318d5f5178a15a95ac000f21c628c16160ae73a49458c0300bb6de6d168de894266091a6ffacfe056a5059652d3e1053ca3814f8675067e67939625bf9442882683acbbcd381c994262cdf8ac10f8de805c152e52a4ac3299dcd55ca6838224064f37a7227517140d9366d8e9ddc7c67dde40ccc033b5d268c974f282bf6a0f24341c6ba4d952a65124187fb64698310aa1b63cef0d91e26c3ec606efdf11cacf96a1173b575b15b29de7b2265e270733f1834ad701e866bcbc7cf30e0508b1b69fc2222ecd8eb695f84d9bc72a8922e6ed036cb87f510e8347a8c6519861ebf13ee5c6305a650cbcf38af385791668c90b8eed6c6b355a0621e5a74bf29c774ab9d096adc2db6781c5e73fee506293f552e2d6ac86dbfc11cdbb6b7382be2f6671ea7480435d9d000d58d9b9bb834aa8c14a87b6235d0d02264f6490ed1ea5526145ccb18a9c43ab95f2c8a3c7005a1a1eee1045d6d75c26d6eeb6a63778f11f8957ca81a509f08e81a6ab50dc348b148469286eece82ae82894ba257b196ed17b6fd735a70bc600cdcc61bf8902015e2b03134c9fa8027971b1b5d7caf9da11486559456eb684beffb8b32e9d52ffeaa3026065c953d954f11bebb056b39a355a7e06a3319cbc8ed32f56508d4368e54b59b116475c26bd078ad26caf8f8f589da32f5c894ccb69239a00eb5efffe22669f2f74416ec3ca283af09402825be668cbc15cd21181a91cf5bbaadcd9ab33ee9d1e5655161fcfaf1e73560b525e91a3cba05122899dfd7b905f7a3958a860637a932f37afc2d9dc3a6747af972eb64df8190b2d8f030504f689e97cb123934512a7b52defa328cd421a593d974372e004059a6b70322c37c90b19225d8efbf6b391000da80aabfc6878042f5586f11daec9132ecd3edfedbef78e0680561262bae65c3c157369a6f38bf5f2112884fad6d05b6928fa65377a5dc6d0a97a263666b80de1914061945c5f46a0b1593f124a34d57cdd517cbbd9f5c9781d217876174e4a6903f575f3d5a215ba9c77ad01a70e8a68edad5ac577411904e08a211eda922cee6ba90a2f3a89d00d29bf94d37dca86cf672151a1da615ebb19c64d69a392d34548ce4e161003c0b38e903b0600bbdbd50bbc180d4ad5addf3e494ba510841fa2210cd59641f1f7ec1549d74629aafd94445cc654dfbfe06e18602a352b548440878534eaac327c85e3fbdd73dbc07a809571790ffd206abbc18c9655c6b09c765781ffd7a34c8dd741c400e66b43e46daab817f4d622338779fe484ba554fc603bdf651f425fe49cbbe2c7582f7c60e87fb1096c6fa743065c2b47730b2ca722b55fc153fe10954fc1b8f37e00f85d17d22fc2084fad3b8b3bc5dd983aa911cda7b57a11660f70d2e6feacd85d4ce5463f14c33265853b17bbeaa2b014f39e326b672f0c8b5f0c12df01d286781ff0d3732aa8b2e2591722fd04529743d383eaa8bc127d9d8ab812554f10bb7056d47ff1c7a17d7c6091141c73db94b72703280bb8b3a2efb7852d5e86e6eed46d0d6c7d8a306fa73d50e7ea47a076759dfc5c680e84f15563b262ba0ec8f606883695d220a23aa6471f462127da6a822215909065108783433bcd0a6330620617e3160454fd90372d75e67fb2277b899a8b94307484426c1dd1dab6204c3054b0828b7330d45b993bcc95b05f27ea0fe4aa509ba88e4b76b8d4da49cf1b5b88a5981754e1878a6f1732e2decdbfb71f110605128e1c2a8043cc81023ce38c615dd7df0c77933918f405f138f95157beb9890ab9a8bbc6ce6b774c4040e58980605cc72cd09e996a423fb59cf538493e86019213d4bef5122909c87c3c169ccc2950613c1577fc735702d543cdc527f9bacfe87567cb771f822b2d8bc9758293318fe0c5568e3ae3f8bc75b78fa5b180f14b791577b96ae9773a7a977f2b2e310c6d538db9b05f52b42edc28f7687c98e9cd8f642036c23e66faade65c2deb266e07214cb8726b6d21226a16461840e625ca0422d9fb4f822f198b2056f84116873edff0f6d953f24c7bea3ae0556794e8f10a10b82b709e05c1b0919dc2f3aa7a654fd204a87b6bd174a666e024d20c151bff9954c93ad6fcee84a6dfa42b0b037ea0bd3a72e25cc3db368f4a7898e16dbe13be6196e588fd90c1d3f05180c42f9208cbc3051b6e0171d36797c3f0b627931216ee249ca9ff81f17e907339319b9de3b1e5ed0e924da4459e59d45145ede70816b626edfbe439e9c3e0a61274eef0fefd38aa20fc5aa9d7182e799a762163fb47f4530999e01b8b778a061dd171d4be93be3a9bc3f0aa277eea066f01c4e7161f90374dea1ac6841b39b2e8c36d59bf47059da332cf7b1711b1e0e502298602da005b5212f24e80f0fd34ecadf382479e6349927cd306f3d2d0dd7def12d396de75e82ec7b4bf35f8f3d66befdb7ec33ab2e2d1b7ad5be2e86bf85525c00b05a4f29c2bcea79e7f1997422af9ef3b104496e4f0584cd36e36ce4b3db596a7af15417cef002e9e8156cb8acd4963e9315482cd2021558351110bda51656e803da14a0e7bd442ebcb9282f34ca64e3ef7f3ae7893a3ece250cf2e57825a3790a061de107d426edeb67281d635af2dcce38fb9ef3fd1f1e562d3253864cbfde9ba97a8ff689c7396fa280db80a0ad2f880dbe68dbd5bc9a5a880bfc33493e313f89352b35cc4ddc916639586d2886226232b978caa94ecf00a51d061bc938345cf27027cbd355ded06d097447416921a5b59584b3f4acf68060096bec5ddf96c97bf47ce3309b74dae62fe0f0e8a5c7661508ed54ae2f680d82d51607f45bd5ad2e361852148b25b423f16572eb32ce157be175df95ce101a4c521e83840c3f36dfa3fd6671f61d803c53f1f61b4e4669895fea56f3b8c18c971bc232fb63a7df9e97ff35b35e31614eee40f84dbcaae523259b57a5d48f952abb7650f61b23dd84cccd94f808261893073495295c8e84ddae4c06d312da55e00eb1ac7a36d317b55169f783d62c3b96324a60c946df6a57dacb46d7a0e470e91ec0e6e21ade50f6ef07337bcedcb1438f3f904d021c6c5de7051459a6913577037f6dcb06f6a3cd95275788ecec6c3eaf7f2d69b94824307c1337907ef3505355a31baa58a9d624fac61e52f565adf8006b48047b2a80055f9e39233b3eecc98695d10d3616295f187ccbf65b97a9c11e04a33ecaf6ca1e87114b7e0c3c96cf42ffb6948392fbb68096960ebab61f2a20a1e963bd30b91c143d2534a2655aad492acfe84987b451e8e1d6d13eab201bd481812fb250da8bcdc51bb0891c5fe80e7392544d6d05354de858411fbc802f9fde26efeacd2727f21bd318c63f0a8577ba10ef93d780d8f57d3c09bcfbf0c198bb8542b8cae85fe1246c0cdb0b3e4b54d760b7b14aba7ff7c2898a065c9e9918538a4ac6095e8bde79427149f3e8a328086433c60d238a3eefda3b4792f95d9567da5fa7d52e9e6b892477a643199e9235cced4854f29ec0739cfecaee96d02ed544c8dae0b6958dd69bdbec50edb8f534b58635bab4b530946a86ffcda42521f3be572f9848e2d8e2261ac55b3dc7c739cddc7326e93b4553e5a15ddcaaa0438a401fb62948913b338b43053a1729950cffc8fa87acae99f76ec0a97c4b8a8e3a1274afaf9dbd3e3d9006394c2ef632dc76dd05607f11a31fd9a7d53d40504d805ec52263e8e6aa2c7d27523a09d34d2363322e20adcb25598dc936467b5d766ed55f36fc61dfc34b70f5ca48920b84cbb6e9ea9868805f17d7ca3d3d592c8b4c241d62976edf1b4f675d199b875a0f684aa56ea48e2a5872714b986287efd8be31c1c24bebd1d645c2ec159c72070e41e11033be8b8008630cfaa4e2d94ce8f2fe13cdb3abcc6a064b3de33bd8b59015b85fa72ad7a69cc05169b79d947cf78581b8a3a2179cba45ee11183444a7a58fbfc54ed266de09306b1306319aec46f5a387249757664e7ce36495ad3000445f3599c88c4e4257598681a9b2331794de107af37a8c0c4cd21aa9fe9546d2205f47498ad80fb53a0a33eb9de30d4dfad51a40d4d07e0723ef9de5e36c0d834f0414e2581e19697d413b38de7165297436862063e73dc1084a8d302f90f4c58845561ee6eb4e49c1991daea0ea64678d06fb6939c52335457ac760e79d2667a01ea1728b67ccbbc8739187199aca26383557347396cb81462c8b388aa2e8feaae8aec4984224e14e134e7fe8065d0bc394849adb1b1e6ca4746fe806e22e2d2449a9b05d8732a38ef391529a81d4f1081a607e6905b6b51fdf329b5da041bc855cb948c5c62c568b948035a31192da0e7fef669a7c71d2682da8125620cf2d2213e3ecdb163517daeb7bad532c7e5fd588280f797f21dc18f33472d1966b284c49654634a72fbca0b6591976a2bb68c6deb776e2d3bae8976024f847daabd587c8b18d67bd0bc45a0991fbc28e0d510d9023cb0ca0b0559d08854172f59afb3673fe81a70f95d6b8760b36ad7b1a82ff9bba05ce84a88d86519f57facfe1974303e301cab9d7c7551e229d9e28ee74e8fee3c3d6744e77e8469ae3c1226d184a9b6886552061f0dbd3f5c17e06ff5e6c7f47e4c1fa21e72cbe0819c87b12e2d67a7d6f32449c7d847b3fad265f0fba7a49670b47cb674df2f651aaed21dbe35952c0ce23f7300e28912acafee4901a7bb61d7b94b198039c4e8196d11519a01bf08f222525fc7a3574284cf4306cb81f2126b19f86e3a01e25295ee92ce10e748de7cf395125be9c6a5cec10651363adcd0109e84c43e9028ec8714eba4a60f785a3054948b2c41803742a2ae2c7f1cb2b4fd624be235a413d6e27a9f28e51b04229ec575ae208ae23892ef3a50c2fd947eef1fb341ce2a9d31f09ccf34d3be247e444dedd39e297ba3d3d3b081cdb6d5e44b7d149c0fbb7f204060aabab3d78fde13ce2f0ddcbb9247e7855274ce24ed1bccb6e92e16a3b6803255172cb88a4c39e2ecf1044e2814a6da8042de29fe8d1e4b735567ae1f84cdc274b4cc7afd91bbbf273148630c0847d6a45b8481419b1873364ee79763ab3c9b46ce6e33a02297bb6bdb992e616ebce6a9c2f20dc34a08a6b3e4392a1efa55d2e2f235e9002c9d18338d22a7294af77c3e0bd1dea29d40c50d5f007459dcf06ba8d512298bf6616c7cf15a3ce7e83c46b82e09558dfe6ec3e81bb1a1af1c115ca4afa0fea05af172aed5ad5fd45bcebc253275164d9d951a36b7937fbfbe3955bc55fcd58783f8e23992af1bc9902ed95ac885b141999bec71899c5d143bbb28418e6dea4a31febab75dc0d1a0449eec69417fcb8ce9bc8eedc92457bd43e65f06ef02283564d5264db04699ae0469fb0a06cf5cb235fc96cb3789dcb3421a16878e5c426a3ccd2ae700c1dcf001ae97a4f39c0afaebcdf9266c18b6e765b683f8db3d193b08138dc54c6df544a307447ba6c4550b94a0e3db0dfa0bfa51e0496e5ae11f657b20fbcafdbc0161c2f53838e3eddd9d96ad4194ea01f1d69e55a65e5bba1773ceaa22f4806fe2fd6c799049e1d6b9d4fdde1ab796818401d001a95809b81b1496f0911637e36508f1a0d09fbb7b32e0b2b60b7b1d1faf3236f1ad4ee3536c5f2c1a88bf59137d36658d0a5c1d9c37b267a48766fdc14f34b61743b50f6e85299bc9e0710ca5dded4b7e6dd66dfd8aacff3f5106998364e58737197b92268adfbf8881f49be9bf49e5e6d59967b1ffbca443f4d98f7e6126d004f6ca3eea7d71208a3a749ec5b3485715fdc7195c13285e784a4f83008d5c20520f325fb7738ac8ff9c282448d4492f4d4bd66d9951f646c4ca66f35301abd4d56c6ba86f4ea135879de4df5c1220913c708c4c84efac83b6a441229bdb862f9579ecf56edb6f4955c482ed5d0e0a1e64f9f1e2dd0ba29c41e071ec17c39e2a07c06ea82586ec7ca949f640b4e2e2beb6ab6c5a178b651d3da4854f61f25f5ec483d2d5a47b5f8ddae9989db438ea39b32fb920b1f5f9afe127e7bfcd6d5a36c135df7e37183e13d41188c13ab93760fccf61ce64fc83985fa20c32ae44e9fe98231d775cadd59e61ee36a3f967c0b4335c4be0a8742864c9cf49980ba96d734ba32b863d3973b5867d8788ab37f155a96fbf4ff03c171d0cfbb400fbd9ef037f577c24f3965517193f980064b0d1eb0ccb40b22b346d4757dd555c7bf6183f7e442", 0x2000, &(0x7f0000000d80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000600)={0x90, 0x0, 0x0, {0x3}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000008680)="ff3b3d22b4c0be7705a7c6658b6077fbf318acaa5c0172e004d082cdc01edcfcc326780b13d74325059f018ed75683a656f45bf6d6f69747a390e879587c8427ac7c5d3f69c4de75e8d953e0938506632920a3afb44842ebb60e9bdd7de87254e57fa7db31655bd9c3fafdbdff53275bb2f65e8580b10dd258bee75ed7b6ba1b7aaeca83f473b5db12444f53313c87fd051dbe53b4f0aec2d6aae49a8423e4670c7d080cdb0fbbb9001370733cb44246b103bda486290603e42b7068b385f2fe5be3a2de72b19975aa964b3dd4d3d0260d3b64de59c3c397bafcd847f0fa7574fe0120427d75435a11d32751de5b7d8f4e74af074526e7f89c8c1522c16d1a3791618597b6f7f747c0d0f1e5e3db270ec907934f4fab7f25a17ceb0c9c30012b1a9640f81a3b77c5256c2c9e661c8a97a93a4f6465bc35b82000040dd653a9ade5b5906334e92f948df0011edda9ff8e8621d4dafe780db81fa447e8768149acc52f7a48632a3b7959da5b1454ea1b5b9a394bbb90de4f3c8126dca51f30c4140e5ccc8410c835ac430c24470b5ff3bb220e790ecf424157a073fa7d7c511de2d35002142957cbf4f437618903b8df262ed33976a6b3465c6c2a4f53fde35c7f142b97de0cdfcd6d4474326f705d43d939c30166ffe41c1620651e2d0adbf0dc0a4bab8d2141941ef18795b88ff5649fbfc72003799c181fea6e913dbbe28a49d60f36c8c154cb49643eecef6ed77e1d75689f850c68970b21c9c4e3e5d5a404e7769a822d003fe831e74110be96142e83fbe78324e4107181527daaa5d633fe53ef2d7e16f83e6ae5476f8b8929e674bdbd22ea4494f94ebd295230f11b90fecac443889abcf01260e509d348ed7d3cc572d9d649d50b404adba71c3230e7de8112445f92d30354dc82b4b3fca2d61a096a53a27ba80fd83c2b857cc49086a0387f4ee3d3adb72a30f3548d0282b546037600b65d6c4381028f15df72760dc4a6d5ae6adb018d09576ae84ea7253f0f7673b0179019b2252c2cd309252b79be880446f6dab5c02f5a6fb9506a91d8f5f9c99e607ed0036ac8d52219dc745d711dc8d4fb13355618325ae1cef1fd293c4d94b4bdf2c758af75d4a79f7461d6da0018461237a6de41a26d0699b6b5fcb2404b54f446f197fae40a2e320a330b1230a43d64f9673f2145a8a35c052265827302f772a5fef1dbf6fa6931f8a46078d64355d9e23cdbb91faf0e360c192a5a065d1393341ae1918f4bf2a6034a1898d3066bf411c19b30ad777a0e38bcc79019d176aa1bc88c2355e0908a07a54fbcd099cd878cab3c9dc93e4a6326c31e0dc10c5a4c5be066d6cf78dcca0f4b2f7b757dbf63e199e69c5b5ea469c98dd1a7fdf2903e482b3e0e30330f077e6b394d6b42f8c1e0c5c6f5315073de6819e79bcd021316381b0c60a255ed35a18774ac46fcddc8b749c4f8a22a5f26d2bb9a8b44563f7aaf5992c24382aedfb24e7d3e67e472c09cbf349c23a74418fcb83b0f9d027f46f753bcfea7c19b1174a69106fdebd97635da0f898279c3bd286fd3cbd951a7b7011187298fd7e65f3e906c3b91aacbb8c77048561ae2ead70977c1d6e075c961417a48fd83e492f30cb11d11d0a0e0419373021378d15bb03d17789c93bb898fd921331c832a211fe46cbb1b80464f8da35a33716ac56b1ab4ee190d7af284121c86fafac61b6e3b7fb7c2e8d10594f4084cf3c6bcd94c25b88c88f5ed4f530939ecd93078037ad69ab06c53b9425123114b7f1a91e4e70ba9558543b7bfe57369ef9e0221b7cd386eefb91f1a1be5e6c4f0463d54f7e2f0b857ce772346b33a34fbcbc687b809d19cdf804161f2c01a7c3c63e92c2bd15505f15df3b118fb02da4fe461c8f6b169437576c314e4f959fbb783176e611105a24d9c8bd09b4b57463845d85ea5939f3185e0f094ae4dbaed5729b98471a5d85c68ccb9cf4567bd801f20be2ac1825e39df51c2ef278800081fbbeb6b8a7e49a908635d5d259426322b6ee61ea60466e4492aa941d12082f7194378c5278626424aee2e1e77b9f58b9536296cd4f663bf1566f051cfcb674ef84019aad4527a54a911c846e498c80eeadd8312af7f4f6fd1255cfb584465cad41c86a8f311b393624186242fed6dec9d6fd5fa226feeb0f91156dc8546711ea68c67416b1af4fb8dfc7b2b746841c72ac715b630c2f13ce8d244f4e2aa94d31a9826252c21d25f6e867d33f1310946ba4b931c3b324fc03f3ec936a9dadbc8a04415b23cd51a832a1143c527fb31750818256c5b96b38d17f9e287ad6303a10a31e702becb655acc112546d328fc147f1a6c3b32515727daa6349d4206047db5bc44666fda7e1774efeec46e6d7f54c41e63ac069bf2ef3b0f6049379cca0042b4f060e1632cd5b71404fae88921937e43d34fac86c5b6ae8580d8e9308165d3eb500c56abffda81eb46661a310de197f6c3fe3cc85e2b72bbe26926252c3c11fe55556e5fbd67e86db81785e81e87fdf1a0b0ca12f61f4e7dc1cc74bc90c81f0fda9a663c23ddca068b49619762f818a15283afa799abbe76ce80c069718dbaf184ee02557a7ec4ddbf9448ebe381ad4b102aa002bb82cbc13fc085154255c5d4dc770446dba54682f6881c1c44cb66a365cc807544093d4a2b5fab0ebf22bc456c1c4e4b4f0a5c8e1c293be897fe6cd1b99f0b8f6844da0e721807eea438776847970c88564884ce574d9945e0536116843a17d91df48e3803d3bdc76937d7db8cc4be0c3e408bc6dffb958ee303451b1395f38095b2b6a7a8b247a37679bd38c744f585e32d836855c540a7b1a0859216128eb5e5df2c43db6eee1b392c9d82614e7c8572668fd01908fe4c5858aaf81cfc59d444069291ae8a3707df37ca76b7c737f155400e7d9b3986694825fe487bae91c9fb3843ba585a15c8e65a38324b27d52afc43bd86bcb21989785c6a3e03336e52c54ba320d918d8adb5b89e33f4033c53961dc452e56fadf301e0c49bcefee6f3f7d5b69c5e7cce8e3beb58cee4d1e77471d106b875a0c8ecd5e9e9d1fb9dde408737dda083fed3d0bcb29693f7e5c1deeed6cb5842644910345e830a8583ca5c4895874e040027750d809877c8c110325c4805d2fe2aceef3d714ffd48e85b729955396e4e8d5e992fee342d1dd26159da62c3dbee7bda44b7f6932a74fa964cacbdd3b70598cb4524675ccaf885ec0dcc59ce1a0849dc6e6ffd4b002f67e96f75ad76ef1a50a4c84d9b0d9b58fd6085a9fc1b968c9714589b5e7a9dc6634dfca804c68e56846a07ce1c114f55d15a90a47d248a20728b22a97d50fb3187f034566efe9ff0e2d846c58a5ac09371932cbaadb95c385e01f635b3a93ee4be163273e59b851e592c3ebb20ef9e36343b0ad0c1dc41e5bf133186548cab529479801f2f47d439360a3a7990da6dc0fef359bf4c159d35cbe9b7516afea7bd97e77d61ba970a19c7798c65f93360828acaa6028e187ed6201d6c417424fe444836553c9a923131a9398d12f9b7bc1a9734aa7df6e356978a76f6979cbfedcd2961c99eb57035f3f56a7f7c2f5edbc28182ed95308b2a049fddac98867de1040f5e09025a92d1eec61145a547d9d7c5ed7328af017455eaafdf87cb93b620314c7ef63760a3c348d33a8ad2599641e2bbe830292b6c1c54962c1ba854ae2761e4863f70d1c0fff80e8ec54f4600b14aad0d629ae53f18a7ee2f319e708276bcec46d7324c3e67e76f66e02eff2961051baf6c73816236bfa5c37464ba696b4dc7fe3743137b349cfa88fa8cbe87d7d227be75c4ddb6048753bf8396e4cedea12f50b8a4626deeb60e799f6fef9df2abf9eb7e9b250c7d7ac7bb7b6c2995025f697dc17bb82a77faa5ae5957994208cf2bbda726425308d2fa960e77fbcbb35af9d7bce25a9766546b5a32a82e2fb7d28e0750a0690db3993d059ede0039e45e8cdecb831d7e902b2c15eb2d30fd46a31542bb52072c90fcbcb54eb7f54422c0205f0d7de870c3e349480f75ffc0d3f392a65958fb3b913f2318f28165830a3c780894edfde372b520dc5082041ea6ac4df253993eecc949d57cfec39a462f19331d830f11d459684cb67dccab0bdb741d72f0d34de2cbfffbc8013fa89cefc4521858703910b9bb29ac91917509bf3da758a3b4679e9ba6281c3178dcbab85fc25b15e4c27ca6e76099850df0a46250345b0a655dbfa54db704ae52192d82b1c22c5f6336ab2bd7a605779c5cc8cb379b744e8257f910370ed734ade344949d48acddd76e178c3edd34109f52698bb14d529609f8f7cc323e22ab9ca7d5ec4eba0c680b3873267a13c96a981261bc6e2832e0599b9b55b04898565f512f428fda6a7e55e4395e3a354ac7486fb25eb9f5cbdc03613e074d593fe0ab35ed8dfd545c440ec9302f87a9a39421e041468cbe669ec57928e81192cc74d700e623b60a57f4ae2b10da8f5b1b22459d720c1c8c5ccc858467bf0947d4821082cc3d28f213aa5077112b9f3a869a5ad5ea7fabac834183dc566450e74555e63f9c6ba3c3e6c875756796a935ed6c77788e04666d24f6fa23da2494169138f68f67614e960c8d56a4c5a715b39833ad7c7a339d612e9fe1c66d6ad19a1b6a3105c7159236d2b762fd8b960abf0863f334bb16bc5bbe70ba8d729fe0fe60caf46d300abb0106f7f976e7addaabde919b3a9981e63a38a78e18b6eeee368f35942d14c026ece9ae98841296fb5fa2f0efa15aff6e4d8291c1a8ec0c59d044c2c313220c5791b2ae379ac89372a78ce80edaecbf1c05a5fdad1c7cca6c8c4782955bc49fd26a89e9bb44095314267ef9a5d5478939f8c5aafcdbbc0c9745a9d2178abf332c7c99d9b5f5474a0852564a82d056bfcfce4b6ba58b09514fb72c0700dee026f8b441713f664e0b842c38c85905e649b895177f06613eb16b2633b106bea7a73783f03407cf7d43714b945ee3026bdb7ec186e0db396fc4a2ddb4d7db4a6c3f86b5b99ed9f17f28937e2cacdf3bc405bdead9871f009832be27f08040aded1ad91870a233363359007a836ebb99cf803f160b6c54b91c3464df5a30abc9bc4b4312999cde39448d94f3ad2b925df84b5b9a3b6b05929449a4d2944fd43336f7471a2a5900d8352ae98de0e3142d9fd35aaa28bba62e66fbd29453298fe4c73b7a296eb1352143f7de35f7df94f61833c7054ae3845699ba9cad7ddd4bd417d763a4771b8e3639f642e20cf241cae87928f7599c3bf4fd94a4473201806f5e53142c135a35d6ba90fbf34b4ee741246de55e5206ea674f609e51a10fc840299c54108ac5ab163bcd0c8648784e79cac334945076b86e8e878a45cea4e1b03f93cd926bd658ed640efe29780fadc5ca17ec09f73d7a2f56cf10d9d313ec7ca668c8a3b24efc86974267ac9368f8cfb15388fe0f6bc60e5bc87092b27afe22fb1e174ca461111a6031e7fc1208ad25fc5aac71b27a624ba31528b05dde315a738b812e519d6991289f08ad3587848f4af253068be4e6727815294958d55145385ad461a122328ddc40a6b026ef632965ad75b3d0fcc9ec0f312d6e6b8c0da8b63e1fb1b3e36897ec941a3e9e6c7fa5d38524e53538c37b4293c687a4d00563d6400adba690360488703c303041dc6c2f7b59ba29c076b2a0271d4275e1a9ace0f7d76f470d4bf4bb63861c4a46e410c963951abb86a06723d212b65960020dacf740cd6d056b00b996d9e18f507537700f6119fd1161613eb4c52b3078ee8eebc2cb2d7a37a3c83adafc48a12d19d2c65ffee023b9b03b3803689a5d9a27a076e9d77932173a4352cc1404f0957c69fd7adf9d2c7f9a81de030e9cd4ed5219648210650f8b6be2743793545d3d19f65f30765bb5709e01c3e7c6f92e763471aa230bc4a8bf1b1acc788fadb8136e21c67770e0cdf6db4ec2412001e1d1b82074a8c00f4faf350e79a424db99feea06f412d85b1db976fce09167af8e72a0b59d1ba04e3e3510f8a52b20a76ab8fda43731eb32964cbe9dff5a049059bf26a3a8aaa4c76b5fe2b9a97f5d152209d7c2dfa8fc2252cc64e4af571104f9951bfbe82d070c3549bcda5e65b51fa89b2aeb86d5ef9969a9f968945dde0be30fc0d48b843b747333e71cf239a7117918b912fbd0201d34659ef328d82b9d58696d436f1a6f88a6ced0eb08448ab113ab13f264aa7d27efeb85c8cbdc11e2a9d146bcfccb0c4b74846dff90dd2c86ac81b31c30508c08a289bac1b28410676849babf5e28d429aab2f735442b935a612745e5c532211a2f6fce76e33d0a4127b6356940ddc31441df103c80a93e32098ef7b57b211a7289b2fbd923a15582b9cb585d91754029f8864a9f9be93e9d361201eaa8f0212c3325a8890ecf75787cbcfd36fe0b928c54c9da9bdda60b2b7fbde98b501e5d75c3354bf2ead7edc8a130b28e00ff5ab005ba635079c996af70783bef810c123d44f9c4ff6d25ed59f0adff012c91b09529a0ad82d8d18e0e4dbf7cf04fe43e6535e9e588440f7c1cf323c49a09d33f672b7f5a5956aff476e43c7a36a605352a0f4636f3be1bfae31216b9bfe9a478eb2d5aeb3f5fa4bea1331e09b6cb5ee50a5cd6e6abb356085dff9a109fdefc7e073f4652f59caeccb294811c801f5c08f7e25aed2f39acc6f0f489c7bccf9cab54316ab32043f742fad7a41f32e3207bf094dc60ef408f4612205ba75c388b8729fef5956f11b7f6b2c0d3c1b88d07d1f59a97880e8662e26c136b83ab0eb4b4caec4e4075019e7c2d8ceaddc4ad6feb608330189cdcfda7ecfd37de5e34112dad25f943c5970fb287c68b36a6a1d85a776a7cb743e1e1782421112ed80b225b517355f16a2a8ecc5711ee52363217c446e2e83dacdcdd61e7ce7362259af4aca9c418a38f07a1249f26cae5a44306f592338f6409b168b3ee0cff386264ad116b74cc219459733aa37f3c024095d93ee29427c3809c3db0a1b1f4f2953a06d3583d43f2d8e55a688175b9ac0b6fff1ab26cde397bcdc84c241c01c48c9b8fe5afc6b246f573c35eda9c087b2b674cc49a40b7327efd55daebcc1e601bfef06bef7401dcf1cc6d16f294d378d8adc4942ab3b8b747f3221f5efc7a931fe061307ba891cdcd3a1abd4494585148de30cee439bac523b30bdfa3e3c1541ea171832d3f936d98461a30b07bf5ed597f4e84b65f20d36767ec926c521fe9c81ce10253feb41b532c207eaf3723fbd7c82d4e8f771cde0039a00748140f245142c5a41810bd841b53e709e1a5b7ffb343f86a70de100a8d67f469c6d0d859e5a39db7fb4d97e0ded34817246747efba6f76eb566438cb8fb946cc2b517e3e2ed1456e688242a99c522b4bfd602ee5427a796b084223cc37e862775ba43a53b6deaf674532c638902ac23f306196386a91d1b9f4f5fca605116ea770f056c865cfdf37f2f52cf79222bbf60e09d6d42b7ae3fac8c55aad8f47d4ca158da47257d52bcbd47105ae53f6c0d4b3e019fbb27ce95913d695c00679010bb2cd5b1420e58985004eecda081bf506b74703f4383e1c61180aa083ad278d2d500c235125e5077882acf48fe41f5d9f524013d876cfedd79cea87c3a1b60f8d911abacf0a8b7df83bdeb791e09eb5cd9333f2d3d1c02e262749285a6019fad40719831634c571a58f6922d5a19d1a7c3051067efabefe15217704dac1bf4c6d3935951ffadccbc85eac56a3f51d859ede19a3b57046958c5151bfef867ab3131a71c353803626233020e6b3d3d80d019d258ade97bdd4429bd597d0e9f9deb04b2f9af99c18a33c2ec01791ff784b1126adf2965d3e0ec1cb19b9ac94cfd25ca802fc6b0f324d3c370cb73392eaaf5640ce3aafe256efde38b2ab807b1c42e5f0b5a4a5974161981fc51c8b34cad8dba7ba49867b6ca923c5b8816ad75ef5e1d3d5a81ef328a90bd619e6914f1b3e80c12485fbffe979312b3b633c83073ebc9bcdd333b9d800697f2db854febc735321e96c03ad3b596131f5a3db45ec7e59b15588107543445b65bbb6c0a07b49aa4ffc06dd9583492805af3d893c8e2f86ce503ace9adcc05114d6925807e23dfba45d316ce8272b5a407a8b56dc9525ceb2ee3df4f736ebae9c0ed5db426d8494b8d170769778a19602402b741ac842d3d1757f70813574cf8f32b575a332110217921f54691303f9a0678ba64a45457662a5eb2168a2ad76430ec356febf1bd0bdd7e83ee5889e567f5bd8ef1bf4620afb7a22f08e92be3511ffea3cab3d5b734787ed0f3668fb558e1c6c219ca37148cbfd82ae565aa39b19f1af138d935503eba9aad399d62272d030c776d824e5530d6696dcd02ab54da230e9b73343dbf19db5c986afa232133f15eebeceffc725217dfe8ce836c05aaf1ed0acf63bf235a1b449c14e92a45c66063e64e82ea89ab7734e2bc29cfbccd4f93f21a99a2d82c6e228b19e88b35d3c9c99340e1770ce165e2c3cf8651f6639f80c6bf49263b902a4c20fb4265c13f8c46835f43c428bad3ce7a43b081e30002415cd1134447325d8f4792e7f4a9547940d7734f09f4a38adb2193134dc62a6f60a81c4d0e42490065b5c67fe2fffc703fd49d1b2d23541802b68750cacce77650eabc728f6ff308558baad62d5590aa8cfd43589eea6a3e1808a28daa42a15a6ad6b9ae8b598f6be94e0ed651c6fb5d39e43e360f0fd06e814b905e6135a7e88645961887a262247167933c009ed004db165d37629cca6415a61c8113b51d95ca02389a6da6fdf6a0479f8925a86123189a80aec1cc60b49d33deaf89d7a764d988e7f26af6abe3c6e4d153bce27083836c229e756c9509a15e18a9ef1338bf4f097f0816b91b88262d97751c7515cdcd3515872ec140e8bb43752f882c2cfae8509b13de79288b4197d28853023df3dae525b41bb13c360a78f55efd15f6cdaec145972ec43a8691a9a415c8f1cdc324de717ea9f9612cdfa539253adcb0d9cde40b755478a07b2f7c2e116a2ae0fa2d9287409fcc875aff5d9ef2232648bbf1d7306468c0639c235e99d2cd44591a14df7b1e05f183ee1dffd839bdb607d78299d02fe30add5ee26fa42a43c92b55777804ec39375a04538a40cf1f61aecea895ca32fe97053945191c9c466ca6d457e3cc6faefa66d62195ad49c2d7477c244163b60ef086fb51d6c130d6a6eab3dc470b2657abcd055193f78ca897157f1ef690504d9f37e1921c584bcb231487ab3bf96b8a78c0eb60e4a1037ac776f2c89ca8d4ba88dc9584c02c9f755e8c80e136d3859d89f05d7dfdb1a2351051c1e5e57ec88c481f5ec124517094c0efb050efa2cc94003a2d4a6120061c3c814e99e417a7aa3a23bd5ddaf79ef66a58f76d2d37df9e1f5c7ef5732cbff46a2d3256feb5db97c21a1692923593ab879f998365264a591c4b3ebdb671e798e7a3c9c2211c89504ef1e993d47fbb29aa2637bc2fa4fd534722e00579c06ee72b3f8c4023fa945c2c3faf8ffe607e14b00c2bcbebfe591d58c51d31e7a6c6eee7c701ab019247c93e664014306bff10be347160627762b5df6f0846f23532767e8f7109625f92d8b9c04e6ce4d0082b789bf0857c3df2fd18035d97be9d7c00e8b8ee89d3d66712787f6123007dc6bbdbfa8f9d494b6a911b4d69d9536fa6771cb35609c9294e7c396db7425f417e94a593d52e1883f4351141c0bcd9ce4093dd703eb9dff7c975bf88604ae1d64c7b220a5e83bf6b4668fb12def0c2fa8fbb13553157f8311648c6aa9e06d7fb8fb2226df8177ca2d18cc408148f87f122b992453e5ad90c450e9392ecd861dc3ad966bac89843afc672b17bd19ecd09aa97da73f42bb795097603c2525c238b2a99d8156d2ed7749a50e3873f0d2ee083946d6c0e02fc50571980f4e87bdbba640b37f1ebe1262fa8394d1c744ffc6a19b51895c70b30926a7d932e5177fb1c790ba1d3f6f90e5e98ca22be23d8ada3ff69ca3744965faf2c89f2415876b44ad3e8b7bd00d256438551794e9106d04a30adf3581ec0f10f4a6b28169f409a94365d61d08f9d14ff80ea394ebf5b39dbea15aa24b2cbce78c1937d02e3dd15259963b8651b7ab34b723236aaf954ebf55103e224c2fb3c8415df4590a79f2d626fde37a446782b7dde904914188bb88a309013e453ed96453f19ac22c948d10895f39942a62e0d95a05538c0dd4e0867e8776ab554acbffb49f0966ec9ac865bf014e0d1d11163873328c272c7c588e37f94b70a7c6be4a30c6c7afa19d142c28c0b33f6ff732936b96364bfa2aeedc3535baf01c41cfdaf7fe73b26a058cfa793b3db5051e6b03de5b1a08333cb3859f3944b2e242ae392bac509d24e12392bc8af75f5f33084a8cc854f1f83301d7b39bbafc9681274ae0cb3c7c962d162df6afed264c8714863c529ca306d8175dd0ab4ecd2d9f1fcb7c83aaa87aba42b41f762b19aba2f09b165d996ca9a927a8136721c96feff411a6dfaa1a7ddf9c2b2a13d0e61b21c469725311cbf69fb0ed3e98c819dbe0f9169ea17fdf05667dd371ed633e9126c619a7a405b7cefa30711ac7363c80c7625d70b5fdd990bcf2444e31a71c939041806544513756f9c971607137a2229d94279dff9c350799fc108a59202bf21e90eb63fc0649f79a1c2757c2e506251c88f6e454d065198047b289cba06779a07bcb42231630cb57d527a4f6e37df7c197bb9b3e983f2ef574662e3cbb9a85cfbaf7df39e4c38ef7cf2ccb0261b83f8ff80ebc24d7a379b6efa717671bd9baa9e321ce759d03c195f3b8c847394a9700903b2e168581ba858adeed8bc98e3cbd8408571faf8ce5059581aabc199f62109ce363b682aef415eed5e69ee3f2d794542c67be73942aeae440350a4951d32b31b80f24d47bbfff49f45214b5d013ad2ff12442356bd5b9043b74cb90ae6b4d0d5332de7534f49f4d8a07554d88f32bfc1a809420ad6edf7b47558c54f44b465882dd5a9d5bb148d0f06e44eb7b09a5557210a190debec3219f1a8b98656acc82e3dcfdbf33dd84aaa68691570f6905f5e2fc37e1de3afa07c63a0076f5b244a0306b4c8a03ca94bc9528f204018e0df90bee2765c4bc8784ab5f7aad6260431aeabea6e88560a224f8ed7e41d0af722364a5f370d2ce689225dcd257381a8a84db20412808084d8f6cf306fc3e6802046f97481eb8be6d0b2918313eabd1ebf7afb4a7bdd46e0997510ca21c79d36a5b29abb8a87ae2f5eca171a19a7a74fedf35f8a33b09c14118daef233195d9e8b16d0bacc7da54d65d1aa0a0e2e3703378ac75cfebaf25176d24b29fe43c505be924b1cc4b1fdd1c4860f2291fbc78e83da2f92baf9d8c0b0aa65a25736f150fb0cad6ef2593fb61360e88365ec65c03bcf413908196443c96938d7dc92a8c31e52a88e2b58d2e0ef6c46dbdcdd7d6cc636697f911719a2c3e55f7e21c0a85f3c40674bd83e0fc94051d066095279e2335970a8a5d6d5eb8970e057fa69f81f12f7de7c4efdf1f7dc97bbad28566ec376907b975588a53151a1cf07d3ad0d99656c6fe3671f35fde743463d783f3ff00be9fad2f884d", 0x2000, &(0x7f0000000bc0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000006c0)={0x90}, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000000)='./file0/../file0/file0\x00', 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) sendmmsg(r2, &(0x7f0000008600)=[{{0x0, 0x7f}}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x32, &(0x7f0000007380), 0x0, &(0x7f0000000600)}}], 0x2, 0x0) 16:13:44 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xe0000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:44 executing program 4: getsockopt$inet6_IPV6_FLOWLABEL_MGR(0xffffffffffffffff, 0x29, 0x20, &(0x7f0000000080)={@private2}, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000029000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f00000000c0)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8ddc74424008fc4bd87c7442402c43a727fc7442406000000000f011424f30f090f013a360f06c4c18d72d68366baa100ed", 0xffffffffffffffb5}], 0xaaaac44, 0x0, 0x0, 0xfffffe41) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x1, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000140)={[0xfff, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc5b, 0x2]}) getsockopt$inet_sctp6_SCTP_GET_PEER_ADDRS(0xffffffffffffffff, 0x84, 0x6c, 0x0, &(0x7f00000000c0)=0x6b) ioctl$KVM_RUN(r2, 0xae80, 0x0) perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 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, 0x4, @perf_bp={0x0}}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 16:13:44 executing program 2: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) mmap(&(0x7f0000abb000/0x1000)=nil, 0x1000, 0x0, 0x32, 0xffffffffffffffff, 0x0) setsockopt$sock_timeval(r0, 0x1, 0x15, &(0x7f0000abaff9)={0x0, 0x7530}, 0x8) [ 2113.827999][T10921] IPVS: ftp: loaded support on port[0] = 21 16:13:45 executing program 5: r0 = socket(0x1000000010, 0x80002, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="4800000010000507000000000000040000000000", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="380000002400ffffff7f000000003c0005000000", @ANYRES32=r3, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000600)=@newtfilter={0x7c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {}, {0xe, 0xffe0}}, [@filter_kind_options=@f_tcindex={{0xc, 0x1, 'tcindex\x00'}, {0x4c, 0x2, [@TCA_TCINDEX_POLICE={0x40, 0x6, [@TCA_POLICE_TBF={0x3c}]}, @TCA_TCINDEX_MASK={0x6}]}}]}, 0x7c}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 16:13:45 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xe8000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:45 executing program 2: r0 = creat(&(0x7f0000000180)='./bus\x00', 0x0) io_setup(0x83, &(0x7f00000003c0)=0x0) r2 = open(&(0x7f0000000240)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x7fff) fcntl$setstatus(r0, 0x4, 0x64000) io_submit(0x0, 0x2, &(0x7f0000000540)=[0x0, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}]) io_submit(r1, 0x6, &(0x7f0000000540)=[&(0x7f00000000c0)={0x2703000000000009, 0x8003f00, 0x3, 0x1, 0x0, r0, &(0x7f0000000000), 0x3000}]) [ 2114.684472][T10922] IPVS: ftp: loaded support on port[0] = 21 16:13:46 executing program 5: r0 = socket(0x1000000010, 0x80002, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="4800000010000507000000000000040000000000", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="380000002400ffffff7f000000003c0005000000", @ANYRES32=r3, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000600)=@newtfilter={0x7c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {}, {0xe, 0xffe0}}, [@filter_kind_options=@f_tcindex={{0xc, 0x1, 'tcindex\x00'}, {0x4c, 0x2, [@TCA_TCINDEX_POLICE={0x40, 0x6, [@TCA_POLICE_TBF={0x3c}]}, @TCA_TCINDEX_MASK={0x6}]}}]}, 0x7c}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 16:13:46 executing program 3: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f00000042c0)="9eda438838743bd4e9720bee57093515dc189a5ea685e9556c1c2c3cfc4df50d66d31a48aa312663b68d18c5826b5b55fb738208863dac0f10f423aee7a5d8ddc45ebdfeb7424bae859d7c37ecfc4b63914d5a56d91017dd22bc84f759a15969951aef9d5c88c96560896988fa18cd946cfcc3a0f1c993348377904eac32c980bdf7976ebca2b499cab63c4e841514277fc71d4620e29a92523402485de0e82896484c0ae497a4d686df23ca7b68c3fd5e624d3510d7f94838e54af877ca58a00c5a672bba11f5aa1ed1980dfef47b9973d0bf456ded5e72f1702b3dc5197fce39cba53a038d8dc0ec783ce70577107dc5e8b299e64a0b7f1191f0926bd25762370191710bab2f44e9069f55f8a3f87e4cb488a2fb3348c0bf3b3874291f83e4776b160ea73aafa3919c7c069c73c0052173a63158db8b65541d161f9c964926ad7f06bdd6cb6a32135b04e35701c2e13c49c1f75dc7a25d623378860692d172ec3f1e1f2d9dc77c015c13721efcb101c2390abb847e871132f472a37cc0163b39b1d575a5444e246a08a1afb1a696cabab29498a314429a3b9f44c43ba29f71fac1fbe0d01c3c16d22730932704bcfb0c1b7a432bc51dd3f5dd5afc3b342cbe6a6ff899039e28f9a51881b1d46fdcf31767cb6f5c5c69ab3c80615d77c4d1664fc4ec831b8cea2e752bbb7a9ce79df875b29f1e232751daf32a1a0c4ff8bd0688e2b8e2d668b8a77e20a9eb6ec2e2c23b94e507baeacbcfa31fb6e1ca3343668f43e3aa6d85e7c29bf0bb4dbdabddc92be7f4a6f5d21b19e6da17bfb6cc926e3847532fae29c7b62fb909130ec372d3c16cfe6aaf3ce2af0fe7610fde7aad61bc80d2f96b999c8ccf6d22cf903ca8ae8b879ec4a416f334982e9810c0140a18d4dc81b5edaae23e9f4abaf40ed71512aebbba5bb251545e188db789558a845a2877b14bdaeec3c738b7d730c0860531bf5517d4f0e8f95ed3571f8a35816d5116fcb8d7cbf42b7d5d5e65541508c898bb2e0fe96297d2ab7135662de39df099ebaed5871111f5346278cee5728cec512e6c0a0d65b51e3d627873195b84103341c2bc83b6c8fdd8ba17f5957413f61c69d618c9b9d0b1f08dc81921b6c662ee1da3bfa019b095e9a03c2db4d645ccb7364e895098cbf7d932c72d80663c7a1694d122f7348393079223c11d36c64a5856eae0397ab9a9d948204b74e56525a9d552dd0916de81cbb5af3c59b3d7f8f9154423ce2cb45a5bc808e24bef13212019a19545fe54ba84d01534358380192b8c7b0eda907810375bb66a578a58fec392b47991271c8367b91d710e8a176bc1a4e96f0e137d4c25fbb03eddc392f9f170dd744472b864fbbae7c93d86e682308b21b73c5652065d72cf02e1152b44024a90a3b52eb0bb3cb412e518d37a68aa4c7f46789c54ab30d3a73d0a8712fde612294cda2aa1ccf164930b9b1d17801d4fbb06e849d39bf2b5141330caa0d2618b616f1c67e1ca57080e79ed9092ba7a55e8121cfc825cd26a0199a479a7ab1b7b23d2a4dd82fa6d04ee41ca680435efc934f0451e865e8632ac2f1115f4cdd33b0fccb7a2326127faf20cba37c828613dba5a98f4e1ad25eb6b91078cf73d873df9ef91531476f64b83559ff7ccdc4c070d478b18196ea05fe8d4ea0216ee5273dfabbd04582f40f064c9781afd2cbf30901f28cd09cc934f1b2d50883778274177e3dba8af0a1b931d80ce1a6c4085780ea2195b65ecfd2953f78a5290fe560d0cd6a5e73890a5a82dc410b92a3ef2be05ec5607820fd4ca6b9c3aa258d59022fdcb21665f1ce4e8aad8fd918c43bd3c2afe3dc223ff9f48831d401c8b6996190793d1dd7551f8511b69283992398d8f9b4bd2b3398d3b8c6f3c5d8b802ca5282b70242df2b7be4b38e70c3065f8da888631375afcc05ce578089c4f783776b286b7a60d1b5e189e2742a3240c1036a953d886885422eef01413c38099b64505fd5a73488acb4e611820674c58ae74d6c64a885d4beda9bd7903bcdc71e3711e2a057c0eab2100c321050ab14c6e453c53182577ad3178603cd9afde40a701120e9a36074fd582428c74e02781318e6c65450f8f020bd22475696fe13b8c59260e53a06d16eabd135e887a0a6bbc8ad21be7661df76fec5b13844f68b8eed1a7379713738beac9f23c7a26520e19797a910cde9fb285179526889b908b7eb49bb06f70f6271fba8712c1a4269ebcf4b7d043e924e3d2c4c753fd7e547d95841e335179836f76424e728810d7f32b78256ea30c79d9238a6588426e1f2d4c0b03d5605bd826ed24f0f11326b4cf958632b86e017aa80e142db1580c44f76d9c98196f3f6852ab2bfc6a01a3553a130c2d171957f5a45c3550fbbc990ef8742a98a86b280a57b9f198ff436bc01161ada50e6f23026c3254adf2321bff7e20aa54080bbb57d8d52c6a6df6107706a2e5bc6da68f17b474c0edd39401d765086e885cf7992405f856557915603cbe8894676e996bbadbb649a5e7498b91f9bd2f697dd9ebbe4d386050258b9f4c94781e61c660651c3f1e3ae51f8c035eca365bf15d6db48ea9ce183515f4a208d010f7c23dcacbd6e225490d7e9c133525f5c9018d752b21b4897bf18b64b6a9936f538a0a8958fc934440aeeaad2b68ac844d76f0900a6c95bd0b353d85d4fb62eb88360112237fd8c636a80e3130b21d66ae8ec58a4b76cba0602f96da919f7e84fd37e3ec2379f58e389a39c78d2482e03c379e3c4649ad63a76e3707ecff07d2fcb0c9dfc524cab49e69a09c92e4f88714335cb57d3f6184d07bef9657280fb5c9fd2d8f940f7ac6c5407e3077aa2e4ba8e217e0ee19e302d6d90e3be05a86dade35d2e454e511afb5cf5936f1d11f2fa6be6ceaa817dbdc7a6aabf2fad8ff3efa8382a25099f0c5989d2ad56ae0f4968b2cfcfc67b4f1c161c75900b4848f59a3c0376dfcb7997bf28e9e85d6dd942a360516de38e1c1a038a796f9a77ff2b0c7e5e8f4932391a0e58e76dacc6f9764178a211dfde3e75d367d2911ff398126ffdf83cf2fbdf1ad5232bed9155f7a168638a572094a9e934d4969b358cf6e121d7fd2aeae2f499068b42c152f0e3403a230885d6f92f038ddaa23499f804ffb06abdbabb51f6c38c92fb1a6271a4b13d6d11125b8ec12efa5907dc65062797fb9cca15e2f254e76b182d3fcdb4e96ac4de36d6df7e7bba5c32f422286b1be3b79bffb6fd693761952d195a84ad9ceb07287a0fbefab9e0347b513c5f60233ccd4b52d90ec144a2f896d9dc7f279f8aa93038f3efa286e1c3006933a4d7183d952f8d28b141b28b2af355b5bd8198dfde1ffb8d09202aff0d16ca3fec194662892a49f829813970a4520f1228aa03d211a45bed3b2e05bf1f10b1a152761e7b6c6ddea863a3c02224256092c70ca70dc185c4c385dd98b09e2682661e1e66f71d9c4037048eb70e8a1cbe57de87ec43713abf5fdcf63b9c482f318e3bec37e878dadbae15a02d731e6c8574eb14c059d72f73be5174add786d06b585a28a06d349d8e434a491b34897b3c1ad786ec8280d7f57edd4fbc6aea5485d659b59d393e331cf91e6ed76f340fcf7cf460892fa7318fc42b883f61d888ad982a751accb613c66661fba5f3d6de751a6a9ef8a4700316aaad04e991aab7903f4ef012ec2a8c092234e74ef335daf360ae47bbd2bbc6ad8c1a4f81efe8bbd703cb55ef36b32b4e30cb5a3b165c02ba295d0e1c40ce6ff8f479a74f01275f113ebfa8ade37a59ce70e6ca2a6f48f1be085f61bf772e2c2da523a2cfe63e99c57bdb1ff23139d4fca49eff7547e9880eefd3f7511a677efa23b52098ba89037c48dfcda2e8c1cfb9f892161049e53f8cee55256279512aecab8c441600dae0fd957883273047cf5c66ba209f830aa2ce0cbe41ca08c0cef4aed7f4324009200661a7ce680e5a8df2d051c1d8b2f63d25d8d74d05c75c46c8f3f24d625539e63459650960498a54ec3b16225bbbf4d3930009df265839d72611f5332a904cdebada108236e4414a2909ad01ec44b9d7f75de4385ad7ca5152e890a0919b3639fd1bcbca3b737ebb8d9ae541b1271cf2166ba15830e66f3d3afd3b754a7f81ad4f0999704ae99c114907c5be4a4797f13b80564f234723a34dbe137dabfd7fa23562df679f54a6ab54def6d63deae9844f72fd73efd0413551f5c4b9ee826eb3b7faf92a59ea34a16723b4fea14d1c8815a4e2d39fc48d1dbce526a7c53f5a96d0ef6463a0cee73fd3505f5c764a264b83c4a21f80e8b61c82d24442d13da99d18dc1b2538e7a510f6093d9ef2bc5cc777d4f98411e93919eddfd69d6e20d227cb61c50f358ea227f4de941fb080c1cf6b1f6e25533768fe133dbfc3f9d29c603bed38aa3c5af5b81a706b0067b40b88f992610d04c7cc36b8f649697cd6a93fae51138161891ae75a7147780fc59af5a6e18c54f9d2a4fe7fa92314b399afba9a40d0cc24f70a2593acf8d179215e06b7a9a88224bafcb2cbf60caf5fe4ff38208a70793b5dc33cd572956260e1c86312d3ba9b3a4b2b44376f2e78c616a6c0880ac8dcbaa30b9f761d500fd03a8518dd0509157b184a2d95e0caf3ffc8ac2db6c54d80c71a1e5b9ea3bf51071e2118af204123daceeb04e4f6f31f32a4d3fbb76ee49440cabda2c121c1b99acab5b87cecc37c3f9066af34ab29d6598bbfd91047a2ac7ce3a8f3027ff5e6d743506f161087278896a98ed37122ba208b61cf54d3929555ab06b564cd5e4f46f4755a6cfa2ef2b30d29ea66f2749d4060d411fa9160c91b6f55cf071ac8222c6313df18759e2958cddfe3db4cbeb9cd39abcf5f0beaecae8437813995cb7ed0b87d42ca942ff7245ece204798d01361c5f008e0d82bdf76660515bc78f7f8f409ccf68614b2cb50f5af2615661326fd971bc57eeeade60ea906b8df1cb0dfafd318cd2c396309c329d0469ca192aa8f51d7c4227685440f073983255baf054b97b9d7be1d1470d7eabd5c09b2116b4e86b0567b7e97e088717a4fe3dbdd310a1c39136ea4d2c47492001f9885dba03bf97e7da376171d666441cdc2f999db137603d57df32b4260fa0165e82917bb1631ea314e7a7437e66fc68cef22cda8f456d6e583f6e3237e0bc79987a9103f7cf0918e26881f67ea582e1ff3a49177599d385bf6e42572a2547933aeddb826530e9adf30dd84c3a7fae5c4c26f6c6f3a9f0906decd314e2407825abef959c5416d18a92ff34e6c521a16e8a0a29937c77d4ee99b41d530a732acbe0bf5d274df9d496b47a9a624546bdcf9976cde12ec989cb2a70b33a7c8a3a77652023164695f9db30dfcf587f0cd4f73e385730bcbdd688f6dcb08ba0efbb9f579220afefa4acfea522e864fce9b1782ce9f14824d16e9d33a2609c23ba3c5a1af02549357a0dcc12e37819d778021762cf895abeac1125b744c8b8225a091e7be9ded9993cfa3ca9abb83e25c8f559009977a2ed9374a89619fae5ef6d164bb73d242004dc8428e44689b33ee3bbe88bb4962ab0a32a90e7aea044f08410752cb2d7aeaf3196648a3a99092665b478bb394b48f79b36db0efc7f50d6a5179c945f5298cfaac5e5dea715296f92abce7281d48a0c9c6b785a35ef5f1697c047ddb254fe9a8ab9f498b0c1ae09ffd01a3d8d427fee7e36c51e0e5c2fee2245fb8464626ab5c9857ebce91f7d22bf024d10c2d71021cd69268472de419e6cefd970cc3a8e4d1bbe6496799aa7f100411766e712aff08b731460f14f9d7356db12cf8e1c6121968dc68b1d81c086b325ca4ce6fe1f476707e08fa913144b757c6be17cf93150db29544d207f09a896f33b7335d9339215da751e7af2c6bdd19db6f521af2c8a5998dc607f97026d07111488741134c1c86eba123273d1fd5ee4b471e86f9ae9478a04c7482076ab34a1eca5c64f89e5106eed44bceec019c67c12fb4db4fdac153f4ac3b63ffeb6d30de58ec039e2dd3c181e254cd94d0a2b0b44490384cc5915b54ee1db2b6d059879bf8126c9ca976d0f7862da07ecd350930a081810a7afd72b2ad3f65b96ae9c7f91227a2b5513a559f36b90fe01be9ae5ad3ca65e2c26f358fc26b858a3633fda7ae49a5fb705220a5819b3cca41b1ccc21d7c40f5fa9c422288efa5394e4312675899d704a2aab62b8363f58fd4bc12a8bea6ffc45b4414237bf5f019321206dbba439acb5ef26641f30fdac20f964354bce94e4c9d73e137f9806deefaf6f4acaa0e76ad4fef9f6cb7fc01bbabda9612c05adbe46afcf94819e8a4b4b49ff764784fa432d47fb6d4230900043d1b4521cd6839fe8c5df4d1899fdfb13880e207cac73f0a29020bdd563bd9c2f6bcd1ec523b3e03ebf6164fc65af001830c51396f9df2d346f83a59cfc82201cf1150ea57259d579fc2ed199b3fbe42d5188c84e4354610743e5b23a265246313cc63913f17412fa00d98b379b80b96d936969572e11316bc8926cb23115186f3b2387b82c3898fa41bf16a308da62d5a3eb3609af1943fddde08a4036eb2a41b7292caad9eb082614b02a1fa255bc7abd4d0e3b4ec1801e131e68c7aa9da1a0ff10f9de87dec8fad1ad8bfa99caa49e203a7b9c33e044d4544a537471e7a452468b821959bc488c6b8cbf81e90081a26de273ad1203cc06adb6af242ab19f96c1c66b58c37e2c9309704fba63af99a8d9c5efc651afb631fe9f546b938cc3b8e526c4159e5c9f7afb29fd1d55fabf09367ce2a63a35e7a2062d1c772ed981fd77157a847f687a177cf9886ce41df8cc509302b46bc1e2ba896b1c1656a1bbfdf4cd9ac39cf8510d1c823075f16550fd044aacc8d42a56f03718f7b18475cdc3999faeb25ab3dd8a807ee04d8e5d831d08b4e309dff50330685138797e10c6362636f53f22bfc1f3d5090a5d369282d9de36bb4e2505411ccc6ea395afa1567b15a2fb4be2adeea7126b1a8e80034105e0d98bdd78e796ce1cdc06a4ae666fc0baec5c52614340ed997673e26ec47c88846c000bb7c9077337cd44f5c041fdcc64986e5e1c0f488148f0ee6f842c44c0b72e82109270341bba6e9080b70fcf930d0f10be5a36798e70111fed72727b72282ff164fc08319d74f1f57cde71b57cb397a9e753f87b97729bafba017a24cbfdee5dfe7fc296c112e93bb8fce560ca80a3afd8370baaa79ad783b51352b5440b144a47378c9ae22eda5794328e95bcca220fd07bb56915529b155c61858efe89ad36a79288e74c0e251addcfaf797432175a5562b46eff5e3aebeb74623e18beef85389383c604d8884431b07dc4bea0174aadc337ff41f558a63f16690feae47efa2a5d1318b7397e1e4ba398727d286791b71610e1d78d32800e7e113c12abf0f60b6ca4401ecd23b7aacd990633b2b017daf6bfef1b2361ece74b7dbcbb1a73d4bc1f9d2e5c9fb0b7980d25cc44d1b10c09ef5a6a05c84669294a5cadf0cd88ab449f9f0bcdd8c48590d416c5c1feaa494a2145949c2a3373df7c6014225f2745bbeb20ff294d22c0d96ca111e6926946207cab56a03162a49e68968e398f70690188ee3ca847ef421742d60b9a6ad029e8a3d607950b2bf8ad8ff297cb39acc94905635770436e134435e28205140331b5100d9f64469792fffac87bca0835cbc617446ff86a7b50418c305f32e658b32130e491e38709fd3697017ac8084cdf1ed81a28375aed092ab4e32ca88a933154dd3a9e99351acbada926b67b310c7070ac1a414a28c5abfe1f45476249a12f18ca2d981528d881ed3c5072e46a6eff3cdf37dcbc89c7f79c88a1f8d15d15beb66a0e4440c7b93e379c4e2bac1d5c8e85f1852887e2cfeb178fba1c67dc2adb0c87df8ca4444ca7f455509f492effb5001328b8cc696e2933207a2d78bbce8562ca34a248193c914406b161c8141479d891b0c6110ec1e25cad38299b489f2ec437017cadba67dcb58abd4933c95b35707118e47b8701a7d71e446e4b62e2941d4281faca0cf22914be5aad80f47102b178a6ceb24e82508fe55a92fb6db70d03d1c1ec09cfee31639341756a4630a0eaaecac7bfbddf9d30c42cbd45eb181d5bd341307ad26f496bb042e2b655c03ac3dcc587acbf50f79b5c239be9938b62d3251b199f8413b020605d5d0552cfd9c39c9132719d6d0a326b000e12fcb51bc274df79d11430060d05978cdd50583f1bca82c57dbee605e2d00fcb5414af13a596d35cb5ba62de6a28cbccc857d23547b1c7fd5ac8fbf6758d5b8451fa46d9acc00344dc2e565674b1dd3547eb8f8aa5fff99042f8d1d59e6ad2f53379211e6832fcb68f5777eb2db85b28f724f4e4ce6342cf55713ff7b0cb4f7f47dd12a6566b86709eaefae024373267ce72a89e7f3e42ab48edcccc96b5d0403fe93a927e5ccf470014f220b8257393226cd7b996f20e6a34f81206733a9fdce03b701943c1b560d3eab68c2c225cf7f7f2b56123be2bb173e9e5b37f4d3348f6b987764ad07c2acd44514ff264d7eda31e5e517a179414841ad4553d51c08f435e05f10aa82d74b97a9ba3a133e6c9175fdcd4f3dc9c16d3be1d5bbaf13240177081ac1d56681bfa988a93af09868afd608520c0bfd71d857a6661fdaf6f2e166987eb007449dd26334ae932c5003fefc0f983b9e49cbfcea325f2de16a9ae935caa46f5b3433957fb370971ed957f138f08a60fed5b84995e428e7ae7d5c22021ff016baef0e713a118344c016a99ad469313ba7f2452da0dd82e019f64aa229cf80a69b3e08ac5847f10d247179855546313232f23e055c2f74ecef14e0fdcc29a9bf0976fbb249bd5c7903183d2a53c70960a183630e7d4928daa7091a85ad987d2a4a5b8f6be6612fa72d9fbb33c67bb38eff19f2e784f94e0354cf6d35a5b2c62233c039de3734b38e97ec72bd673fef09fd56fec329818cc68cdf12cb52f7d37a8350c16e94208880bfcd3e895d7aa4489e3dd15db4a9026f0d2a46f1e89c35845dbd976a1992b87c15a0c7580e6424b8792a7bb7b933d7c5433d4133ba4dbbcf7995d6ed3feaa32f876a287feeb9cc6107778c1f83e0119d980b9e994c2a3ae3de24a103efb3cacb746b49d1ad85746b233ab4aaf0e988ec2a786bc93f32040d3bdc3008031634cdfded5ac95b2279e096243228296591e7ba53c4a127772cc4620e6b238ccad250629194533d0a669ff3366c52d64928693e0b0cbb0b8e2c6029089d4dfe2b4b6c5dcd85f1a02770611e65001e48a32a8b0431a3b9d77fa3a95be38a0436a704c05a8e0183f3214c25531a63796f679bf72885aa766468d42b2543542d7e82544efc5c5e81e6a91a0f5d4e68000cff687d63e45c9a11d4ef515050daa592c9a828ac7c0488e7cdb3d6fdaef5e9176ee68d981ea50d386d74df3b40660351736deb03bfceb721878cf9894b0302df15964242ab6b9f77f98ba1c7993735983d2b022600ab74a19e3636e1400d08ba45d3a5c2774cb06a1c358bbfc11d27efaf7ca53c2e7757c8c76da24707d91a4a5244262898d68083ff91c514d9b9b1ebaa0cb0b10254fda1b1e82b9a1a47f117b5b280ddbec1f6732d11117ef1a7a674699df87fe795d1243cb9c4527e364e2b711b6562a87fafc130ce0baf1701686639b05f0c8dc708f008b1e6ab89e8d623bb83f3d54b7bcdbdacd055ac4eccbd36bbe0af0f65a00e3d6dd985ae8851d176976cfb5816d1fc2a63d3546aecaa4e712ca6961d1f181315d553de6b53485faed0dcfcf819a1ba3badffe797377d3d1ddaed8e7a0acc0c3d277762262a139f94de49faca167b11bf04f2104a5ab9a73367a6461f7124c91a2c4229ef98e6ebde9aac283c7d029400d71293f488ba169b62c1e94689cf5b248ed4aea62b88d65bb764cfe27d5231a58486e7381df518f4ed81cb905108c54a5050a94ca0e94da20d3794bc5fab9127dc95b6404b1e27b4e28136fc27806f7be798444c33aca88ffd45b860eba0d5033839f5a092863954604f1952bd61dad23b11643fe14f3ade08116aa2c13eee701ccd13e506bd65a1060bf69579aea8c8143cd38c0891a3065f251eba0c20ab9c69ddf28e3bd6400cc203bac8de1882239ad4e1b97b0ae2f1abb7bac7c0d8ef82b97ebfb1f5577f06a3a1377b09ada4db87d342f20ab0eca4b9c206042471307511429cb57a578211f92d3647189861cad9145f5eb26ab696abe50a2a6c1b469df97da28aba4e79b586c348a430f5ea61c4be1032fa61d18581f05a07fb8707c8996e0fff1c3eda59b992687fa12483b9327e10224b20d42e8b3fc4670bf070ced602283273d6818acd1f6da567c44d3f5e1377065d43d87d889843ae48e7fa8ba1634815695b8c480ca271e6e833799c70da80fd79acc09b989667a2294de5da73f0363df9a33ad4dab8d27cf7bed0a06838672e3d07d52b6396e9b5576021d5e925abd533bf161c944795065fdd44e8462e3070c479f1c118276653488dd9b2f1a673f8cad3612ca1fab4388ec9c8f834a01a499adb7b3a9a977672f6d75b41bbdd7f91ceb7e7a88568d17bb432be9e4e96e115075bce197ef4754d2914c2c59e2d7f4c08f0dbe34d31f229428f211bf1d7e8f5c319ed4a8273cb6255eb318851ac4557b0278fac63107a54d407c42f300b843a12abd3b893b46c7efac2e388ab42b87aebe2543bd4c15f459bc50aad10ffe1c1196fb52c26e54bdaa7fbd52451f207ffb073ef4b3f71eedd7da40c89505019739e3fa733bcdc84ff4919e8fe2358129ef28291be1d6426b8bafe88463b1d3cd7273745381c7f65221898e6ad361e88b24c54ccc7ac9a830145b6dc096e2d71ef71ec4f03524cb870b724e08d223bdec2f6fdde6200217a13b5136004d455d66547f5a1793e0cad85677d49e5c558852107007c8136812cf021afaf6f7e8f59883371be46cda412dd9c6fcf187c31252ceb5758901d39cd5355ab386d9a7fe6ea46ebf277aaf809c3023211ea9aa189de4d422080ebb9fec50ffab6b95ba4ae5018accc497e79149ed6047ce561ccc10e9194cdccd5c9fb75175c8dbc9d0a916ad59288f010defbbb50d263041ab37aac0f93253bef6f898cd0825d99d27224f26181f9713b8979da64756c95e7505f25a2688960d6155c3613dcc31b6c337a6dbfc6b12cfde1db22b93bbd5e48534fb0bda8b212577a14dcf665c834b0bd24e5f624d2455fe048dbe930328d7cb632db3b0e244bb5d43390b420b15157a339487fc78976f867d3a361aafdd3f50a93c01882da7c220089a544381db22e2c86b228dc2be01820468460437588952a549d37498e529e62aa62bad1580546bcb1e9a6ed1870b7838d05d12f6e3a041e78b1bdb80894626f20889ccb3a468aa4fb24b9c87cbb28623ce59c6b3c6286db366d08004551a25fe4d8d194a2bb7c52e1c85a5fbe4cb15b171489da121bea1c469a6bb185d63213084e3a81ee54dc03a94dc5ecdda7bfaad1df68021aaf4627c9d529f13e5c81b5ee4dd228949ca16b9a61d186211d153294470907557e5e14ae665013f285fe4d3766e7b3d8ce5e2a14692072d4d8f79354bcc8db8a2a36c8bcd", 0x2000, &(0x7f00000069c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000066c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc000}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000a680)="f6d4e7fea5605e3acf96693fd7a12829d88754d5a9d5d357303e5b219334581da725e7f1bef89561a11adbb092a11de0d5f9dc2f3cf465735146bc4bdb3fa723489dbf6fb1cdc3c0e950042fa2006b10914a21b587547dfa08d0c47d775a81ef076d2d20c3c5495295aa7c9f92d23cdf46c18970d26dc543ee819f2535f1ec23a51ad96b5f90ba1596ce77ac9f8c24e70bd66de4b06171942670c9f80d5e5b11c89eec77eadbe365d4b6841372ac893eef6c65959ad3dc032d8f3a2488bb688ec1880b157fe5e791a1ea8d1e429a07a0d16ec5a299b4c6a86a1806dbc205cf83447e464089482eab197d934120a19fed1c502268d8893eea7c49e0ec7567126f1e39301df58e359652c04a6091dad04c3b99de12734395ce64da829b114cd5e0bc2f84b6265d82d359876a6649255bc1f3601f785d89e1e220f63cbc1965d4a6651c7142842d26bb388d8b7dfe105e48222dae1aa263b5346729a6af9b749d825fa5924dd4e017cd3a0469784c49ee084f040b3addb29296f7c3cc1ba4eee9a669b934ca7a91f89708b4f5e78b89d01024d502c1cb186f5470ea6e887c24ca2db76c0f8e7d3f4aedd2e2ff24f4fb72853d1671ea3ed6e146055a53653c89de211b4b6fd464f877d2242b67d20dcf45aca9a162aedcc1e9b5304e8849ddafc4ae8abff6084f35c8089bba9c57e1eaba414082827999f1a15dd184db89df33fff927341e77203a042845cf94b8ccd77dfcd6c31e1ea49d851fe3da49d6d6493804ed6aa4e0a91e480736d98e33d5e88ac5f8da8eb71c5095ed0a635297e5699890dcfb5e7b7b9a4b752ff982b924c7ee638b891db8fd8e48a26889c9bdca6fb5541c092b537b009d85cbd1687e51c39e7509b37a3b23a737480b9525fcaca466952d36f6ca33721433b0d2745fbdc1cfbe9f45e970bee0054adec5ffd02633ac18ade345b48e8fd859a5741a1189e7355b78d82296e3fa3953bd9760777e75eb7af26a3634af882977f081fae538786824e3a4bb4142293c6654c4509cc3faf3ebc7820dc13e97d68084a7fa27d50196cf85f8a4a76ac0c9ef7964b2aab63cfc82e02df96d557c56761356984e366871ee658ccab94bfc3d31b880f31d7335653f84e2d99d038c2f260a70f88c71dde90973b30c3e946fc6b31f3cb45039a46bcf433e1b17ff4bfbaf6a9da472388557b4e0fe633705b985c8be0fe6f82036370d9cbba6124632249a63b3ea5b979bbcf0edfb1b9f9710cf025f4e6c7aca26a35aa58e6aa199a57a90cf76fb6f2107655af64daf545315543429ed8e8dc4916835db11886e9ee59c3ed76a42fee1857bcf465cfee71744c440824b24b585266a94010a25f676fac87457270facc06d7e3a7efda513e6421f203abd9d9ed4211fd2de176e36d33ac1451a4aacdc25940a17c1c944d8d9aeec466af230764ca02f4e3b948721e6b5ae9bd27888a7a529c13a985118384337c25bd067bbd4d7148a8c3ad5612eb2c3cf615c205201ecb9e10fe0e691b65eed425f7592bad53b358c74c96abb5b735d78626dbb94953bf3e6ac51c6b8b409a1a8cc34462783a5377e7ee9fe76847109e2ca9753c8b2cf9e330dd1bbda4bb0cc510875ad89c1a5cfa0a95b92dcc4bde01705dbee82426354eb9b35344687f12e9284f4220de1d8b998425554c92aee9e8a842eaba6b355b3f4f4bef8c985fde68805c7a1270d6d96d998d872b079e8b4c98f11ebc97678239c74487c45499ead43d4097d24bb502703ac7175c8d886fa75cff2ae1c5a60a3e0be18c8882d17d984a00a191bd20fd2adb8fb077dd268b20891bb8503ba5e81fca8265e2a6a1c20096c3232f0071d91a3b3a4cf86c8c16cafb3ddcb4df34d3f386d31f617a358ee292326adbc16fbdfa5a892eea8cf4e356dc60770ba90d7d204126d6d11261c3c4cf1c720664ad13876c6da4b330e315f17bc23cc945dec1726e40bb4b8c180ae3b9b4a8b703ce834ddb7f0ab58ded7dff25c796e39fa9f8fd9145c68d07133849337418f3fbbe6ce242fda514b45d2ecddfd22989446662f6e7840b98bcee47466499414a3c7e98cc091af650b10b72181ebb8b1fcbfa92987c794f311488ab7b728de7e66949c1b7e4103b21ddfee193e124a05ec46c3b681f9f921c91beddb2f9fbd813ce0ebc8d8bbcfa1372612b4175c0a4d17fc588ba2f314f9ee95162cf28bdde03a89e0c816fdb24c55a165e494619441deb0749bcc22b149e26d0ae08cea707a6921146c121785a02debde1a33436dd289e2ab05f66672d6c6827e3a7cd8b938e60630072140a6f48ff8dbcbd81f6a4fc70b7493720f18f2847745f4bbe824dea16b7277a361b96ce36a84501097bb9d8c5df5c944be9e8161b6cb1a3f68ef3344752f2b03a27e18c343ceace600f3d5257aaecd7a76f5930655e77bb911434a1c3a7ee4ae5877b73efcd8c73efe9c5cc773651d9a914c8ab0bcdc092af6984172a18e4ad2e35a70b8cf28a2bd931660c0c9e988b7b47549390e0d819e323558e6c5005bf8d74dc24bb8ba785f5d4a63349193e0bc97b39927340d9ab9defd315b849331247a66c473d64ae0bc0477a756b2ad7d3d5e79f895f34fa8b89edeb8fd2fd778473d97792268677fb07f998cd4cac5f42a2adf0dcd44c463ba3e5d88a599b558bdf16df0a92e3487cc385dbcf245872caf489ed15eac19e4370b515a57e59d174717de9eba45e3f4a898b471d1eeababe4d457d1103c58ad74374478b4873c9a72d6ac4651b0ec39e047d8a9c41b48333d7110903ee0801b9dad215920f7b3259454c129a137b5ff38dcded8a80951a4c9ba0d2f78bfab136289890d98afa843d48a3ca568889bcf66a464d23c1230685e2f4b2ae1ec53bbdafe23561ba7970db79206c18f0cfbeb7ec0cbc99e4cf56ed33991d990302c21c2f372ee2a1e1e54726cfcbfa9de568e857190faf004ae1af9b86e770cfe8e01089a82dd3bf3ce2bbf401097d7840d8dbb03a3cbfec1e55971405e61951043971f6d01d56dc0939eaffacc1634dff8dbbfc48c7485fd24584bd1eb5c85c05b2713a9199845d30d9d296294f372c490ad45cc4d300bcb81693af961c00bc52670de18121d93e65abec26a7584bcee568cf0e109ce5b5f8c3301e5ad73c8d0eb6812997fbfaff4236a73e465a0891aab593a08fde865948a2634ad4645a0e72c70e75cba7f431a80f5068326f099fc0fbcab1e27156a8e79ec02720c9e5c34a2db3755d8a8486b3d340bdd480f6eb0983abccdd448d1ca741283ad260c167787b5fdc20be7041c31a4c74bf0cfd669f76b1f5f503962903bb8e5bff7ad7b85e880851eb3039b7f4f81fe5329274735a04b941ffb42a7247b86e034894aa6e505abc0f05b8991fe1cde30bf02aa195088a3f56ad1356701a150366394f34b417ab2babdf6e7f9182f49d2b1965f33d0a0172b8a50704bf3504afba35a2ae7c26c494b24844a5fe344c8a7d27283297344d6f078a5e7e858db85e8a27742c9805110cb4d6aaf6711b74a256fd556a2fd57b7a1705671043620d3b212b5c44ca2ffe3648c6354ce02acd23d124b018b84dbd4099bcd8c6eefc565ca5d54372cf2aa83f3f096dc9ca729ebc3aeb95d4e486d83220ffe9cc4919f7ba51c6d86efefcb35e7dd27f53f84ef096745d6c744cc76bf91dc9ab3f056c1fa5ed47a688e817c5af4a86ce9e80ad3104321645f3617544e25eaf1ef15cce7adb0497d0b139af17a4ab77517e93f323319e6f61956a1d0846c8bb9fad5876df018c19893db45714a976758fc54865614bd33233dd2a1d0ff244ab7e7eca83328024129a35dc2d1a9b2ae688c631a1e108b0c3a32aff450274deff0830b453cb509053308936d0b6444f14d13a77bf78b80b5b9ab22c25c11d457c2efad8b69031b11cc5b16fd246b60ba089c4511d44a3547062888dd5045afb1bc6e204f6be6cb9fd257c6b1f4baed1cb96073c9ad88cf3fe21125827f9a65fcbef13b29da2ad07022812d39b17f1ca1cead90e8fb13600bbcf7a19b48063ee5c68c8acaab23b6ad8b76ae703c5e1c4c5bddcd704bc87e85c514659e3d28781cbed77761f6d5834fc0c193d9f28ca3fd933a5b5300f38bf858ecbbabd4ad481f0047e15e51b6e13ff20d90dd56ce467773be17072c353b08906efcd3b090a9e7a0ba8c903f3bd3b4e09ec3ba22551ed74e52663b29317b2b6870d8fd0e66c9adf10fb1dfa0ff441556e017b59f1017a978818228246c750cb04c581b1000ce1527b51549cb2dee14a804ed9c7416ceca3ebc08dcd53cb5b270ff2bb71550f5b12a538f965cd0ed8f71edeaf4279c6934fc1c51641812b83e22fccb0b87e5329203a1b94e4e962a4681ab9277934ae8d0ac2503f373009aa6c7c57e85f052ef7313d2e4b1bbad2515cf0999a07fac92a139958f379ce93502af16fb8a4446fae9d9c9cd93d61525d3bcf2060f2130180ff85a7fa04db9843cac0e09015c149ca19957cbfbcfa60ff97f47db86e1bc8b701540cbd167b9fbb70736d9069de8aae02a6414d9028a0ab6711ff0792ea53916d088c560a0825d381317b5180947400fc7641f4ee9d97af9367c0bca78581e3fc4db4fe313bae63b2eac82e8390c9cd1a34e09f0193c2e0e9f8c91c966a76826117b3c6b5d886111527aa6bd9c996186b22b643b05d77ddf56cdc2fd60c7fe5d3e8e6eaea6e8dc28c121e13a1c748b5ab708628e1a2118ec46b569d76fccd680a6ab1db1d9cf4be3f2a46eee8867a2abc059b16cf78f116602dec3a3f0510df80f58e4b8fcf0f42b3e58e7e9e62f5e4f0f5ae4fa1e6788085a76c8ef453262b34a4c927a1ba55508e4e27586aa872dd601338459cb1e2aa7beda48bb8179b66a4f2a3fc70e2fb1cbf021e3238c1fa152fca00b76f51d67862eb6a71665b93506bef8d460a18010d0cad7bd2da1a7c1f7ed48eabb3623d21dfaa6f0a8a4ac45d34a23b7204174d2d2e5f227e077c1781e86a639a09af4f9d948bf8ad8b67f830f90bb5635255445be7c9c5f425a108f08e19e0c7ba7313c41b01534c813ba71b0d818668d6c8002e6502fcbd0642975f06def6e0fadebfd3208d9d6814b331e03db3a3187fb8f2dc9389fd17ad73de1fe36bbf4e8dfc8e4f3e8df40e3055732e168c83686a8ac4181662e95d8f3e603384c9eee4188ea806619294d0e8550635a6c61befc0dd7a5aa05258150d578c46655049be11045ebd7b4775908d19357dafb0427f75a65c4f16c3d60390e70ecca3d33dcfa74344581d589c162d01fc0dbe78cd7a85f2b20169d2941ec5c5fa30fd08b8bab75c754cdc2d1e6df5ebab6ba526ce83775bb607f2c03a84dbd404ede2a151e87c6506d521ac179099d03318d5f5178a15a95ac000f21c628c16160ae73a49458c0300bb6de6d168de894266091a6ffacfe056a5059652d3e1053ca3814f8675067e67939625bf9442882683acbbcd381c994262cdf8ac10f8de805c152e52a4ac3299dcd55ca6838224064f37a7227517140d9366d8e9ddc7c67dde40ccc033b5d268c974f282bf6a0f24341c6ba4d952a65124187fb64698310aa1b63cef0d91e26c3ec606efdf11cacf96a1173b575b15b29de7b2265e270733f1834ad701e866bcbc7cf30e0508b1b69fc2222ecd8eb695f84d9bc72a8922e6ed036cb87f510e8347a8c6519861ebf13ee5c6305a650cbcf38af385791668c90b8eed6c6b355a0621e5a74bf29c774ab9d096adc2db6781c5e73fee506293f552e2d6ac86dbfc11cdbb6b7382be2f6671ea7480435d9d000d58d9b9bb834aa8c14a87b6235d0d02264f6490ed1ea5526145ccb18a9c43ab95f2c8a3c7005a1a1eee1045d6d75c26d6eeb6a63778f11f8957ca81a509f08e81a6ab50dc348b148469286eece82ae82894ba257b196ed17b6fd735a70bc600cdcc61bf8902015e2b03134c9fa8027971b1b5d7caf9da11486559456eb684beffb8b32e9d52ffeaa3026065c953d954f11bebb056b39a355a7e06a3319cbc8ed32f56508d4368e54b59b116475c26bd078ad26caf8f8f589da32f5c894ccb69239a00eb5efffe22669f2f74416ec3ca283af09402825be668cbc15cd21181a91cf5bbaadcd9ab33ee9d1e5655161fcfaf1e73560b525e91a3cba05122899dfd7b905f7a3958a860637a932f37afc2d9dc3a6747af972eb64df8190b2d8f030504f689e97cb123934512a7b52defa328cd421a593d974372e004059a6b70322c37c90b19225d8efbf6b391000da80aabfc6878042f5586f11daec9132ecd3edfedbef78e0680561262bae65c3c157369a6f38bf5f2112884fad6d05b6928fa65377a5dc6d0a97a263666b80de1914061945c5f46a0b1593f124a34d57cdd517cbbd9f5c9781d217876174e4a6903f575f3d5a215ba9c77ad01a70e8a68edad5ac577411904e08a211eda922cee6ba90a2f3a89d00d29bf94d37dca86cf672151a1da615ebb19c64d69a392d34548ce4e161003c0b38e903b0600bbdbd50bbc180d4ad5addf3e494ba510841fa2210cd59641f1f7ec1549d74629aafd94445cc654dfbfe06e18602a352b548440878534eaac327c85e3fbdd73dbc07a809571790ffd206abbc18c9655c6b09c765781ffd7a34c8dd741c400e66b43e46daab817f4d622338779fe484ba554fc603bdf651f425fe49cbbe2c7582f7c60e87fb1096c6fa743065c2b47730b2ca722b55fc153fe10954fc1b8f37e00f85d17d22fc2084fad3b8b3bc5dd983aa911cda7b57a11660f70d2e6feacd85d4ce5463f14c33265853b17bbeaa2b014f39e326b672f0c8b5f0c12df01d286781ff0d3732aa8b2e2591722fd04529743d383eaa8bc127d9d8ab812554f10bb7056d47ff1c7a17d7c6091141c73db94b72703280bb8b3a2efb7852d5e86e6eed46d0d6c7d8a306fa73d50e7ea47a076759dfc5c680e84f15563b262ba0ec8f606883695d220a23aa6471f462127da6a822215909065108783433bcd0a6330620617e3160454fd90372d75e67fb2277b899a8b94307484426c1dd1dab6204c3054b0828b7330d45b993bcc95b05f27ea0fe4aa509ba88e4b76b8d4da49cf1b5b88a5981754e1878a6f1732e2decdbfb71f110605128e1c2a8043cc81023ce38c615dd7df0c77933918f405f138f95157beb9890ab9a8bbc6ce6b774c4040e58980605cc72cd09e996a423fb59cf538493e86019213d4bef5122909c87c3c169ccc2950613c1577fc735702d543cdc527f9bacfe87567cb771f822b2d8bc9758293318fe0c5568e3ae3f8bc75b78fa5b180f14b791577b96ae9773a7a977f2b2e310c6d538db9b05f52b42edc28f7687c98e9cd8f642036c23e66faade65c2deb266e07214cb8726b6d21226a16461840e625ca0422d9fb4f822f198b2056f84116873edff0f6d953f24c7bea3ae0556794e8f10a10b82b709e05c1b0919dc2f3aa7a654fd204a87b6bd174a666e024d20c151bff9954c93ad6fcee84a6dfa42b0b037ea0bd3a72e25cc3db368f4a7898e16dbe13be6196e588fd90c1d3f05180c42f9208cbc3051b6e0171d36797c3f0b627931216ee249ca9ff81f17e907339319b9de3b1e5ed0e924da4459e59d45145ede70816b626edfbe439e9c3e0a61274eef0fefd38aa20fc5aa9d7182e799a762163fb47f4530999e01b8b778a061dd171d4be93be3a9bc3f0aa277eea066f01c4e7161f90374dea1ac6841b39b2e8c36d59bf47059da332cf7b1711b1e0e502298602da005b5212f24e80f0fd34ecadf382479e6349927cd306f3d2d0dd7def12d396de75e82ec7b4bf35f8f3d66befdb7ec33ab2e2d1b7ad5be2e86bf85525c00b05a4f29c2bcea79e7f1997422af9ef3b104496e4f0584cd36e36ce4b3db596a7af15417cef002e9e8156cb8acd4963e9315482cd2021558351110bda51656e803da14a0e7bd442ebcb9282f34ca64e3ef7f3ae7893a3ece250cf2e57825a3790a061de107d426edeb67281d635af2dcce38fb9ef3fd1f1e562d3253864cbfde9ba97a8ff689c7396fa280db80a0ad2f880dbe68dbd5bc9a5a880bfc33493e313f89352b35cc4ddc916639586d2886226232b978caa94ecf00a51d061bc938345cf27027cbd355ded06d097447416921a5b59584b3f4acf68060096bec5ddf96c97bf47ce3309b74dae62fe0f0e8a5c7661508ed54ae2f680d82d51607f45bd5ad2e361852148b25b423f16572eb32ce157be175df95ce101a4c521e83840c3f36dfa3fd6671f61d803c53f1f61b4e4669895fea56f3b8c18c971bc232fb63a7df9e97ff35b35e31614eee40f84dbcaae523259b57a5d48f952abb7650f61b23dd84cccd94f808261893073495295c8e84ddae4c06d312da55e00eb1ac7a36d317b55169f783d62c3b96324a60c946df6a57dacb46d7a0e470e91ec0e6e21ade50f6ef07337bcedcb1438f3f904d021c6c5de7051459a6913577037f6dcb06f6a3cd95275788ecec6c3eaf7f2d69b94824307c1337907ef3505355a31baa58a9d624fac61e52f565adf8006b48047b2a80055f9e39233b3eecc98695d10d3616295f187ccbf65b97a9c11e04a33ecaf6ca1e87114b7e0c3c96cf42ffb6948392fbb68096960ebab61f2a20a1e963bd30b91c143d2534a2655aad492acfe84987b451e8e1d6d13eab201bd481812fb250da8bcdc51bb0891c5fe80e7392544d6d05354de858411fbc802f9fde26efeacd2727f21bd318c63f0a8577ba10ef93d780d8f57d3c09bcfbf0c198bb8542b8cae85fe1246c0cdb0b3e4b54d760b7b14aba7ff7c2898a065c9e9918538a4ac6095e8bde79427149f3e8a328086433c60d238a3eefda3b4792f95d9567da5fa7d52e9e6b892477a643199e9235cced4854f29ec0739cfecaee96d02ed544c8dae0b6958dd69bdbec50edb8f534b58635bab4b530946a86ffcda42521f3be572f9848e2d8e2261ac55b3dc7c739cddc7326e93b4553e5a15ddcaaa0438a401fb62948913b338b43053a1729950cffc8fa87acae99f76ec0a97c4b8a8e3a1274afaf9dbd3e3d9006394c2ef632dc76dd05607f11a31fd9a7d53d40504d805ec52263e8e6aa2c7d27523a09d34d2363322e20adcb25598dc936467b5d766ed55f36fc61dfc34b70f5ca48920b84cbb6e9ea9868805f17d7ca3d3d592c8b4c241d62976edf1b4f675d199b875a0f684aa56ea48e2a5872714b986287efd8be31c1c24bebd1d645c2ec159c72070e41e11033be8b8008630cfaa4e2d94ce8f2fe13cdb3abcc6a064b3de33bd8b59015b85fa72ad7a69cc05169b79d947cf78581b8a3a2179cba45ee11183444a7a58fbfc54ed266de09306b1306319aec46f5a387249757664e7ce36495ad3000445f3599c88c4e4257598681a9b2331794de107af37a8c0c4cd21aa9fe9546d2205f47498ad80fb53a0a33eb9de30d4dfad51a40d4d07e0723ef9de5e36c0d834f0414e2581e19697d413b38de7165297436862063e73dc1084a8d302f90f4c58845561ee6eb4e49c1991daea0ea64678d06fb6939c52335457ac760e79d2667a01ea1728b67ccbbc8739187199aca26383557347396cb81462c8b388aa2e8feaae8aec4984224e14e134e7fe8065d0bc394849adb1b1e6ca4746fe806e22e2d2449a9b05d8732a38ef391529a81d4f1081a607e6905b6b51fdf329b5da041bc855cb948c5c62c568b948035a31192da0e7fef669a7c71d2682da8125620cf2d2213e3ecdb163517daeb7bad532c7e5fd588280f797f21dc18f33472d1966b284c49654634a72fbca0b6591976a2bb68c6deb776e2d3bae8976024f847daabd587c8b18d67bd0bc45a0991fbc28e0d510d9023cb0ca0b0559d08854172f59afb3673fe81a70f95d6b8760b36ad7b1a82ff9bba05ce84a88d86519f57facfe1974303e301cab9d7c7551e229d9e28ee74e8fee3c3d6744e77e8469ae3c1226d184a9b6886552061f0dbd3f5c17e06ff5e6c7f47e4c1fa21e72cbe0819c87b12e2d67a7d6f32449c7d847b3fad265f0fba7a49670b47cb674df2f651aaed21dbe35952c0ce23f7300e28912acafee4901a7bb61d7b94b198039c4e8196d11519a01bf08f222525fc7a3574284cf4306cb81f2126b19f86e3a01e25295ee92ce10e748de7cf395125be9c6a5cec10651363adcd0109e84c43e9028ec8714eba4a60f785a3054948b2c41803742a2ae2c7f1cb2b4fd624be235a413d6e27a9f28e51b04229ec575ae208ae23892ef3a50c2fd947eef1fb341ce2a9d31f09ccf34d3be247e444dedd39e297ba3d3d3b081cdb6d5e44b7d149c0fbb7f204060aabab3d78fde13ce2f0ddcbb9247e7855274ce24ed1bccb6e92e16a3b6803255172cb88a4c39e2ecf1044e2814a6da8042de29fe8d1e4b735567ae1f84cdc274b4cc7afd91bbbf273148630c0847d6a45b8481419b1873364ee79763ab3c9b46ce6e33a02297bb6bdb992e616ebce6a9c2f20dc34a08a6b3e4392a1efa55d2e2f235e9002c9d18338d22a7294af77c3e0bd1dea29d40c50d5f007459dcf06ba8d512298bf6616c7cf15a3ce7e83c46b82e09558dfe6ec3e81bb1a1af1c115ca4afa0fea05af172aed5ad5fd45bcebc253275164d9d951a36b7937fbfbe3955bc55fcd58783f8e23992af1bc9902ed95ac885b141999bec71899c5d143bbb28418e6dea4a31febab75dc0d1a0449eec69417fcb8ce9bc8eedc92457bd43e65f06ef02283564d5264db04699ae0469fb0a06cf5cb235fc96cb3789dcb3421a16878e5c426a3ccd2ae700c1dcf001ae97a4f39c0afaebcdf9266c18b6e765b683f8db3d193b08138dc54c6df544a307447ba6c4550b94a0e3db0dfa0bfa51e0496e5ae11f657b20fbcafdbc0161c2f53838e3eddd9d96ad4194ea01f1d69e55a65e5bba1773ceaa22f4806fe2fd6c799049e1d6b9d4fdde1ab796818401d001a95809b81b1496f0911637e36508f1a0d09fbb7b32e0b2b60b7b1d1faf3236f1ad4ee3536c5f2c1a88bf59137d36658d0a5c1d9c37b267a48766fdc14f34b61743b50f6e85299bc9e0710ca5dded4b7e6dd66dfd8aacff3f5106998364e58737197b92268adfbf8881f49be9bf49e5e6d59967b1ffbca443f4d98f7e6126d004f6ca3eea7d71208a3a749ec5b3485715fdc7195c13285e784a4f83008d5c20520f325fb7738ac8ff9c282448d4492f4d4bd66d9951f646c4ca66f35301abd4d56c6ba86f4ea135879de4df5c1220913c708c4c84efac83b6a441229bdb862f9579ecf56edb6f4955c482ed5d0e0a1e64f9f1e2dd0ba29c41e071ec17c39e2a07c06ea82586ec7ca949f640b4e2e2beb6ab6c5a178b651d3da4854f61f25f5ec483d2d5a47b5f8ddae9989db438ea39b32fb920b1f5f9afe127e7bfcd6d5a36c135df7e37183e13d41188c13ab93760fccf61ce64fc83985fa20c32ae44e9fe98231d775cadd59e61ee36a3f967c0b4335c4be0a8742864c9cf49980ba96d734ba32b863d3973b5867d8788ab37f155a96fbf4ff03c171d0cfbb400fbd9ef037f577c24f3965517193f980064b0d1eb0ccb40b22b346d4757dd555c7bf6183f7e442", 0x2000, &(0x7f0000000d80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000600)={0x90, 0x0, 0x0, {0x3}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000008680)="ff3b3d22b4c0be7705a7c6658b6077fbf318acaa5c0172e004d082cdc01edcfcc326780b13d74325059f018ed75683a656f45bf6d6f69747a390e879587c8427ac7c5d3f69c4de75e8d953e0938506632920a3afb44842ebb60e9bdd7de87254e57fa7db31655bd9c3fafdbdff53275bb2f65e8580b10dd258bee75ed7b6ba1b7aaeca83f473b5db12444f53313c87fd051dbe53b4f0aec2d6aae49a8423e4670c7d080cdb0fbbb9001370733cb44246b103bda486290603e42b7068b385f2fe5be3a2de72b19975aa964b3dd4d3d0260d3b64de59c3c397bafcd847f0fa7574fe0120427d75435a11d32751de5b7d8f4e74af074526e7f89c8c1522c16d1a3791618597b6f7f747c0d0f1e5e3db270ec907934f4fab7f25a17ceb0c9c30012b1a9640f81a3b77c5256c2c9e661c8a97a93a4f6465bc35b82000040dd653a9ade5b5906334e92f948df0011edda9ff8e8621d4dafe780db81fa447e8768149acc52f7a48632a3b7959da5b1454ea1b5b9a394bbb90de4f3c8126dca51f30c4140e5ccc8410c835ac430c24470b5ff3bb220e790ecf424157a073fa7d7c511de2d35002142957cbf4f437618903b8df262ed33976a6b3465c6c2a4f53fde35c7f142b97de0cdfcd6d4474326f705d43d939c30166ffe41c1620651e2d0adbf0dc0a4bab8d2141941ef18795b88ff5649fbfc72003799c181fea6e913dbbe28a49d60f36c8c154cb49643eecef6ed77e1d75689f850c68970b21c9c4e3e5d5a404e7769a822d003fe831e74110be96142e83fbe78324e4107181527daaa5d633fe53ef2d7e16f83e6ae5476f8b8929e674bdbd22ea4494f94ebd295230f11b90fecac443889abcf01260e509d348ed7d3cc572d9d649d50b404adba71c3230e7de8112445f92d30354dc82b4b3fca2d61a096a53a27ba80fd83c2b857cc49086a0387f4ee3d3adb72a30f3548d0282b546037600b65d6c4381028f15df72760dc4a6d5ae6adb018d09576ae84ea7253f0f7673b0179019b2252c2cd309252b79be880446f6dab5c02f5a6fb9506a91d8f5f9c99e607ed0036ac8d52219dc745d711dc8d4fb13355618325ae1cef1fd293c4d94b4bdf2c758af75d4a79f7461d6da0018461237a6de41a26d0699b6b5fcb2404b54f446f197fae40a2e320a330b1230a43d64f9673f2145a8a35c052265827302f772a5fef1dbf6fa6931f8a46078d64355d9e23cdbb91faf0e360c192a5a065d1393341ae1918f4bf2a6034a1898d3066bf411c19b30ad777a0e38bcc79019d176aa1bc88c2355e0908a07a54fbcd099cd878cab3c9dc93e4a6326c31e0dc10c5a4c5be066d6cf78dcca0f4b2f7b757dbf63e199e69c5b5ea469c98dd1a7fdf2903e482b3e0e30330f077e6b394d6b42f8c1e0c5c6f5315073de6819e79bcd021316381b0c60a255ed35a18774ac46fcddc8b749c4f8a22a5f26d2bb9a8b44563f7aaf5992c24382aedfb24e7d3e67e472c09cbf349c23a74418fcb83b0f9d027f46f753bcfea7c19b1174a69106fdebd97635da0f898279c3bd286fd3cbd951a7b7011187298fd7e65f3e906c3b91aacbb8c77048561ae2ead70977c1d6e075c961417a48fd83e492f30cb11d11d0a0e0419373021378d15bb03d17789c93bb898fd921331c832a211fe46cbb1b80464f8da35a33716ac56b1ab4ee190d7af284121c86fafac61b6e3b7fb7c2e8d10594f4084cf3c6bcd94c25b88c88f5ed4f530939ecd93078037ad69ab06c53b9425123114b7f1a91e4e70ba9558543b7bfe57369ef9e0221b7cd386eefb91f1a1be5e6c4f0463d54f7e2f0b857ce772346b33a34fbcbc687b809d19cdf804161f2c01a7c3c63e92c2bd15505f15df3b118fb02da4fe461c8f6b169437576c314e4f959fbb783176e611105a24d9c8bd09b4b57463845d85ea5939f3185e0f094ae4dbaed5729b98471a5d85c68ccb9cf4567bd801f20be2ac1825e39df51c2ef278800081fbbeb6b8a7e49a908635d5d259426322b6ee61ea60466e4492aa941d12082f7194378c5278626424aee2e1e77b9f58b9536296cd4f663bf1566f051cfcb674ef84019aad4527a54a911c846e498c80eeadd8312af7f4f6fd1255cfb584465cad41c86a8f311b393624186242fed6dec9d6fd5fa226feeb0f91156dc8546711ea68c67416b1af4fb8dfc7b2b746841c72ac715b630c2f13ce8d244f4e2aa94d31a9826252c21d25f6e867d33f1310946ba4b931c3b324fc03f3ec936a9dadbc8a04415b23cd51a832a1143c527fb31750818256c5b96b38d17f9e287ad6303a10a31e702becb655acc112546d328fc147f1a6c3b32515727daa6349d4206047db5bc44666fda7e1774efeec46e6d7f54c41e63ac069bf2ef3b0f6049379cca0042b4f060e1632cd5b71404fae88921937e43d34fac86c5b6ae8580d8e9308165d3eb500c56abffda81eb46661a310de197f6c3fe3cc85e2b72bbe26926252c3c11fe55556e5fbd67e86db81785e81e87fdf1a0b0ca12f61f4e7dc1cc74bc90c81f0fda9a663c23ddca068b49619762f818a15283afa799abbe76ce80c069718dbaf184ee02557a7ec4ddbf9448ebe381ad4b102aa002bb82cbc13fc085154255c5d4dc770446dba54682f6881c1c44cb66a365cc807544093d4a2b5fab0ebf22bc456c1c4e4b4f0a5c8e1c293be897fe6cd1b99f0b8f6844da0e721807eea438776847970c88564884ce574d9945e0536116843a17d91df48e3803d3bdc76937d7db8cc4be0c3e408bc6dffb958ee303451b1395f38095b2b6a7a8b247a37679bd38c744f585e32d836855c540a7b1a0859216128eb5e5df2c43db6eee1b392c9d82614e7c8572668fd01908fe4c5858aaf81cfc59d444069291ae8a3707df37ca76b7c737f155400e7d9b3986694825fe487bae91c9fb3843ba585a15c8e65a38324b27d52afc43bd86bcb21989785c6a3e03336e52c54ba320d918d8adb5b89e33f4033c53961dc452e56fadf301e0c49bcefee6f3f7d5b69c5e7cce8e3beb58cee4d1e77471d106b875a0c8ecd5e9e9d1fb9dde408737dda083fed3d0bcb29693f7e5c1deeed6cb5842644910345e830a8583ca5c4895874e040027750d809877c8c110325c4805d2fe2aceef3d714ffd48e85b729955396e4e8d5e992fee342d1dd26159da62c3dbee7bda44b7f6932a74fa964cacbdd3b70598cb4524675ccaf885ec0dcc59ce1a0849dc6e6ffd4b002f67e96f75ad76ef1a50a4c84d9b0d9b58fd6085a9fc1b968c9714589b5e7a9dc6634dfca804c68e56846a07ce1c114f55d15a90a47d248a20728b22a97d50fb3187f034566efe9ff0e2d846c58a5ac09371932cbaadb95c385e01f635b3a93ee4be163273e59b851e592c3ebb20ef9e36343b0ad0c1dc41e5bf133186548cab529479801f2f47d439360a3a7990da6dc0fef359bf4c159d35cbe9b7516afea7bd97e77d61ba970a19c7798c65f93360828acaa6028e187ed6201d6c417424fe444836553c9a923131a9398d12f9b7bc1a9734aa7df6e356978a76f6979cbfedcd2961c99eb57035f3f56a7f7c2f5edbc28182ed95308b2a049fddac98867de1040f5e09025a92d1eec61145a547d9d7c5ed7328af017455eaafdf87cb93b620314c7ef63760a3c348d33a8ad2599641e2bbe830292b6c1c54962c1ba854ae2761e4863f70d1c0fff80e8ec54f4600b14aad0d629ae53f18a7ee2f319e708276bcec46d7324c3e67e76f66e02eff2961051baf6c73816236bfa5c37464ba696b4dc7fe3743137b349cfa88fa8cbe87d7d227be75c4ddb6048753bf8396e4cedea12f50b8a4626deeb60e799f6fef9df2abf9eb7e9b250c7d7ac7bb7b6c2995025f697dc17bb82a77faa5ae5957994208cf2bbda726425308d2fa960e77fbcbb35af9d7bce25a9766546b5a32a82e2fb7d28e0750a0690db3993d059ede0039e45e8cdecb831d7e902b2c15eb2d30fd46a31542bb52072c90fcbcb54eb7f54422c0205f0d7de870c3e349480f75ffc0d3f392a65958fb3b913f2318f28165830a3c780894edfde372b520dc5082041ea6ac4df253993eecc949d57cfec39a462f19331d830f11d459684cb67dccab0bdb741d72f0d34de2cbfffbc8013fa89cefc4521858703910b9bb29ac91917509bf3da758a3b4679e9ba6281c3178dcbab85fc25b15e4c27ca6e76099850df0a46250345b0a655dbfa54db704ae52192d82b1c22c5f6336ab2bd7a605779c5cc8cb379b744e8257f910370ed734ade344949d48acddd76e178c3edd34109f52698bb14d529609f8f7cc323e22ab9ca7d5ec4eba0c680b3873267a13c96a981261bc6e2832e0599b9b55b04898565f512f428fda6a7e55e4395e3a354ac7486fb25eb9f5cbdc03613e074d593fe0ab35ed8dfd545c440ec9302f87a9a39421e041468cbe669ec57928e81192cc74d700e623b60a57f4ae2b10da8f5b1b22459d720c1c8c5ccc858467bf0947d4821082cc3d28f213aa5077112b9f3a869a5ad5ea7fabac834183dc566450e74555e63f9c6ba3c3e6c875756796a935ed6c77788e04666d24f6fa23da2494169138f68f67614e960c8d56a4c5a715b39833ad7c7a339d612e9fe1c66d6ad19a1b6a3105c7159236d2b762fd8b960abf0863f334bb16bc5bbe70ba8d729fe0fe60caf46d300abb0106f7f976e7addaabde919b3a9981e63a38a78e18b6eeee368f35942d14c026ece9ae98841296fb5fa2f0efa15aff6e4d8291c1a8ec0c59d044c2c313220c5791b2ae379ac89372a78ce80edaecbf1c05a5fdad1c7cca6c8c4782955bc49fd26a89e9bb44095314267ef9a5d5478939f8c5aafcdbbc0c9745a9d2178abf332c7c99d9b5f5474a0852564a82d056bfcfce4b6ba58b09514fb72c0700dee026f8b441713f664e0b842c38c85905e649b895177f06613eb16b2633b106bea7a73783f03407cf7d43714b945ee3026bdb7ec186e0db396fc4a2ddb4d7db4a6c3f86b5b99ed9f17f28937e2cacdf3bc405bdead9871f009832be27f08040aded1ad91870a233363359007a836ebb99cf803f160b6c54b91c3464df5a30abc9bc4b4312999cde39448d94f3ad2b925df84b5b9a3b6b05929449a4d2944fd43336f7471a2a5900d8352ae98de0e3142d9fd35aaa28bba62e66fbd29453298fe4c73b7a296eb1352143f7de35f7df94f61833c7054ae3845699ba9cad7ddd4bd417d763a4771b8e3639f642e20cf241cae87928f7599c3bf4fd94a4473201806f5e53142c135a35d6ba90fbf34b4ee741246de55e5206ea674f609e51a10fc840299c54108ac5ab163bcd0c8648784e79cac334945076b86e8e878a45cea4e1b03f93cd926bd658ed640efe29780fadc5ca17ec09f73d7a2f56cf10d9d313ec7ca668c8a3b24efc86974267ac9368f8cfb15388fe0f6bc60e5bc87092b27afe22fb1e174ca461111a6031e7fc1208ad25fc5aac71b27a624ba31528b05dde315a738b812e519d6991289f08ad3587848f4af253068be4e6727815294958d55145385ad461a122328ddc40a6b026ef632965ad75b3d0fcc9ec0f312d6e6b8c0da8b63e1fb1b3e36897ec941a3e9e6c7fa5d38524e53538c37b4293c687a4d00563d6400adba690360488703c303041dc6c2f7b59ba29c076b2a0271d4275e1a9ace0f7d76f470d4bf4bb63861c4a46e410c963951abb86a06723d212b65960020dacf740cd6d056b00b996d9e18f507537700f6119fd1161613eb4c52b3078ee8eebc2cb2d7a37a3c83adafc48a12d19d2c65ffee023b9b03b3803689a5d9a27a076e9d77932173a4352cc1404f0957c69fd7adf9d2c7f9a81de030e9cd4ed5219648210650f8b6be2743793545d3d19f65f30765bb5709e01c3e7c6f92e763471aa230bc4a8bf1b1acc788fadb8136e21c67770e0cdf6db4ec2412001e1d1b82074a8c00f4faf350e79a424db99feea06f412d85b1db976fce09167af8e72a0b59d1ba04e3e3510f8a52b20a76ab8fda43731eb32964cbe9dff5a049059bf26a3a8aaa4c76b5fe2b9a97f5d152209d7c2dfa8fc2252cc64e4af571104f9951bfbe82d070c3549bcda5e65b51fa89b2aeb86d5ef9969a9f968945dde0be30fc0d48b843b747333e71cf239a7117918b912fbd0201d34659ef328d82b9d58696d436f1a6f88a6ced0eb08448ab113ab13f264aa7d27efeb85c8cbdc11e2a9d146bcfccb0c4b74846dff90dd2c86ac81b31c30508c08a289bac1b28410676849babf5e28d429aab2f735442b935a612745e5c532211a2f6fce76e33d0a4127b6356940ddc31441df103c80a93e32098ef7b57b211a7289b2fbd923a15582b9cb585d91754029f8864a9f9be93e9d361201eaa8f0212c3325a8890ecf75787cbcfd36fe0b928c54c9da9bdda60b2b7fbde98b501e5d75c3354bf2ead7edc8a130b28e00ff5ab005ba635079c996af70783bef810c123d44f9c4ff6d25ed59f0adff012c91b09529a0ad82d8d18e0e4dbf7cf04fe43e6535e9e588440f7c1cf323c49a09d33f672b7f5a5956aff476e43c7a36a605352a0f4636f3be1bfae31216b9bfe9a478eb2d5aeb3f5fa4bea1331e09b6cb5ee50a5cd6e6abb356085dff9a109fdefc7e073f4652f59caeccb294811c801f5c08f7e25aed2f39acc6f0f489c7bccf9cab54316ab32043f742fad7a41f32e3207bf094dc60ef408f4612205ba75c388b8729fef5956f11b7f6b2c0d3c1b88d07d1f59a97880e8662e26c136b83ab0eb4b4caec4e4075019e7c2d8ceaddc4ad6feb608330189cdcfda7ecfd37de5e34112dad25f943c5970fb287c68b36a6a1d85a776a7cb743e1e1782421112ed80b225b517355f16a2a8ecc5711ee52363217c446e2e83dacdcdd61e7ce7362259af4aca9c418a38f07a1249f26cae5a44306f592338f6409b168b3ee0cff386264ad116b74cc219459733aa37f3c024095d93ee29427c3809c3db0a1b1f4f2953a06d3583d43f2d8e55a688175b9ac0b6fff1ab26cde397bcdc84c241c01c48c9b8fe5afc6b246f573c35eda9c087b2b674cc49a40b7327efd55daebcc1e601bfef06bef7401dcf1cc6d16f294d378d8adc4942ab3b8b747f3221f5efc7a931fe061307ba891cdcd3a1abd4494585148de30cee439bac523b30bdfa3e3c1541ea171832d3f936d98461a30b07bf5ed597f4e84b65f20d36767ec926c521fe9c81ce10253feb41b532c207eaf3723fbd7c82d4e8f771cde0039a00748140f245142c5a41810bd841b53e709e1a5b7ffb343f86a70de100a8d67f469c6d0d859e5a39db7fb4d97e0ded34817246747efba6f76eb566438cb8fb946cc2b517e3e2ed1456e688242a99c522b4bfd602ee5427a796b084223cc37e862775ba43a53b6deaf674532c638902ac23f306196386a91d1b9f4f5fca605116ea770f056c865cfdf37f2f52cf79222bbf60e09d6d42b7ae3fac8c55aad8f47d4ca158da47257d52bcbd47105ae53f6c0d4b3e019fbb27ce95913d695c00679010bb2cd5b1420e58985004eecda081bf506b74703f4383e1c61180aa083ad278d2d500c235125e5077882acf48fe41f5d9f524013d876cfedd79cea87c3a1b60f8d911abacf0a8b7df83bdeb791e09eb5cd9333f2d3d1c02e262749285a6019fad40719831634c571a58f6922d5a19d1a7c3051067efabefe15217704dac1bf4c6d3935951ffadccbc85eac56a3f51d859ede19a3b57046958c5151bfef867ab3131a71c353803626233020e6b3d3d80d019d258ade97bdd4429bd597d0e9f9deb04b2f9af99c18a33c2ec01791ff784b1126adf2965d3e0ec1cb19b9ac94cfd25ca802fc6b0f324d3c370cb73392eaaf5640ce3aafe256efde38b2ab807b1c42e5f0b5a4a5974161981fc51c8b34cad8dba7ba49867b6ca923c5b8816ad75ef5e1d3d5a81ef328a90bd619e6914f1b3e80c12485fbffe979312b3b633c83073ebc9bcdd333b9d800697f2db854febc735321e96c03ad3b596131f5a3db45ec7e59b15588107543445b65bbb6c0a07b49aa4ffc06dd9583492805af3d893c8e2f86ce503ace9adcc05114d6925807e23dfba45d316ce8272b5a407a8b56dc9525ceb2ee3df4f736ebae9c0ed5db426d8494b8d170769778a19602402b741ac842d3d1757f70813574cf8f32b575a332110217921f54691303f9a0678ba64a45457662a5eb2168a2ad76430ec356febf1bd0bdd7e83ee5889e567f5bd8ef1bf4620afb7a22f08e92be3511ffea3cab3d5b734787ed0f3668fb558e1c6c219ca37148cbfd82ae565aa39b19f1af138d935503eba9aad399d62272d030c776d824e5530d6696dcd02ab54da230e9b73343dbf19db5c986afa232133f15eebeceffc725217dfe8ce836c05aaf1ed0acf63bf235a1b449c14e92a45c66063e64e82ea89ab7734e2bc29cfbccd4f93f21a99a2d82c6e228b19e88b35d3c9c99340e1770ce165e2c3cf8651f6639f80c6bf49263b902a4c20fb4265c13f8c46835f43c428bad3ce7a43b081e30002415cd1134447325d8f4792e7f4a9547940d7734f09f4a38adb2193134dc62a6f60a81c4d0e42490065b5c67fe2fffc703fd49d1b2d23541802b68750cacce77650eabc728f6ff308558baad62d5590aa8cfd43589eea6a3e1808a28daa42a15a6ad6b9ae8b598f6be94e0ed651c6fb5d39e43e360f0fd06e814b905e6135a7e88645961887a262247167933c009ed004db165d37629cca6415a61c8113b51d95ca02389a6da6fdf6a0479f8925a86123189a80aec1cc60b49d33deaf89d7a764d988e7f26af6abe3c6e4d153bce27083836c229e756c9509a15e18a9ef1338bf4f097f0816b91b88262d97751c7515cdcd3515872ec140e8bb43752f882c2cfae8509b13de79288b4197d28853023df3dae525b41bb13c360a78f55efd15f6cdaec145972ec43a8691a9a415c8f1cdc324de717ea9f9612cdfa539253adcb0d9cde40b755478a07b2f7c2e116a2ae0fa2d9287409fcc875aff5d9ef2232648bbf1d7306468c0639c235e99d2cd44591a14df7b1e05f183ee1dffd839bdb607d78299d02fe30add5ee26fa42a43c92b55777804ec39375a04538a40cf1f61aecea895ca32fe97053945191c9c466ca6d457e3cc6faefa66d62195ad49c2d7477c244163b60ef086fb51d6c130d6a6eab3dc470b2657abcd055193f78ca897157f1ef690504d9f37e1921c584bcb231487ab3bf96b8a78c0eb60e4a1037ac776f2c89ca8d4ba88dc9584c02c9f755e8c80e136d3859d89f05d7dfdb1a2351051c1e5e57ec88c481f5ec124517094c0efb050efa2cc94003a2d4a6120061c3c814e99e417a7aa3a23bd5ddaf79ef66a58f76d2d37df9e1f5c7ef5732cbff46a2d3256feb5db97c21a1692923593ab879f998365264a591c4b3ebdb671e798e7a3c9c2211c89504ef1e993d47fbb29aa2637bc2fa4fd534722e00579c06ee72b3f8c4023fa945c2c3faf8ffe607e14b00c2bcbebfe591d58c51d31e7a6c6eee7c701ab019247c93e664014306bff10be347160627762b5df6f0846f23532767e8f7109625f92d8b9c04e6ce4d0082b789bf0857c3df2fd18035d97be9d7c00e8b8ee89d3d66712787f6123007dc6bbdbfa8f9d494b6a911b4d69d9536fa6771cb35609c9294e7c396db7425f417e94a593d52e1883f4351141c0bcd9ce4093dd703eb9dff7c975bf88604ae1d64c7b220a5e83bf6b4668fb12def0c2fa8fbb13553157f8311648c6aa9e06d7fb8fb2226df8177ca2d18cc408148f87f122b992453e5ad90c450e9392ecd861dc3ad966bac89843afc672b17bd19ecd09aa97da73f42bb795097603c2525c238b2a99d8156d2ed7749a50e3873f0d2ee083946d6c0e02fc50571980f4e87bdbba640b37f1ebe1262fa8394d1c744ffc6a19b51895c70b30926a7d932e5177fb1c790ba1d3f6f90e5e98ca22be23d8ada3ff69ca3744965faf2c89f2415876b44ad3e8b7bd00d256438551794e9106d04a30adf3581ec0f10f4a6b28169f409a94365d61d08f9d14ff80ea394ebf5b39dbea15aa24b2cbce78c1937d02e3dd15259963b8651b7ab34b723236aaf954ebf55103e224c2fb3c8415df4590a79f2d626fde37a446782b7dde904914188bb88a309013e453ed96453f19ac22c948d10895f39942a62e0d95a05538c0dd4e0867e8776ab554acbffb49f0966ec9ac865bf014e0d1d11163873328c272c7c588e37f94b70a7c6be4a30c6c7afa19d142c28c0b33f6ff732936b96364bfa2aeedc3535baf01c41cfdaf7fe73b26a058cfa793b3db5051e6b03de5b1a08333cb3859f3944b2e242ae392bac509d24e12392bc8af75f5f33084a8cc854f1f83301d7b39bbafc9681274ae0cb3c7c962d162df6afed264c8714863c529ca306d8175dd0ab4ecd2d9f1fcb7c83aaa87aba42b41f762b19aba2f09b165d996ca9a927a8136721c96feff411a6dfaa1a7ddf9c2b2a13d0e61b21c469725311cbf69fb0ed3e98c819dbe0f9169ea17fdf05667dd371ed633e9126c619a7a405b7cefa30711ac7363c80c7625d70b5fdd990bcf2444e31a71c939041806544513756f9c971607137a2229d94279dff9c350799fc108a59202bf21e90eb63fc0649f79a1c2757c2e506251c88f6e454d065198047b289cba06779a07bcb42231630cb57d527a4f6e37df7c197bb9b3e983f2ef574662e3cbb9a85cfbaf7df39e4c38ef7cf2ccb0261b83f8ff80ebc24d7a379b6efa717671bd9baa9e321ce759d03c195f3b8c847394a9700903b2e168581ba858adeed8bc98e3cbd8408571faf8ce5059581aabc199f62109ce363b682aef415eed5e69ee3f2d794542c67be73942aeae440350a4951d32b31b80f24d47bbfff49f45214b5d013ad2ff12442356bd5b9043b74cb90ae6b4d0d5332de7534f49f4d8a07554d88f32bfc1a809420ad6edf7b47558c54f44b465882dd5a9d5bb148d0f06e44eb7b09a5557210a190debec3219f1a8b98656acc82e3dcfdbf33dd84aaa68691570f6905f5e2fc37e1de3afa07c63a0076f5b244a0306b4c8a03ca94bc9528f204018e0df90bee2765c4bc8784ab5f7aad6260431aeabea6e88560a224f8ed7e41d0af722364a5f370d2ce689225dcd257381a8a84db20412808084d8f6cf306fc3e6802046f97481eb8be6d0b2918313eabd1ebf7afb4a7bdd46e0997510ca21c79d36a5b29abb8a87ae2f5eca171a19a7a74fedf35f8a33b09c14118daef233195d9e8b16d0bacc7da54d65d1aa0a0e2e3703378ac75cfebaf25176d24b29fe43c505be924b1cc4b1fdd1c4860f2291fbc78e83da2f92baf9d8c0b0aa65a25736f150fb0cad6ef2593fb61360e88365ec65c03bcf413908196443c96938d7dc92a8c31e52a88e2b58d2e0ef6c46dbdcdd7d6cc636697f911719a2c3e55f7e21c0a85f3c40674bd83e0fc94051d066095279e2335970a8a5d6d5eb8970e057fa69f81f12f7de7c4efdf1f7dc97bbad28566ec376907b975588a53151a1cf07d3ad0d99656c6fe3671f35fde743463d783f3ff00be9fad2f884d", 0x2000, &(0x7f0000000bc0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000006c0)={0x90}, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000000)='./file0/../file0/file0\x00', 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) sendmmsg(r2, &(0x7f0000008600)=[{{0x0, 0x7f}}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x32, &(0x7f0000007380), 0x0, &(0x7f0000000600)}}], 0x2, 0x0) 16:13:46 executing program 4: getsockopt$inet6_IPV6_FLOWLABEL_MGR(0xffffffffffffffff, 0x29, 0x20, &(0x7f0000000080)={@private2}, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000029000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f00000000c0)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8ddc74424008fc4bd87c7442402c43a727fc7442406000000000f011424f30f090f013a360f06c4c18d72d68366baa100ed", 0xffffffffffffffb5}], 0xaaaac44, 0x0, 0x0, 0xfffffe41) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x1, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000140)={[0xfff, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc5b, 0x2]}) getsockopt$inet_sctp6_SCTP_GET_PEER_ADDRS(0xffffffffffffffff, 0x84, 0x6c, 0x0, &(0x7f00000000c0)=0x6b) ioctl$KVM_RUN(r2, 0xae80, 0x0) perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 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, 0x4, @perf_bp={0x0}}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 16:13:46 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xec000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:46 executing program 1: r0 = socket(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000100)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eefffffffffffff7000000", @ANYRES32=r3, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x58, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa, 0x1, 'netem\x00'}, {0x28, 0x2, {{}, [@TCA_NETEM_RATE64={0xc}]}}}]}, 0x58}}, 0x0) 16:13:46 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$PIO_FONT(r2, 0x4b61, &(0x7f0000000080)="18") 16:13:46 executing program 5: r0 = socket(0x1000000010, 0x80002, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="4800000010000507000000000000040000000000", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="380000002400ffffff7f000000003c0005000000", @ANYRES32=r3, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000600)=@newtfilter={0x7c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {}, {0xe, 0xffe0}}, [@filter_kind_options=@f_tcindex={{0xc, 0x1, 'tcindex\x00'}, {0x4c, 0x2, [@TCA_TCINDEX_POLICE={0x40, 0x6, [@TCA_POLICE_TBF={0x3c}]}, @TCA_TCINDEX_MASK={0x6}]}}]}, 0x7c}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 16:13:46 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xf2000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:47 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$SG_SCSI_RESET(r1, 0x2284, 0x0) socket$inet6_sctp(0xa, 0x1, 0x84) getsockopt$inet6_int(0xffffffffffffffff, 0x29, 0x1d, 0x0, 0x0) r2 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8001, 0x4000, 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, 0x2, 0x0, @perf_config_ext={0x0, 0xd99}, 0x0, 0x0, 0x4, 0x8}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x1) set_mempolicy(0x0, &(0x7f0000000140)=0x1, 0x0) clone(0x4412c580, 0x0, 0x0, 0x0, 0x0) sendmsg$ETHTOOL_MSG_STRSET_GET(0xffffffffffffffff, &(0x7f0000000780)={0x0, 0x0, &(0x7f0000000740)={&(0x7f0000000180)=ANY=[@ANYBLOB="20b1d8f7bab768e221e5cbfd62420639c5ac821dd8dfca4cc29c768dc94f7ba5127cb0d454bca4847f5ff438b97eff956d015cc623f39573398a7d090eb94061e607f4f2aede0887041c4816e49bf621693406892550800fc14efe24d59eabd9fdb99c81d2b13bd8ebed5e2e2ae6f49b87bfa09f6d1145ce0e164e6390fa8eacfdb8adc9500f8018e1bb2c482e29a3fc52c6f6ce7b26c003263a39829c5c2ecb81c4b55e8baa9891", @ANYRES16=r2], 0x28}, 0x1, 0x0, 0x0, 0x4880}, 0x0) sendmsg$NL80211_CMD_STOP_SCHED_SCAN(r1, &(0x7f0000000540)={&(0x7f0000000440)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f0000000500)={&(0x7f00000004c0)={0x34, 0x0, 0x1, 0x70bd2b, 0x25dfdbfb, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_COOKIE={0xc, 0x58, 0x7}, @NL80211_ATTR_COOKIE={0xc, 0x58, 0x3b}]}, 0x34}}, 0x40080) sendmsg$IPVS_CMD_GET_SERVICE(0xffffffffffffffff, &(0x7f00000006c0)={&(0x7f0000000580)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000680)={&(0x7f00000005c0)={0x98, 0x0, 0x200, 0x70bd2d, 0x25dfdbff, {}, [@IPVS_CMD_ATTR_SERVICE={0x1c, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_PROTOCOL={0x6, 0x2, 0x6}, @IPVS_SVC_ATTR_PE_NAME={0x8, 0xb, 'sip\x00'}, @IPVS_SVC_ATTR_PROTOCOL={0x6, 0x2, 0xff}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0xffffffff}, @IPVS_CMD_ATTR_DEST={0x2c, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_PERSIST_CONNS={0x8, 0x9, 0x9}, @IPVS_DEST_ATTR_FWD_METHOD={0x8}, @IPVS_DEST_ATTR_ACTIVE_CONNS={0x8, 0x7, 0xfffffffd}, @IPVS_DEST_ATTR_L_THRESH={0x8, 0x6, 0x800}, @IPVS_DEST_ATTR_U_THRESH={0x8, 0x5, 0xdf5}]}, @IPVS_CMD_ATTR_TIMEOUT_TCP_FIN={0x8, 0x5, 0xfffff15d}, @IPVS_CMD_ATTR_DEST={0x2c, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_TUN_TYPE={0x5}, @IPVS_DEST_ATTR_INACT_CONNS={0x8, 0x8, 0x800}, @IPVS_DEST_ATTR_PERSIST_CONNS={0x8, 0x9, 0x80000001}, @IPVS_DEST_ATTR_INACT_CONNS={0x8, 0x8, 0x5}, @IPVS_DEST_ATTR_WEIGHT={0x8, 0x4, 0x7}]}]}, 0x98}, 0x1, 0x0, 0x0, 0x34000894}, 0x804) sendmsg$IPSET_CMD_DESTROY(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000000), 0xc, &(0x7f0000000080)={&(0x7f0000000280)={0x48, 0x3, 0x6, 0x801, 0x0, 0x0, {0x3, 0x0, 0x3}, [@IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}]}, 0x48}, 0x1, 0x0, 0x0, 0xc000}, 0x8c6) syz_genetlink_get_family_id$l2tp(&(0x7f00000000c0)='l2tp\x00') r3 = gettid() rt_sigqueueinfo(r3, 0x20, &(0x7f0000000100)={0x0, 0x0, 0x1}) 16:13:47 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0xfa000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:47 executing program 3: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f00000042c0)="9eda438838743bd4e9720bee57093515dc189a5ea685e9556c1c2c3cfc4df50d66d31a48aa312663b68d18c5826b5b55fb738208863dac0f10f423aee7a5d8ddc45ebdfeb7424bae859d7c37ecfc4b63914d5a56d91017dd22bc84f759a15969951aef9d5c88c96560896988fa18cd946cfcc3a0f1c993348377904eac32c980bdf7976ebca2b499cab63c4e841514277fc71d4620e29a92523402485de0e82896484c0ae497a4d686df23ca7b68c3fd5e624d3510d7f94838e54af877ca58a00c5a672bba11f5aa1ed1980dfef47b9973d0bf456ded5e72f1702b3dc5197fce39cba53a038d8dc0ec783ce70577107dc5e8b299e64a0b7f1191f0926bd25762370191710bab2f44e9069f55f8a3f87e4cb488a2fb3348c0bf3b3874291f83e4776b160ea73aafa3919c7c069c73c0052173a63158db8b65541d161f9c964926ad7f06bdd6cb6a32135b04e35701c2e13c49c1f75dc7a25d623378860692d172ec3f1e1f2d9dc77c015c13721efcb101c2390abb847e871132f472a37cc0163b39b1d575a5444e246a08a1afb1a696cabab29498a314429a3b9f44c43ba29f71fac1fbe0d01c3c16d22730932704bcfb0c1b7a432bc51dd3f5dd5afc3b342cbe6a6ff899039e28f9a51881b1d46fdcf31767cb6f5c5c69ab3c80615d77c4d1664fc4ec831b8cea2e752bbb7a9ce79df875b29f1e232751daf32a1a0c4ff8bd0688e2b8e2d668b8a77e20a9eb6ec2e2c23b94e507baeacbcfa31fb6e1ca3343668f43e3aa6d85e7c29bf0bb4dbdabddc92be7f4a6f5d21b19e6da17bfb6cc926e3847532fae29c7b62fb909130ec372d3c16cfe6aaf3ce2af0fe7610fde7aad61bc80d2f96b999c8ccf6d22cf903ca8ae8b879ec4a416f334982e9810c0140a18d4dc81b5edaae23e9f4abaf40ed71512aebbba5bb251545e188db789558a845a2877b14bdaeec3c738b7d730c0860531bf5517d4f0e8f95ed3571f8a35816d5116fcb8d7cbf42b7d5d5e65541508c898bb2e0fe96297d2ab7135662de39df099ebaed5871111f5346278cee5728cec512e6c0a0d65b51e3d627873195b84103341c2bc83b6c8fdd8ba17f5957413f61c69d618c9b9d0b1f08dc81921b6c662ee1da3bfa019b095e9a03c2db4d645ccb7364e895098cbf7d932c72d80663c7a1694d122f7348393079223c11d36c64a5856eae0397ab9a9d948204b74e56525a9d552dd0916de81cbb5af3c59b3d7f8f9154423ce2cb45a5bc808e24bef13212019a19545fe54ba84d01534358380192b8c7b0eda907810375bb66a578a58fec392b47991271c8367b91d710e8a176bc1a4e96f0e137d4c25fbb03eddc392f9f170dd744472b864fbbae7c93d86e682308b21b73c5652065d72cf02e1152b44024a90a3b52eb0bb3cb412e518d37a68aa4c7f46789c54ab30d3a73d0a8712fde612294cda2aa1ccf164930b9b1d17801d4fbb06e849d39bf2b5141330caa0d2618b616f1c67e1ca57080e79ed9092ba7a55e8121cfc825cd26a0199a479a7ab1b7b23d2a4dd82fa6d04ee41ca680435efc934f0451e865e8632ac2f1115f4cdd33b0fccb7a2326127faf20cba37c828613dba5a98f4e1ad25eb6b91078cf73d873df9ef91531476f64b83559ff7ccdc4c070d478b18196ea05fe8d4ea0216ee5273dfabbd04582f40f064c9781afd2cbf30901f28cd09cc934f1b2d50883778274177e3dba8af0a1b931d80ce1a6c4085780ea2195b65ecfd2953f78a5290fe560d0cd6a5e73890a5a82dc410b92a3ef2be05ec5607820fd4ca6b9c3aa258d59022fdcb21665f1ce4e8aad8fd918c43bd3c2afe3dc223ff9f48831d401c8b6996190793d1dd7551f8511b69283992398d8f9b4bd2b3398d3b8c6f3c5d8b802ca5282b70242df2b7be4b38e70c3065f8da888631375afcc05ce578089c4f783776b286b7a60d1b5e189e2742a3240c1036a953d886885422eef01413c38099b64505fd5a73488acb4e611820674c58ae74d6c64a885d4beda9bd7903bcdc71e3711e2a057c0eab2100c321050ab14c6e453c53182577ad3178603cd9afde40a701120e9a36074fd582428c74e02781318e6c65450f8f020bd22475696fe13b8c59260e53a06d16eabd135e887a0a6bbc8ad21be7661df76fec5b13844f68b8eed1a7379713738beac9f23c7a26520e19797a910cde9fb285179526889b908b7eb49bb06f70f6271fba8712c1a4269ebcf4b7d043e924e3d2c4c753fd7e547d95841e335179836f76424e728810d7f32b78256ea30c79d9238a6588426e1f2d4c0b03d5605bd826ed24f0f11326b4cf958632b86e017aa80e142db1580c44f76d9c98196f3f6852ab2bfc6a01a3553a130c2d171957f5a45c3550fbbc990ef8742a98a86b280a57b9f198ff436bc01161ada50e6f23026c3254adf2321bff7e20aa54080bbb57d8d52c6a6df6107706a2e5bc6da68f17b474c0edd39401d765086e885cf7992405f856557915603cbe8894676e996bbadbb649a5e7498b91f9bd2f697dd9ebbe4d386050258b9f4c94781e61c660651c3f1e3ae51f8c035eca365bf15d6db48ea9ce183515f4a208d010f7c23dcacbd6e225490d7e9c133525f5c9018d752b21b4897bf18b64b6a9936f538a0a8958fc934440aeeaad2b68ac844d76f0900a6c95bd0b353d85d4fb62eb88360112237fd8c636a80e3130b21d66ae8ec58a4b76cba0602f96da919f7e84fd37e3ec2379f58e389a39c78d2482e03c379e3c4649ad63a76e3707ecff07d2fcb0c9dfc524cab49e69a09c92e4f88714335cb57d3f6184d07bef9657280fb5c9fd2d8f940f7ac6c5407e3077aa2e4ba8e217e0ee19e302d6d90e3be05a86dade35d2e454e511afb5cf5936f1d11f2fa6be6ceaa817dbdc7a6aabf2fad8ff3efa8382a25099f0c5989d2ad56ae0f4968b2cfcfc67b4f1c161c75900b4848f59a3c0376dfcb7997bf28e9e85d6dd942a360516de38e1c1a038a796f9a77ff2b0c7e5e8f4932391a0e58e76dacc6f9764178a211dfde3e75d367d2911ff398126ffdf83cf2fbdf1ad5232bed9155f7a168638a572094a9e934d4969b358cf6e121d7fd2aeae2f499068b42c152f0e3403a230885d6f92f038ddaa23499f804ffb06abdbabb51f6c38c92fb1a6271a4b13d6d11125b8ec12efa5907dc65062797fb9cca15e2f254e76b182d3fcdb4e96ac4de36d6df7e7bba5c32f422286b1be3b79bffb6fd693761952d195a84ad9ceb07287a0fbefab9e0347b513c5f60233ccd4b52d90ec144a2f896d9dc7f279f8aa93038f3efa286e1c3006933a4d7183d952f8d28b141b28b2af355b5bd8198dfde1ffb8d09202aff0d16ca3fec194662892a49f829813970a4520f1228aa03d211a45bed3b2e05bf1f10b1a152761e7b6c6ddea863a3c02224256092c70ca70dc185c4c385dd98b09e2682661e1e66f71d9c4037048eb70e8a1cbe57de87ec43713abf5fdcf63b9c482f318e3bec37e878dadbae15a02d731e6c8574eb14c059d72f73be5174add786d06b585a28a06d349d8e434a491b34897b3c1ad786ec8280d7f57edd4fbc6aea5485d659b59d393e331cf91e6ed76f340fcf7cf460892fa7318fc42b883f61d888ad982a751accb613c66661fba5f3d6de751a6a9ef8a4700316aaad04e991aab7903f4ef012ec2a8c092234e74ef335daf360ae47bbd2bbc6ad8c1a4f81efe8bbd703cb55ef36b32b4e30cb5a3b165c02ba295d0e1c40ce6ff8f479a74f01275f113ebfa8ade37a59ce70e6ca2a6f48f1be085f61bf772e2c2da523a2cfe63e99c57bdb1ff23139d4fca49eff7547e9880eefd3f7511a677efa23b52098ba89037c48dfcda2e8c1cfb9f892161049e53f8cee55256279512aecab8c441600dae0fd957883273047cf5c66ba209f830aa2ce0cbe41ca08c0cef4aed7f4324009200661a7ce680e5a8df2d051c1d8b2f63d25d8d74d05c75c46c8f3f24d625539e63459650960498a54ec3b16225bbbf4d3930009df265839d72611f5332a904cdebada108236e4414a2909ad01ec44b9d7f75de4385ad7ca5152e890a0919b3639fd1bcbca3b737ebb8d9ae541b1271cf2166ba15830e66f3d3afd3b754a7f81ad4f0999704ae99c114907c5be4a4797f13b80564f234723a34dbe137dabfd7fa23562df679f54a6ab54def6d63deae9844f72fd73efd0413551f5c4b9ee826eb3b7faf92a59ea34a16723b4fea14d1c8815a4e2d39fc48d1dbce526a7c53f5a96d0ef6463a0cee73fd3505f5c764a264b83c4a21f80e8b61c82d24442d13da99d18dc1b2538e7a510f6093d9ef2bc5cc777d4f98411e93919eddfd69d6e20d227cb61c50f358ea227f4de941fb080c1cf6b1f6e25533768fe133dbfc3f9d29c603bed38aa3c5af5b81a706b0067b40b88f992610d04c7cc36b8f649697cd6a93fae51138161891ae75a7147780fc59af5a6e18c54f9d2a4fe7fa92314b399afba9a40d0cc24f70a2593acf8d179215e06b7a9a88224bafcb2cbf60caf5fe4ff38208a70793b5dc33cd572956260e1c86312d3ba9b3a4b2b44376f2e78c616a6c0880ac8dcbaa30b9f761d500fd03a8518dd0509157b184a2d95e0caf3ffc8ac2db6c54d80c71a1e5b9ea3bf51071e2118af204123daceeb04e4f6f31f32a4d3fbb76ee49440cabda2c121c1b99acab5b87cecc37c3f9066af34ab29d6598bbfd91047a2ac7ce3a8f3027ff5e6d743506f161087278896a98ed37122ba208b61cf54d3929555ab06b564cd5e4f46f4755a6cfa2ef2b30d29ea66f2749d4060d411fa9160c91b6f55cf071ac8222c6313df18759e2958cddfe3db4cbeb9cd39abcf5f0beaecae8437813995cb7ed0b87d42ca942ff7245ece204798d01361c5f008e0d82bdf76660515bc78f7f8f409ccf68614b2cb50f5af2615661326fd971bc57eeeade60ea906b8df1cb0dfafd318cd2c396309c329d0469ca192aa8f51d7c4227685440f073983255baf054b97b9d7be1d1470d7eabd5c09b2116b4e86b0567b7e97e088717a4fe3dbdd310a1c39136ea4d2c47492001f9885dba03bf97e7da376171d666441cdc2f999db137603d57df32b4260fa0165e82917bb1631ea314e7a7437e66fc68cef22cda8f456d6e583f6e3237e0bc79987a9103f7cf0918e26881f67ea582e1ff3a49177599d385bf6e42572a2547933aeddb826530e9adf30dd84c3a7fae5c4c26f6c6f3a9f0906decd314e2407825abef959c5416d18a92ff34e6c521a16e8a0a29937c77d4ee99b41d530a732acbe0bf5d274df9d496b47a9a624546bdcf9976cde12ec989cb2a70b33a7c8a3a77652023164695f9db30dfcf587f0cd4f73e385730bcbdd688f6dcb08ba0efbb9f579220afefa4acfea522e864fce9b1782ce9f14824d16e9d33a2609c23ba3c5a1af02549357a0dcc12e37819d778021762cf895abeac1125b744c8b8225a091e7be9ded9993cfa3ca9abb83e25c8f559009977a2ed9374a89619fae5ef6d164bb73d242004dc8428e44689b33ee3bbe88bb4962ab0a32a90e7aea044f08410752cb2d7aeaf3196648a3a99092665b478bb394b48f79b36db0efc7f50d6a5179c945f5298cfaac5e5dea715296f92abce7281d48a0c9c6b785a35ef5f1697c047ddb254fe9a8ab9f498b0c1ae09ffd01a3d8d427fee7e36c51e0e5c2fee2245fb8464626ab5c9857ebce91f7d22bf024d10c2d71021cd69268472de419e6cefd970cc3a8e4d1bbe6496799aa7f100411766e712aff08b731460f14f9d7356db12cf8e1c6121968dc68b1d81c086b325ca4ce6fe1f476707e08fa913144b757c6be17cf93150db29544d207f09a896f33b7335d9339215da751e7af2c6bdd19db6f521af2c8a5998dc607f97026d07111488741134c1c86eba123273d1fd5ee4b471e86f9ae9478a04c7482076ab34a1eca5c64f89e5106eed44bceec019c67c12fb4db4fdac153f4ac3b63ffeb6d30de58ec039e2dd3c181e254cd94d0a2b0b44490384cc5915b54ee1db2b6d059879bf8126c9ca976d0f7862da07ecd350930a081810a7afd72b2ad3f65b96ae9c7f91227a2b5513a559f36b90fe01be9ae5ad3ca65e2c26f358fc26b858a3633fda7ae49a5fb705220a5819b3cca41b1ccc21d7c40f5fa9c422288efa5394e4312675899d704a2aab62b8363f58fd4bc12a8bea6ffc45b4414237bf5f019321206dbba439acb5ef26641f30fdac20f964354bce94e4c9d73e137f9806deefaf6f4acaa0e76ad4fef9f6cb7fc01bbabda9612c05adbe46afcf94819e8a4b4b49ff764784fa432d47fb6d4230900043d1b4521cd6839fe8c5df4d1899fdfb13880e207cac73f0a29020bdd563bd9c2f6bcd1ec523b3e03ebf6164fc65af001830c51396f9df2d346f83a59cfc82201cf1150ea57259d579fc2ed199b3fbe42d5188c84e4354610743e5b23a265246313cc63913f17412fa00d98b379b80b96d936969572e11316bc8926cb23115186f3b2387b82c3898fa41bf16a308da62d5a3eb3609af1943fddde08a4036eb2a41b7292caad9eb082614b02a1fa255bc7abd4d0e3b4ec1801e131e68c7aa9da1a0ff10f9de87dec8fad1ad8bfa99caa49e203a7b9c33e044d4544a537471e7a452468b821959bc488c6b8cbf81e90081a26de273ad1203cc06adb6af242ab19f96c1c66b58c37e2c9309704fba63af99a8d9c5efc651afb631fe9f546b938cc3b8e526c4159e5c9f7afb29fd1d55fabf09367ce2a63a35e7a2062d1c772ed981fd77157a847f687a177cf9886ce41df8cc509302b46bc1e2ba896b1c1656a1bbfdf4cd9ac39cf8510d1c823075f16550fd044aacc8d42a56f03718f7b18475cdc3999faeb25ab3dd8a807ee04d8e5d831d08b4e309dff50330685138797e10c6362636f53f22bfc1f3d5090a5d369282d9de36bb4e2505411ccc6ea395afa1567b15a2fb4be2adeea7126b1a8e80034105e0d98bdd78e796ce1cdc06a4ae666fc0baec5c52614340ed997673e26ec47c88846c000bb7c9077337cd44f5c041fdcc64986e5e1c0f488148f0ee6f842c44c0b72e82109270341bba6e9080b70fcf930d0f10be5a36798e70111fed72727b72282ff164fc08319d74f1f57cde71b57cb397a9e753f87b97729bafba017a24cbfdee5dfe7fc296c112e93bb8fce560ca80a3afd8370baaa79ad783b51352b5440b144a47378c9ae22eda5794328e95bcca220fd07bb56915529b155c61858efe89ad36a79288e74c0e251addcfaf797432175a5562b46eff5e3aebeb74623e18beef85389383c604d8884431b07dc4bea0174aadc337ff41f558a63f16690feae47efa2a5d1318b7397e1e4ba398727d286791b71610e1d78d32800e7e113c12abf0f60b6ca4401ecd23b7aacd990633b2b017daf6bfef1b2361ece74b7dbcbb1a73d4bc1f9d2e5c9fb0b7980d25cc44d1b10c09ef5a6a05c84669294a5cadf0cd88ab449f9f0bcdd8c48590d416c5c1feaa494a2145949c2a3373df7c6014225f2745bbeb20ff294d22c0d96ca111e6926946207cab56a03162a49e68968e398f70690188ee3ca847ef421742d60b9a6ad029e8a3d607950b2bf8ad8ff297cb39acc94905635770436e134435e28205140331b5100d9f64469792fffac87bca0835cbc617446ff86a7b50418c305f32e658b32130e491e38709fd3697017ac8084cdf1ed81a28375aed092ab4e32ca88a933154dd3a9e99351acbada926b67b310c7070ac1a414a28c5abfe1f45476249a12f18ca2d981528d881ed3c5072e46a6eff3cdf37dcbc89c7f79c88a1f8d15d15beb66a0e4440c7b93e379c4e2bac1d5c8e85f1852887e2cfeb178fba1c67dc2adb0c87df8ca4444ca7f455509f492effb5001328b8cc696e2933207a2d78bbce8562ca34a248193c914406b161c8141479d891b0c6110ec1e25cad38299b489f2ec437017cadba67dcb58abd4933c95b35707118e47b8701a7d71e446e4b62e2941d4281faca0cf22914be5aad80f47102b178a6ceb24e82508fe55a92fb6db70d03d1c1ec09cfee31639341756a4630a0eaaecac7bfbddf9d30c42cbd45eb181d5bd341307ad26f496bb042e2b655c03ac3dcc587acbf50f79b5c239be9938b62d3251b199f8413b020605d5d0552cfd9c39c9132719d6d0a326b000e12fcb51bc274df79d11430060d05978cdd50583f1bca82c57dbee605e2d00fcb5414af13a596d35cb5ba62de6a28cbccc857d23547b1c7fd5ac8fbf6758d5b8451fa46d9acc00344dc2e565674b1dd3547eb8f8aa5fff99042f8d1d59e6ad2f53379211e6832fcb68f5777eb2db85b28f724f4e4ce6342cf55713ff7b0cb4f7f47dd12a6566b86709eaefae024373267ce72a89e7f3e42ab48edcccc96b5d0403fe93a927e5ccf470014f220b8257393226cd7b996f20e6a34f81206733a9fdce03b701943c1b560d3eab68c2c225cf7f7f2b56123be2bb173e9e5b37f4d3348f6b987764ad07c2acd44514ff264d7eda31e5e517a179414841ad4553d51c08f435e05f10aa82d74b97a9ba3a133e6c9175fdcd4f3dc9c16d3be1d5bbaf13240177081ac1d56681bfa988a93af09868afd608520c0bfd71d857a6661fdaf6f2e166987eb007449dd26334ae932c5003fefc0f983b9e49cbfcea325f2de16a9ae935caa46f5b3433957fb370971ed957f138f08a60fed5b84995e428e7ae7d5c22021ff016baef0e713a118344c016a99ad469313ba7f2452da0dd82e019f64aa229cf80a69b3e08ac5847f10d247179855546313232f23e055c2f74ecef14e0fdcc29a9bf0976fbb249bd5c7903183d2a53c70960a183630e7d4928daa7091a85ad987d2a4a5b8f6be6612fa72d9fbb33c67bb38eff19f2e784f94e0354cf6d35a5b2c62233c039de3734b38e97ec72bd673fef09fd56fec329818cc68cdf12cb52f7d37a8350c16e94208880bfcd3e895d7aa4489e3dd15db4a9026f0d2a46f1e89c35845dbd976a1992b87c15a0c7580e6424b8792a7bb7b933d7c5433d4133ba4dbbcf7995d6ed3feaa32f876a287feeb9cc6107778c1f83e0119d980b9e994c2a3ae3de24a103efb3cacb746b49d1ad85746b233ab4aaf0e988ec2a786bc93f32040d3bdc3008031634cdfded5ac95b2279e096243228296591e7ba53c4a127772cc4620e6b238ccad250629194533d0a669ff3366c52d64928693e0b0cbb0b8e2c6029089d4dfe2b4b6c5dcd85f1a02770611e65001e48a32a8b0431a3b9d77fa3a95be38a0436a704c05a8e0183f3214c25531a63796f679bf72885aa766468d42b2543542d7e82544efc5c5e81e6a91a0f5d4e68000cff687d63e45c9a11d4ef515050daa592c9a828ac7c0488e7cdb3d6fdaef5e9176ee68d981ea50d386d74df3b40660351736deb03bfceb721878cf9894b0302df15964242ab6b9f77f98ba1c7993735983d2b022600ab74a19e3636e1400d08ba45d3a5c2774cb06a1c358bbfc11d27efaf7ca53c2e7757c8c76da24707d91a4a5244262898d68083ff91c514d9b9b1ebaa0cb0b10254fda1b1e82b9a1a47f117b5b280ddbec1f6732d11117ef1a7a674699df87fe795d1243cb9c4527e364e2b711b6562a87fafc130ce0baf1701686639b05f0c8dc708f008b1e6ab89e8d623bb83f3d54b7bcdbdacd055ac4eccbd36bbe0af0f65a00e3d6dd985ae8851d176976cfb5816d1fc2a63d3546aecaa4e712ca6961d1f181315d553de6b53485faed0dcfcf819a1ba3badffe797377d3d1ddaed8e7a0acc0c3d277762262a139f94de49faca167b11bf04f2104a5ab9a73367a6461f7124c91a2c4229ef98e6ebde9aac283c7d029400d71293f488ba169b62c1e94689cf5b248ed4aea62b88d65bb764cfe27d5231a58486e7381df518f4ed81cb905108c54a5050a94ca0e94da20d3794bc5fab9127dc95b6404b1e27b4e28136fc27806f7be798444c33aca88ffd45b860eba0d5033839f5a092863954604f1952bd61dad23b11643fe14f3ade08116aa2c13eee701ccd13e506bd65a1060bf69579aea8c8143cd38c0891a3065f251eba0c20ab9c69ddf28e3bd6400cc203bac8de1882239ad4e1b97b0ae2f1abb7bac7c0d8ef82b97ebfb1f5577f06a3a1377b09ada4db87d342f20ab0eca4b9c206042471307511429cb57a578211f92d3647189861cad9145f5eb26ab696abe50a2a6c1b469df97da28aba4e79b586c348a430f5ea61c4be1032fa61d18581f05a07fb8707c8996e0fff1c3eda59b992687fa12483b9327e10224b20d42e8b3fc4670bf070ced602283273d6818acd1f6da567c44d3f5e1377065d43d87d889843ae48e7fa8ba1634815695b8c480ca271e6e833799c70da80fd79acc09b989667a2294de5da73f0363df9a33ad4dab8d27cf7bed0a06838672e3d07d52b6396e9b5576021d5e925abd533bf161c944795065fdd44e8462e3070c479f1c118276653488dd9b2f1a673f8cad3612ca1fab4388ec9c8f834a01a499adb7b3a9a977672f6d75b41bbdd7f91ceb7e7a88568d17bb432be9e4e96e115075bce197ef4754d2914c2c59e2d7f4c08f0dbe34d31f229428f211bf1d7e8f5c319ed4a8273cb6255eb318851ac4557b0278fac63107a54d407c42f300b843a12abd3b893b46c7efac2e388ab42b87aebe2543bd4c15f459bc50aad10ffe1c1196fb52c26e54bdaa7fbd52451f207ffb073ef4b3f71eedd7da40c89505019739e3fa733bcdc84ff4919e8fe2358129ef28291be1d6426b8bafe88463b1d3cd7273745381c7f65221898e6ad361e88b24c54ccc7ac9a830145b6dc096e2d71ef71ec4f03524cb870b724e08d223bdec2f6fdde6200217a13b5136004d455d66547f5a1793e0cad85677d49e5c558852107007c8136812cf021afaf6f7e8f59883371be46cda412dd9c6fcf187c31252ceb5758901d39cd5355ab386d9a7fe6ea46ebf277aaf809c3023211ea9aa189de4d422080ebb9fec50ffab6b95ba4ae5018accc497e79149ed6047ce561ccc10e9194cdccd5c9fb75175c8dbc9d0a916ad59288f010defbbb50d263041ab37aac0f93253bef6f898cd0825d99d27224f26181f9713b8979da64756c95e7505f25a2688960d6155c3613dcc31b6c337a6dbfc6b12cfde1db22b93bbd5e48534fb0bda8b212577a14dcf665c834b0bd24e5f624d2455fe048dbe930328d7cb632db3b0e244bb5d43390b420b15157a339487fc78976f867d3a361aafdd3f50a93c01882da7c220089a544381db22e2c86b228dc2be01820468460437588952a549d37498e529e62aa62bad1580546bcb1e9a6ed1870b7838d05d12f6e3a041e78b1bdb80894626f20889ccb3a468aa4fb24b9c87cbb28623ce59c6b3c6286db366d08004551a25fe4d8d194a2bb7c52e1c85a5fbe4cb15b171489da121bea1c469a6bb185d63213084e3a81ee54dc03a94dc5ecdda7bfaad1df68021aaf4627c9d529f13e5c81b5ee4dd228949ca16b9a61d186211d153294470907557e5e14ae665013f285fe4d3766e7b3d8ce5e2a14692072d4d8f79354bcc8db8a2a36c8bcd", 0x2000, &(0x7f00000069c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000066c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc000}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000a680)="f6d4e7fea5605e3acf96693fd7a12829d88754d5a9d5d357303e5b219334581da725e7f1bef89561a11adbb092a11de0d5f9dc2f3cf465735146bc4bdb3fa723489dbf6fb1cdc3c0e950042fa2006b10914a21b587547dfa08d0c47d775a81ef076d2d20c3c5495295aa7c9f92d23cdf46c18970d26dc543ee819f2535f1ec23a51ad96b5f90ba1596ce77ac9f8c24e70bd66de4b06171942670c9f80d5e5b11c89eec77eadbe365d4b6841372ac893eef6c65959ad3dc032d8f3a2488bb688ec1880b157fe5e791a1ea8d1e429a07a0d16ec5a299b4c6a86a1806dbc205cf83447e464089482eab197d934120a19fed1c502268d8893eea7c49e0ec7567126f1e39301df58e359652c04a6091dad04c3b99de12734395ce64da829b114cd5e0bc2f84b6265d82d359876a6649255bc1f3601f785d89e1e220f63cbc1965d4a6651c7142842d26bb388d8b7dfe105e48222dae1aa263b5346729a6af9b749d825fa5924dd4e017cd3a0469784c49ee084f040b3addb29296f7c3cc1ba4eee9a669b934ca7a91f89708b4f5e78b89d01024d502c1cb186f5470ea6e887c24ca2db76c0f8e7d3f4aedd2e2ff24f4fb72853d1671ea3ed6e146055a53653c89de211b4b6fd464f877d2242b67d20dcf45aca9a162aedcc1e9b5304e8849ddafc4ae8abff6084f35c8089bba9c57e1eaba414082827999f1a15dd184db89df33fff927341e77203a042845cf94b8ccd77dfcd6c31e1ea49d851fe3da49d6d6493804ed6aa4e0a91e480736d98e33d5e88ac5f8da8eb71c5095ed0a635297e5699890dcfb5e7b7b9a4b752ff982b924c7ee638b891db8fd8e48a26889c9bdca6fb5541c092b537b009d85cbd1687e51c39e7509b37a3b23a737480b9525fcaca466952d36f6ca33721433b0d2745fbdc1cfbe9f45e970bee0054adec5ffd02633ac18ade345b48e8fd859a5741a1189e7355b78d82296e3fa3953bd9760777e75eb7af26a3634af882977f081fae538786824e3a4bb4142293c6654c4509cc3faf3ebc7820dc13e97d68084a7fa27d50196cf85f8a4a76ac0c9ef7964b2aab63cfc82e02df96d557c56761356984e366871ee658ccab94bfc3d31b880f31d7335653f84e2d99d038c2f260a70f88c71dde90973b30c3e946fc6b31f3cb45039a46bcf433e1b17ff4bfbaf6a9da472388557b4e0fe633705b985c8be0fe6f82036370d9cbba6124632249a63b3ea5b979bbcf0edfb1b9f9710cf025f4e6c7aca26a35aa58e6aa199a57a90cf76fb6f2107655af64daf545315543429ed8e8dc4916835db11886e9ee59c3ed76a42fee1857bcf465cfee71744c440824b24b585266a94010a25f676fac87457270facc06d7e3a7efda513e6421f203abd9d9ed4211fd2de176e36d33ac1451a4aacdc25940a17c1c944d8d9aeec466af230764ca02f4e3b948721e6b5ae9bd27888a7a529c13a985118384337c25bd067bbd4d7148a8c3ad5612eb2c3cf615c205201ecb9e10fe0e691b65eed425f7592bad53b358c74c96abb5b735d78626dbb94953bf3e6ac51c6b8b409a1a8cc34462783a5377e7ee9fe76847109e2ca9753c8b2cf9e330dd1bbda4bb0cc510875ad89c1a5cfa0a95b92dcc4bde01705dbee82426354eb9b35344687f12e9284f4220de1d8b998425554c92aee9e8a842eaba6b355b3f4f4bef8c985fde68805c7a1270d6d96d998d872b079e8b4c98f11ebc97678239c74487c45499ead43d4097d24bb502703ac7175c8d886fa75cff2ae1c5a60a3e0be18c8882d17d984a00a191bd20fd2adb8fb077dd268b20891bb8503ba5e81fca8265e2a6a1c20096c3232f0071d91a3b3a4cf86c8c16cafb3ddcb4df34d3f386d31f617a358ee292326adbc16fbdfa5a892eea8cf4e356dc60770ba90d7d204126d6d11261c3c4cf1c720664ad13876c6da4b330e315f17bc23cc945dec1726e40bb4b8c180ae3b9b4a8b703ce834ddb7f0ab58ded7dff25c796e39fa9f8fd9145c68d07133849337418f3fbbe6ce242fda514b45d2ecddfd22989446662f6e7840b98bcee47466499414a3c7e98cc091af650b10b72181ebb8b1fcbfa92987c794f311488ab7b728de7e66949c1b7e4103b21ddfee193e124a05ec46c3b681f9f921c91beddb2f9fbd813ce0ebc8d8bbcfa1372612b4175c0a4d17fc588ba2f314f9ee95162cf28bdde03a89e0c816fdb24c55a165e494619441deb0749bcc22b149e26d0ae08cea707a6921146c121785a02debde1a33436dd289e2ab05f66672d6c6827e3a7cd8b938e60630072140a6f48ff8dbcbd81f6a4fc70b7493720f18f2847745f4bbe824dea16b7277a361b96ce36a84501097bb9d8c5df5c944be9e8161b6cb1a3f68ef3344752f2b03a27e18c343ceace600f3d5257aaecd7a76f5930655e77bb911434a1c3a7ee4ae5877b73efcd8c73efe9c5cc773651d9a914c8ab0bcdc092af6984172a18e4ad2e35a70b8cf28a2bd931660c0c9e988b7b47549390e0d819e323558e6c5005bf8d74dc24bb8ba785f5d4a63349193e0bc97b39927340d9ab9defd315b849331247a66c473d64ae0bc0477a756b2ad7d3d5e79f895f34fa8b89edeb8fd2fd778473d97792268677fb07f998cd4cac5f42a2adf0dcd44c463ba3e5d88a599b558bdf16df0a92e3487cc385dbcf245872caf489ed15eac19e4370b515a57e59d174717de9eba45e3f4a898b471d1eeababe4d457d1103c58ad74374478b4873c9a72d6ac4651b0ec39e047d8a9c41b48333d7110903ee0801b9dad215920f7b3259454c129a137b5ff38dcded8a80951a4c9ba0d2f78bfab136289890d98afa843d48a3ca568889bcf66a464d23c1230685e2f4b2ae1ec53bbdafe23561ba7970db79206c18f0cfbeb7ec0cbc99e4cf56ed33991d990302c21c2f372ee2a1e1e54726cfcbfa9de568e857190faf004ae1af9b86e770cfe8e01089a82dd3bf3ce2bbf401097d7840d8dbb03a3cbfec1e55971405e61951043971f6d01d56dc0939eaffacc1634dff8dbbfc48c7485fd24584bd1eb5c85c05b2713a9199845d30d9d296294f372c490ad45cc4d300bcb81693af961c00bc52670de18121d93e65abec26a7584bcee568cf0e109ce5b5f8c3301e5ad73c8d0eb6812997fbfaff4236a73e465a0891aab593a08fde865948a2634ad4645a0e72c70e75cba7f431a80f5068326f099fc0fbcab1e27156a8e79ec02720c9e5c34a2db3755d8a8486b3d340bdd480f6eb0983abccdd448d1ca741283ad260c167787b5fdc20be7041c31a4c74bf0cfd669f76b1f5f503962903bb8e5bff7ad7b85e880851eb3039b7f4f81fe5329274735a04b941ffb42a7247b86e034894aa6e505abc0f05b8991fe1cde30bf02aa195088a3f56ad1356701a150366394f34b417ab2babdf6e7f9182f49d2b1965f33d0a0172b8a50704bf3504afba35a2ae7c26c494b24844a5fe344c8a7d27283297344d6f078a5e7e858db85e8a27742c9805110cb4d6aaf6711b74a256fd556a2fd57b7a1705671043620d3b212b5c44ca2ffe3648c6354ce02acd23d124b018b84dbd4099bcd8c6eefc565ca5d54372cf2aa83f3f096dc9ca729ebc3aeb95d4e486d83220ffe9cc4919f7ba51c6d86efefcb35e7dd27f53f84ef096745d6c744cc76bf91dc9ab3f056c1fa5ed47a688e817c5af4a86ce9e80ad3104321645f3617544e25eaf1ef15cce7adb0497d0b139af17a4ab77517e93f323319e6f61956a1d0846c8bb9fad5876df018c19893db45714a976758fc54865614bd33233dd2a1d0ff244ab7e7eca83328024129a35dc2d1a9b2ae688c631a1e108b0c3a32aff450274deff0830b453cb509053308936d0b6444f14d13a77bf78b80b5b9ab22c25c11d457c2efad8b69031b11cc5b16fd246b60ba089c4511d44a3547062888dd5045afb1bc6e204f6be6cb9fd257c6b1f4baed1cb96073c9ad88cf3fe21125827f9a65fcbef13b29da2ad07022812d39b17f1ca1cead90e8fb13600bbcf7a19b48063ee5c68c8acaab23b6ad8b76ae703c5e1c4c5bddcd704bc87e85c514659e3d28781cbed77761f6d5834fc0c193d9f28ca3fd933a5b5300f38bf858ecbbabd4ad481f0047e15e51b6e13ff20d90dd56ce467773be17072c353b08906efcd3b090a9e7a0ba8c903f3bd3b4e09ec3ba22551ed74e52663b29317b2b6870d8fd0e66c9adf10fb1dfa0ff441556e017b59f1017a978818228246c750cb04c581b1000ce1527b51549cb2dee14a804ed9c7416ceca3ebc08dcd53cb5b270ff2bb71550f5b12a538f965cd0ed8f71edeaf4279c6934fc1c51641812b83e22fccb0b87e5329203a1b94e4e962a4681ab9277934ae8d0ac2503f373009aa6c7c57e85f052ef7313d2e4b1bbad2515cf0999a07fac92a139958f379ce93502af16fb8a4446fae9d9c9cd93d61525d3bcf2060f2130180ff85a7fa04db9843cac0e09015c149ca19957cbfbcfa60ff97f47db86e1bc8b701540cbd167b9fbb70736d9069de8aae02a6414d9028a0ab6711ff0792ea53916d088c560a0825d381317b5180947400fc7641f4ee9d97af9367c0bca78581e3fc4db4fe313bae63b2eac82e8390c9cd1a34e09f0193c2e0e9f8c91c966a76826117b3c6b5d886111527aa6bd9c996186b22b643b05d77ddf56cdc2fd60c7fe5d3e8e6eaea6e8dc28c121e13a1c748b5ab708628e1a2118ec46b569d76fccd680a6ab1db1d9cf4be3f2a46eee8867a2abc059b16cf78f116602dec3a3f0510df80f58e4b8fcf0f42b3e58e7e9e62f5e4f0f5ae4fa1e6788085a76c8ef453262b34a4c927a1ba55508e4e27586aa872dd601338459cb1e2aa7beda48bb8179b66a4f2a3fc70e2fb1cbf021e3238c1fa152fca00b76f51d67862eb6a71665b93506bef8d460a18010d0cad7bd2da1a7c1f7ed48eabb3623d21dfaa6f0a8a4ac45d34a23b7204174d2d2e5f227e077c1781e86a639a09af4f9d948bf8ad8b67f830f90bb5635255445be7c9c5f425a108f08e19e0c7ba7313c41b01534c813ba71b0d818668d6c8002e6502fcbd0642975f06def6e0fadebfd3208d9d6814b331e03db3a3187fb8f2dc9389fd17ad73de1fe36bbf4e8dfc8e4f3e8df40e3055732e168c83686a8ac4181662e95d8f3e603384c9eee4188ea806619294d0e8550635a6c61befc0dd7a5aa05258150d578c46655049be11045ebd7b4775908d19357dafb0427f75a65c4f16c3d60390e70ecca3d33dcfa74344581d589c162d01fc0dbe78cd7a85f2b20169d2941ec5c5fa30fd08b8bab75c754cdc2d1e6df5ebab6ba526ce83775bb607f2c03a84dbd404ede2a151e87c6506d521ac179099d03318d5f5178a15a95ac000f21c628c16160ae73a49458c0300bb6de6d168de894266091a6ffacfe056a5059652d3e1053ca3814f8675067e67939625bf9442882683acbbcd381c994262cdf8ac10f8de805c152e52a4ac3299dcd55ca6838224064f37a7227517140d9366d8e9ddc7c67dde40ccc033b5d268c974f282bf6a0f24341c6ba4d952a65124187fb64698310aa1b63cef0d91e26c3ec606efdf11cacf96a1173b575b15b29de7b2265e270733f1834ad701e866bcbc7cf30e0508b1b69fc2222ecd8eb695f84d9bc72a8922e6ed036cb87f510e8347a8c6519861ebf13ee5c6305a650cbcf38af385791668c90b8eed6c6b355a0621e5a74bf29c774ab9d096adc2db6781c5e73fee506293f552e2d6ac86dbfc11cdbb6b7382be2f6671ea7480435d9d000d58d9b9bb834aa8c14a87b6235d0d02264f6490ed1ea5526145ccb18a9c43ab95f2c8a3c7005a1a1eee1045d6d75c26d6eeb6a63778f11f8957ca81a509f08e81a6ab50dc348b148469286eece82ae82894ba257b196ed17b6fd735a70bc600cdcc61bf8902015e2b03134c9fa8027971b1b5d7caf9da11486559456eb684beffb8b32e9d52ffeaa3026065c953d954f11bebb056b39a355a7e06a3319cbc8ed32f56508d4368e54b59b116475c26bd078ad26caf8f8f589da32f5c894ccb69239a00eb5efffe22669f2f74416ec3ca283af09402825be668cbc15cd21181a91cf5bbaadcd9ab33ee9d1e5655161fcfaf1e73560b525e91a3cba05122899dfd7b905f7a3958a860637a932f37afc2d9dc3a6747af972eb64df8190b2d8f030504f689e97cb123934512a7b52defa328cd421a593d974372e004059a6b70322c37c90b19225d8efbf6b391000da80aabfc6878042f5586f11daec9132ecd3edfedbef78e0680561262bae65c3c157369a6f38bf5f2112884fad6d05b6928fa65377a5dc6d0a97a263666b80de1914061945c5f46a0b1593f124a34d57cdd517cbbd9f5c9781d217876174e4a6903f575f3d5a215ba9c77ad01a70e8a68edad5ac577411904e08a211eda922cee6ba90a2f3a89d00d29bf94d37dca86cf672151a1da615ebb19c64d69a392d34548ce4e161003c0b38e903b0600bbdbd50bbc180d4ad5addf3e494ba510841fa2210cd59641f1f7ec1549d74629aafd94445cc654dfbfe06e18602a352b548440878534eaac327c85e3fbdd73dbc07a809571790ffd206abbc18c9655c6b09c765781ffd7a34c8dd741c400e66b43e46daab817f4d622338779fe484ba554fc603bdf651f425fe49cbbe2c7582f7c60e87fb1096c6fa743065c2b47730b2ca722b55fc153fe10954fc1b8f37e00f85d17d22fc2084fad3b8b3bc5dd983aa911cda7b57a11660f70d2e6feacd85d4ce5463f14c33265853b17bbeaa2b014f39e326b672f0c8b5f0c12df01d286781ff0d3732aa8b2e2591722fd04529743d383eaa8bc127d9d8ab812554f10bb7056d47ff1c7a17d7c6091141c73db94b72703280bb8b3a2efb7852d5e86e6eed46d0d6c7d8a306fa73d50e7ea47a076759dfc5c680e84f15563b262ba0ec8f606883695d220a23aa6471f462127da6a822215909065108783433bcd0a6330620617e3160454fd90372d75e67fb2277b899a8b94307484426c1dd1dab6204c3054b0828b7330d45b993bcc95b05f27ea0fe4aa509ba88e4b76b8d4da49cf1b5b88a5981754e1878a6f1732e2decdbfb71f110605128e1c2a8043cc81023ce38c615dd7df0c77933918f405f138f95157beb9890ab9a8bbc6ce6b774c4040e58980605cc72cd09e996a423fb59cf538493e86019213d4bef5122909c87c3c169ccc2950613c1577fc735702d543cdc527f9bacfe87567cb771f822b2d8bc9758293318fe0c5568e3ae3f8bc75b78fa5b180f14b791577b96ae9773a7a977f2b2e310c6d538db9b05f52b42edc28f7687c98e9cd8f642036c23e66faade65c2deb266e07214cb8726b6d21226a16461840e625ca0422d9fb4f822f198b2056f84116873edff0f6d953f24c7bea3ae0556794e8f10a10b82b709e05c1b0919dc2f3aa7a654fd204a87b6bd174a666e024d20c151bff9954c93ad6fcee84a6dfa42b0b037ea0bd3a72e25cc3db368f4a7898e16dbe13be6196e588fd90c1d3f05180c42f9208cbc3051b6e0171d36797c3f0b627931216ee249ca9ff81f17e907339319b9de3b1e5ed0e924da4459e59d45145ede70816b626edfbe439e9c3e0a61274eef0fefd38aa20fc5aa9d7182e799a762163fb47f4530999e01b8b778a061dd171d4be93be3a9bc3f0aa277eea066f01c4e7161f90374dea1ac6841b39b2e8c36d59bf47059da332cf7b1711b1e0e502298602da005b5212f24e80f0fd34ecadf382479e6349927cd306f3d2d0dd7def12d396de75e82ec7b4bf35f8f3d66befdb7ec33ab2e2d1b7ad5be2e86bf85525c00b05a4f29c2bcea79e7f1997422af9ef3b104496e4f0584cd36e36ce4b3db596a7af15417cef002e9e8156cb8acd4963e9315482cd2021558351110bda51656e803da14a0e7bd442ebcb9282f34ca64e3ef7f3ae7893a3ece250cf2e57825a3790a061de107d426edeb67281d635af2dcce38fb9ef3fd1f1e562d3253864cbfde9ba97a8ff689c7396fa280db80a0ad2f880dbe68dbd5bc9a5a880bfc33493e313f89352b35cc4ddc916639586d2886226232b978caa94ecf00a51d061bc938345cf27027cbd355ded06d097447416921a5b59584b3f4acf68060096bec5ddf96c97bf47ce3309b74dae62fe0f0e8a5c7661508ed54ae2f680d82d51607f45bd5ad2e361852148b25b423f16572eb32ce157be175df95ce101a4c521e83840c3f36dfa3fd6671f61d803c53f1f61b4e4669895fea56f3b8c18c971bc232fb63a7df9e97ff35b35e31614eee40f84dbcaae523259b57a5d48f952abb7650f61b23dd84cccd94f808261893073495295c8e84ddae4c06d312da55e00eb1ac7a36d317b55169f783d62c3b96324a60c946df6a57dacb46d7a0e470e91ec0e6e21ade50f6ef07337bcedcb1438f3f904d021c6c5de7051459a6913577037f6dcb06f6a3cd95275788ecec6c3eaf7f2d69b94824307c1337907ef3505355a31baa58a9d624fac61e52f565adf8006b48047b2a80055f9e39233b3eecc98695d10d3616295f187ccbf65b97a9c11e04a33ecaf6ca1e87114b7e0c3c96cf42ffb6948392fbb68096960ebab61f2a20a1e963bd30b91c143d2534a2655aad492acfe84987b451e8e1d6d13eab201bd481812fb250da8bcdc51bb0891c5fe80e7392544d6d05354de858411fbc802f9fde26efeacd2727f21bd318c63f0a8577ba10ef93d780d8f57d3c09bcfbf0c198bb8542b8cae85fe1246c0cdb0b3e4b54d760b7b14aba7ff7c2898a065c9e9918538a4ac6095e8bde79427149f3e8a328086433c60d238a3eefda3b4792f95d9567da5fa7d52e9e6b892477a643199e9235cced4854f29ec0739cfecaee96d02ed544c8dae0b6958dd69bdbec50edb8f534b58635bab4b530946a86ffcda42521f3be572f9848e2d8e2261ac55b3dc7c739cddc7326e93b4553e5a15ddcaaa0438a401fb62948913b338b43053a1729950cffc8fa87acae99f76ec0a97c4b8a8e3a1274afaf9dbd3e3d9006394c2ef632dc76dd05607f11a31fd9a7d53d40504d805ec52263e8e6aa2c7d27523a09d34d2363322e20adcb25598dc936467b5d766ed55f36fc61dfc34b70f5ca48920b84cbb6e9ea9868805f17d7ca3d3d592c8b4c241d62976edf1b4f675d199b875a0f684aa56ea48e2a5872714b986287efd8be31c1c24bebd1d645c2ec159c72070e41e11033be8b8008630cfaa4e2d94ce8f2fe13cdb3abcc6a064b3de33bd8b59015b85fa72ad7a69cc05169b79d947cf78581b8a3a2179cba45ee11183444a7a58fbfc54ed266de09306b1306319aec46f5a387249757664e7ce36495ad3000445f3599c88c4e4257598681a9b2331794de107af37a8c0c4cd21aa9fe9546d2205f47498ad80fb53a0a33eb9de30d4dfad51a40d4d07e0723ef9de5e36c0d834f0414e2581e19697d413b38de7165297436862063e73dc1084a8d302f90f4c58845561ee6eb4e49c1991daea0ea64678d06fb6939c52335457ac760e79d2667a01ea1728b67ccbbc8739187199aca26383557347396cb81462c8b388aa2e8feaae8aec4984224e14e134e7fe8065d0bc394849adb1b1e6ca4746fe806e22e2d2449a9b05d8732a38ef391529a81d4f1081a607e6905b6b51fdf329b5da041bc855cb948c5c62c568b948035a31192da0e7fef669a7c71d2682da8125620cf2d2213e3ecdb163517daeb7bad532c7e5fd588280f797f21dc18f33472d1966b284c49654634a72fbca0b6591976a2bb68c6deb776e2d3bae8976024f847daabd587c8b18d67bd0bc45a0991fbc28e0d510d9023cb0ca0b0559d08854172f59afb3673fe81a70f95d6b8760b36ad7b1a82ff9bba05ce84a88d86519f57facfe1974303e301cab9d7c7551e229d9e28ee74e8fee3c3d6744e77e8469ae3c1226d184a9b6886552061f0dbd3f5c17e06ff5e6c7f47e4c1fa21e72cbe0819c87b12e2d67a7d6f32449c7d847b3fad265f0fba7a49670b47cb674df2f651aaed21dbe35952c0ce23f7300e28912acafee4901a7bb61d7b94b198039c4e8196d11519a01bf08f222525fc7a3574284cf4306cb81f2126b19f86e3a01e25295ee92ce10e748de7cf395125be9c6a5cec10651363adcd0109e84c43e9028ec8714eba4a60f785a3054948b2c41803742a2ae2c7f1cb2b4fd624be235a413d6e27a9f28e51b04229ec575ae208ae23892ef3a50c2fd947eef1fb341ce2a9d31f09ccf34d3be247e444dedd39e297ba3d3d3b081cdb6d5e44b7d149c0fbb7f204060aabab3d78fde13ce2f0ddcbb9247e7855274ce24ed1bccb6e92e16a3b6803255172cb88a4c39e2ecf1044e2814a6da8042de29fe8d1e4b735567ae1f84cdc274b4cc7afd91bbbf273148630c0847d6a45b8481419b1873364ee79763ab3c9b46ce6e33a02297bb6bdb992e616ebce6a9c2f20dc34a08a6b3e4392a1efa55d2e2f235e9002c9d18338d22a7294af77c3e0bd1dea29d40c50d5f007459dcf06ba8d512298bf6616c7cf15a3ce7e83c46b82e09558dfe6ec3e81bb1a1af1c115ca4afa0fea05af172aed5ad5fd45bcebc253275164d9d951a36b7937fbfbe3955bc55fcd58783f8e23992af1bc9902ed95ac885b141999bec71899c5d143bbb28418e6dea4a31febab75dc0d1a0449eec69417fcb8ce9bc8eedc92457bd43e65f06ef02283564d5264db04699ae0469fb0a06cf5cb235fc96cb3789dcb3421a16878e5c426a3ccd2ae700c1dcf001ae97a4f39c0afaebcdf9266c18b6e765b683f8db3d193b08138dc54c6df544a307447ba6c4550b94a0e3db0dfa0bfa51e0496e5ae11f657b20fbcafdbc0161c2f53838e3eddd9d96ad4194ea01f1d69e55a65e5bba1773ceaa22f4806fe2fd6c799049e1d6b9d4fdde1ab796818401d001a95809b81b1496f0911637e36508f1a0d09fbb7b32e0b2b60b7b1d1faf3236f1ad4ee3536c5f2c1a88bf59137d36658d0a5c1d9c37b267a48766fdc14f34b61743b50f6e85299bc9e0710ca5dded4b7e6dd66dfd8aacff3f5106998364e58737197b92268adfbf8881f49be9bf49e5e6d59967b1ffbca443f4d98f7e6126d004f6ca3eea7d71208a3a749ec5b3485715fdc7195c13285e784a4f83008d5c20520f325fb7738ac8ff9c282448d4492f4d4bd66d9951f646c4ca66f35301abd4d56c6ba86f4ea135879de4df5c1220913c708c4c84efac83b6a441229bdb862f9579ecf56edb6f4955c482ed5d0e0a1e64f9f1e2dd0ba29c41e071ec17c39e2a07c06ea82586ec7ca949f640b4e2e2beb6ab6c5a178b651d3da4854f61f25f5ec483d2d5a47b5f8ddae9989db438ea39b32fb920b1f5f9afe127e7bfcd6d5a36c135df7e37183e13d41188c13ab93760fccf61ce64fc83985fa20c32ae44e9fe98231d775cadd59e61ee36a3f967c0b4335c4be0a8742864c9cf49980ba96d734ba32b863d3973b5867d8788ab37f155a96fbf4ff03c171d0cfbb400fbd9ef037f577c24f3965517193f980064b0d1eb0ccb40b22b346d4757dd555c7bf6183f7e442", 0x2000, &(0x7f0000000d80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000600)={0x90, 0x0, 0x0, {0x3}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000008680)="ff3b3d22b4c0be7705a7c6658b6077fbf318acaa5c0172e004d082cdc01edcfcc326780b13d74325059f018ed75683a656f45bf6d6f69747a390e879587c8427ac7c5d3f69c4de75e8d953e0938506632920a3afb44842ebb60e9bdd7de87254e57fa7db31655bd9c3fafdbdff53275bb2f65e8580b10dd258bee75ed7b6ba1b7aaeca83f473b5db12444f53313c87fd051dbe53b4f0aec2d6aae49a8423e4670c7d080cdb0fbbb9001370733cb44246b103bda486290603e42b7068b385f2fe5be3a2de72b19975aa964b3dd4d3d0260d3b64de59c3c397bafcd847f0fa7574fe0120427d75435a11d32751de5b7d8f4e74af074526e7f89c8c1522c16d1a3791618597b6f7f747c0d0f1e5e3db270ec907934f4fab7f25a17ceb0c9c30012b1a9640f81a3b77c5256c2c9e661c8a97a93a4f6465bc35b82000040dd653a9ade5b5906334e92f948df0011edda9ff8e8621d4dafe780db81fa447e8768149acc52f7a48632a3b7959da5b1454ea1b5b9a394bbb90de4f3c8126dca51f30c4140e5ccc8410c835ac430c24470b5ff3bb220e790ecf424157a073fa7d7c511de2d35002142957cbf4f437618903b8df262ed33976a6b3465c6c2a4f53fde35c7f142b97de0cdfcd6d4474326f705d43d939c30166ffe41c1620651e2d0adbf0dc0a4bab8d2141941ef18795b88ff5649fbfc72003799c181fea6e913dbbe28a49d60f36c8c154cb49643eecef6ed77e1d75689f850c68970b21c9c4e3e5d5a404e7769a822d003fe831e74110be96142e83fbe78324e4107181527daaa5d633fe53ef2d7e16f83e6ae5476f8b8929e674bdbd22ea4494f94ebd295230f11b90fecac443889abcf01260e509d348ed7d3cc572d9d649d50b404adba71c3230e7de8112445f92d30354dc82b4b3fca2d61a096a53a27ba80fd83c2b857cc49086a0387f4ee3d3adb72a30f3548d0282b546037600b65d6c4381028f15df72760dc4a6d5ae6adb018d09576ae84ea7253f0f7673b0179019b2252c2cd309252b79be880446f6dab5c02f5a6fb9506a91d8f5f9c99e607ed0036ac8d52219dc745d711dc8d4fb13355618325ae1cef1fd293c4d94b4bdf2c758af75d4a79f7461d6da0018461237a6de41a26d0699b6b5fcb2404b54f446f197fae40a2e320a330b1230a43d64f9673f2145a8a35c052265827302f772a5fef1dbf6fa6931f8a46078d64355d9e23cdbb91faf0e360c192a5a065d1393341ae1918f4bf2a6034a1898d3066bf411c19b30ad777a0e38bcc79019d176aa1bc88c2355e0908a07a54fbcd099cd878cab3c9dc93e4a6326c31e0dc10c5a4c5be066d6cf78dcca0f4b2f7b757dbf63e199e69c5b5ea469c98dd1a7fdf2903e482b3e0e30330f077e6b394d6b42f8c1e0c5c6f5315073de6819e79bcd021316381b0c60a255ed35a18774ac46fcddc8b749c4f8a22a5f26d2bb9a8b44563f7aaf5992c24382aedfb24e7d3e67e472c09cbf349c23a74418fcb83b0f9d027f46f753bcfea7c19b1174a69106fdebd97635da0f898279c3bd286fd3cbd951a7b7011187298fd7e65f3e906c3b91aacbb8c77048561ae2ead70977c1d6e075c961417a48fd83e492f30cb11d11d0a0e0419373021378d15bb03d17789c93bb898fd921331c832a211fe46cbb1b80464f8da35a33716ac56b1ab4ee190d7af284121c86fafac61b6e3b7fb7c2e8d10594f4084cf3c6bcd94c25b88c88f5ed4f530939ecd93078037ad69ab06c53b9425123114b7f1a91e4e70ba9558543b7bfe57369ef9e0221b7cd386eefb91f1a1be5e6c4f0463d54f7e2f0b857ce772346b33a34fbcbc687b809d19cdf804161f2c01a7c3c63e92c2bd15505f15df3b118fb02da4fe461c8f6b169437576c314e4f959fbb783176e611105a24d9c8bd09b4b57463845d85ea5939f3185e0f094ae4dbaed5729b98471a5d85c68ccb9cf4567bd801f20be2ac1825e39df51c2ef278800081fbbeb6b8a7e49a908635d5d259426322b6ee61ea60466e4492aa941d12082f7194378c5278626424aee2e1e77b9f58b9536296cd4f663bf1566f051cfcb674ef84019aad4527a54a911c846e498c80eeadd8312af7f4f6fd1255cfb584465cad41c86a8f311b393624186242fed6dec9d6fd5fa226feeb0f91156dc8546711ea68c67416b1af4fb8dfc7b2b746841c72ac715b630c2f13ce8d244f4e2aa94d31a9826252c21d25f6e867d33f1310946ba4b931c3b324fc03f3ec936a9dadbc8a04415b23cd51a832a1143c527fb31750818256c5b96b38d17f9e287ad6303a10a31e702becb655acc112546d328fc147f1a6c3b32515727daa6349d4206047db5bc44666fda7e1774efeec46e6d7f54c41e63ac069bf2ef3b0f6049379cca0042b4f060e1632cd5b71404fae88921937e43d34fac86c5b6ae8580d8e9308165d3eb500c56abffda81eb46661a310de197f6c3fe3cc85e2b72bbe26926252c3c11fe55556e5fbd67e86db81785e81e87fdf1a0b0ca12f61f4e7dc1cc74bc90c81f0fda9a663c23ddca068b49619762f818a15283afa799abbe76ce80c069718dbaf184ee02557a7ec4ddbf9448ebe381ad4b102aa002bb82cbc13fc085154255c5d4dc770446dba54682f6881c1c44cb66a365cc807544093d4a2b5fab0ebf22bc456c1c4e4b4f0a5c8e1c293be897fe6cd1b99f0b8f6844da0e721807eea438776847970c88564884ce574d9945e0536116843a17d91df48e3803d3bdc76937d7db8cc4be0c3e408bc6dffb958ee303451b1395f38095b2b6a7a8b247a37679bd38c744f585e32d836855c540a7b1a0859216128eb5e5df2c43db6eee1b392c9d82614e7c8572668fd01908fe4c5858aaf81cfc59d444069291ae8a3707df37ca76b7c737f155400e7d9b3986694825fe487bae91c9fb3843ba585a15c8e65a38324b27d52afc43bd86bcb21989785c6a3e03336e52c54ba320d918d8adb5b89e33f4033c53961dc452e56fadf301e0c49bcefee6f3f7d5b69c5e7cce8e3beb58cee4d1e77471d106b875a0c8ecd5e9e9d1fb9dde408737dda083fed3d0bcb29693f7e5c1deeed6cb5842644910345e830a8583ca5c4895874e040027750d809877c8c110325c4805d2fe2aceef3d714ffd48e85b729955396e4e8d5e992fee342d1dd26159da62c3dbee7bda44b7f6932a74fa964cacbdd3b70598cb4524675ccaf885ec0dcc59ce1a0849dc6e6ffd4b002f67e96f75ad76ef1a50a4c84d9b0d9b58fd6085a9fc1b968c9714589b5e7a9dc6634dfca804c68e56846a07ce1c114f55d15a90a47d248a20728b22a97d50fb3187f034566efe9ff0e2d846c58a5ac09371932cbaadb95c385e01f635b3a93ee4be163273e59b851e592c3ebb20ef9e36343b0ad0c1dc41e5bf133186548cab529479801f2f47d439360a3a7990da6dc0fef359bf4c159d35cbe9b7516afea7bd97e77d61ba970a19c7798c65f93360828acaa6028e187ed6201d6c417424fe444836553c9a923131a9398d12f9b7bc1a9734aa7df6e356978a76f6979cbfedcd2961c99eb57035f3f56a7f7c2f5edbc28182ed95308b2a049fddac98867de1040f5e09025a92d1eec61145a547d9d7c5ed7328af017455eaafdf87cb93b620314c7ef63760a3c348d33a8ad2599641e2bbe830292b6c1c54962c1ba854ae2761e4863f70d1c0fff80e8ec54f4600b14aad0d629ae53f18a7ee2f319e708276bcec46d7324c3e67e76f66e02eff2961051baf6c73816236bfa5c37464ba696b4dc7fe3743137b349cfa88fa8cbe87d7d227be75c4ddb6048753bf8396e4cedea12f50b8a4626deeb60e799f6fef9df2abf9eb7e9b250c7d7ac7bb7b6c2995025f697dc17bb82a77faa5ae5957994208cf2bbda726425308d2fa960e77fbcbb35af9d7bce25a9766546b5a32a82e2fb7d28e0750a0690db3993d059ede0039e45e8cdecb831d7e902b2c15eb2d30fd46a31542bb52072c90fcbcb54eb7f54422c0205f0d7de870c3e349480f75ffc0d3f392a65958fb3b913f2318f28165830a3c780894edfde372b520dc5082041ea6ac4df253993eecc949d57cfec39a462f19331d830f11d459684cb67dccab0bdb741d72f0d34de2cbfffbc8013fa89cefc4521858703910b9bb29ac91917509bf3da758a3b4679e9ba6281c3178dcbab85fc25b15e4c27ca6e76099850df0a46250345b0a655dbfa54db704ae52192d82b1c22c5f6336ab2bd7a605779c5cc8cb379b744e8257f910370ed734ade344949d48acddd76e178c3edd34109f52698bb14d529609f8f7cc323e22ab9ca7d5ec4eba0c680b3873267a13c96a981261bc6e2832e0599b9b55b04898565f512f428fda6a7e55e4395e3a354ac7486fb25eb9f5cbdc03613e074d593fe0ab35ed8dfd545c440ec9302f87a9a39421e041468cbe669ec57928e81192cc74d700e623b60a57f4ae2b10da8f5b1b22459d720c1c8c5ccc858467bf0947d4821082cc3d28f213aa5077112b9f3a869a5ad5ea7fabac834183dc566450e74555e63f9c6ba3c3e6c875756796a935ed6c77788e04666d24f6fa23da2494169138f68f67614e960c8d56a4c5a715b39833ad7c7a339d612e9fe1c66d6ad19a1b6a3105c7159236d2b762fd8b960abf0863f334bb16bc5bbe70ba8d729fe0fe60caf46d300abb0106f7f976e7addaabde919b3a9981e63a38a78e18b6eeee368f35942d14c026ece9ae98841296fb5fa2f0efa15aff6e4d8291c1a8ec0c59d044c2c313220c5791b2ae379ac89372a78ce80edaecbf1c05a5fdad1c7cca6c8c4782955bc49fd26a89e9bb44095314267ef9a5d5478939f8c5aafcdbbc0c9745a9d2178abf332c7c99d9b5f5474a0852564a82d056bfcfce4b6ba58b09514fb72c0700dee026f8b441713f664e0b842c38c85905e649b895177f06613eb16b2633b106bea7a73783f03407cf7d43714b945ee3026bdb7ec186e0db396fc4a2ddb4d7db4a6c3f86b5b99ed9f17f28937e2cacdf3bc405bdead9871f009832be27f08040aded1ad91870a233363359007a836ebb99cf803f160b6c54b91c3464df5a30abc9bc4b4312999cde39448d94f3ad2b925df84b5b9a3b6b05929449a4d2944fd43336f7471a2a5900d8352ae98de0e3142d9fd35aaa28bba62e66fbd29453298fe4c73b7a296eb1352143f7de35f7df94f61833c7054ae3845699ba9cad7ddd4bd417d763a4771b8e3639f642e20cf241cae87928f7599c3bf4fd94a4473201806f5e53142c135a35d6ba90fbf34b4ee741246de55e5206ea674f609e51a10fc840299c54108ac5ab163bcd0c8648784e79cac334945076b86e8e878a45cea4e1b03f93cd926bd658ed640efe29780fadc5ca17ec09f73d7a2f56cf10d9d313ec7ca668c8a3b24efc86974267ac9368f8cfb15388fe0f6bc60e5bc87092b27afe22fb1e174ca461111a6031e7fc1208ad25fc5aac71b27a624ba31528b05dde315a738b812e519d6991289f08ad3587848f4af253068be4e6727815294958d55145385ad461a122328ddc40a6b026ef632965ad75b3d0fcc9ec0f312d6e6b8c0da8b63e1fb1b3e36897ec941a3e9e6c7fa5d38524e53538c37b4293c687a4d00563d6400adba690360488703c303041dc6c2f7b59ba29c076b2a0271d4275e1a9ace0f7d76f470d4bf4bb63861c4a46e410c963951abb86a06723d212b65960020dacf740cd6d056b00b996d9e18f507537700f6119fd1161613eb4c52b3078ee8eebc2cb2d7a37a3c83adafc48a12d19d2c65ffee023b9b03b3803689a5d9a27a076e9d77932173a4352cc1404f0957c69fd7adf9d2c7f9a81de030e9cd4ed5219648210650f8b6be2743793545d3d19f65f30765bb5709e01c3e7c6f92e763471aa230bc4a8bf1b1acc788fadb8136e21c67770e0cdf6db4ec2412001e1d1b82074a8c00f4faf350e79a424db99feea06f412d85b1db976fce09167af8e72a0b59d1ba04e3e3510f8a52b20a76ab8fda43731eb32964cbe9dff5a049059bf26a3a8aaa4c76b5fe2b9a97f5d152209d7c2dfa8fc2252cc64e4af571104f9951bfbe82d070c3549bcda5e65b51fa89b2aeb86d5ef9969a9f968945dde0be30fc0d48b843b747333e71cf239a7117918b912fbd0201d34659ef328d82b9d58696d436f1a6f88a6ced0eb08448ab113ab13f264aa7d27efeb85c8cbdc11e2a9d146bcfccb0c4b74846dff90dd2c86ac81b31c30508c08a289bac1b28410676849babf5e28d429aab2f735442b935a612745e5c532211a2f6fce76e33d0a4127b6356940ddc31441df103c80a93e32098ef7b57b211a7289b2fbd923a15582b9cb585d91754029f8864a9f9be93e9d361201eaa8f0212c3325a8890ecf75787cbcfd36fe0b928c54c9da9bdda60b2b7fbde98b501e5d75c3354bf2ead7edc8a130b28e00ff5ab005ba635079c996af70783bef810c123d44f9c4ff6d25ed59f0adff012c91b09529a0ad82d8d18e0e4dbf7cf04fe43e6535e9e588440f7c1cf323c49a09d33f672b7f5a5956aff476e43c7a36a605352a0f4636f3be1bfae31216b9bfe9a478eb2d5aeb3f5fa4bea1331e09b6cb5ee50a5cd6e6abb356085dff9a109fdefc7e073f4652f59caeccb294811c801f5c08f7e25aed2f39acc6f0f489c7bccf9cab54316ab32043f742fad7a41f32e3207bf094dc60ef408f4612205ba75c388b8729fef5956f11b7f6b2c0d3c1b88d07d1f59a97880e8662e26c136b83ab0eb4b4caec4e4075019e7c2d8ceaddc4ad6feb608330189cdcfda7ecfd37de5e34112dad25f943c5970fb287c68b36a6a1d85a776a7cb743e1e1782421112ed80b225b517355f16a2a8ecc5711ee52363217c446e2e83dacdcdd61e7ce7362259af4aca9c418a38f07a1249f26cae5a44306f592338f6409b168b3ee0cff386264ad116b74cc219459733aa37f3c024095d93ee29427c3809c3db0a1b1f4f2953a06d3583d43f2d8e55a688175b9ac0b6fff1ab26cde397bcdc84c241c01c48c9b8fe5afc6b246f573c35eda9c087b2b674cc49a40b7327efd55daebcc1e601bfef06bef7401dcf1cc6d16f294d378d8adc4942ab3b8b747f3221f5efc7a931fe061307ba891cdcd3a1abd4494585148de30cee439bac523b30bdfa3e3c1541ea171832d3f936d98461a30b07bf5ed597f4e84b65f20d36767ec926c521fe9c81ce10253feb41b532c207eaf3723fbd7c82d4e8f771cde0039a00748140f245142c5a41810bd841b53e709e1a5b7ffb343f86a70de100a8d67f469c6d0d859e5a39db7fb4d97e0ded34817246747efba6f76eb566438cb8fb946cc2b517e3e2ed1456e688242a99c522b4bfd602ee5427a796b084223cc37e862775ba43a53b6deaf674532c638902ac23f306196386a91d1b9f4f5fca605116ea770f056c865cfdf37f2f52cf79222bbf60e09d6d42b7ae3fac8c55aad8f47d4ca158da47257d52bcbd47105ae53f6c0d4b3e019fbb27ce95913d695c00679010bb2cd5b1420e58985004eecda081bf506b74703f4383e1c61180aa083ad278d2d500c235125e5077882acf48fe41f5d9f524013d876cfedd79cea87c3a1b60f8d911abacf0a8b7df83bdeb791e09eb5cd9333f2d3d1c02e262749285a6019fad40719831634c571a58f6922d5a19d1a7c3051067efabefe15217704dac1bf4c6d3935951ffadccbc85eac56a3f51d859ede19a3b57046958c5151bfef867ab3131a71c353803626233020e6b3d3d80d019d258ade97bdd4429bd597d0e9f9deb04b2f9af99c18a33c2ec01791ff784b1126adf2965d3e0ec1cb19b9ac94cfd25ca802fc6b0f324d3c370cb73392eaaf5640ce3aafe256efde38b2ab807b1c42e5f0b5a4a5974161981fc51c8b34cad8dba7ba49867b6ca923c5b8816ad75ef5e1d3d5a81ef328a90bd619e6914f1b3e80c12485fbffe979312b3b633c83073ebc9bcdd333b9d800697f2db854febc735321e96c03ad3b596131f5a3db45ec7e59b15588107543445b65bbb6c0a07b49aa4ffc06dd9583492805af3d893c8e2f86ce503ace9adcc05114d6925807e23dfba45d316ce8272b5a407a8b56dc9525ceb2ee3df4f736ebae9c0ed5db426d8494b8d170769778a19602402b741ac842d3d1757f70813574cf8f32b575a332110217921f54691303f9a0678ba64a45457662a5eb2168a2ad76430ec356febf1bd0bdd7e83ee5889e567f5bd8ef1bf4620afb7a22f08e92be3511ffea3cab3d5b734787ed0f3668fb558e1c6c219ca37148cbfd82ae565aa39b19f1af138d935503eba9aad399d62272d030c776d824e5530d6696dcd02ab54da230e9b73343dbf19db5c986afa232133f15eebeceffc725217dfe8ce836c05aaf1ed0acf63bf235a1b449c14e92a45c66063e64e82ea89ab7734e2bc29cfbccd4f93f21a99a2d82c6e228b19e88b35d3c9c99340e1770ce165e2c3cf8651f6639f80c6bf49263b902a4c20fb4265c13f8c46835f43c428bad3ce7a43b081e30002415cd1134447325d8f4792e7f4a9547940d7734f09f4a38adb2193134dc62a6f60a81c4d0e42490065b5c67fe2fffc703fd49d1b2d23541802b68750cacce77650eabc728f6ff308558baad62d5590aa8cfd43589eea6a3e1808a28daa42a15a6ad6b9ae8b598f6be94e0ed651c6fb5d39e43e360f0fd06e814b905e6135a7e88645961887a262247167933c009ed004db165d37629cca6415a61c8113b51d95ca02389a6da6fdf6a0479f8925a86123189a80aec1cc60b49d33deaf89d7a764d988e7f26af6abe3c6e4d153bce27083836c229e756c9509a15e18a9ef1338bf4f097f0816b91b88262d97751c7515cdcd3515872ec140e8bb43752f882c2cfae8509b13de79288b4197d28853023df3dae525b41bb13c360a78f55efd15f6cdaec145972ec43a8691a9a415c8f1cdc324de717ea9f9612cdfa539253adcb0d9cde40b755478a07b2f7c2e116a2ae0fa2d9287409fcc875aff5d9ef2232648bbf1d7306468c0639c235e99d2cd44591a14df7b1e05f183ee1dffd839bdb607d78299d02fe30add5ee26fa42a43c92b55777804ec39375a04538a40cf1f61aecea895ca32fe97053945191c9c466ca6d457e3cc6faefa66d62195ad49c2d7477c244163b60ef086fb51d6c130d6a6eab3dc470b2657abcd055193f78ca897157f1ef690504d9f37e1921c584bcb231487ab3bf96b8a78c0eb60e4a1037ac776f2c89ca8d4ba88dc9584c02c9f755e8c80e136d3859d89f05d7dfdb1a2351051c1e5e57ec88c481f5ec124517094c0efb050efa2cc94003a2d4a6120061c3c814e99e417a7aa3a23bd5ddaf79ef66a58f76d2d37df9e1f5c7ef5732cbff46a2d3256feb5db97c21a1692923593ab879f998365264a591c4b3ebdb671e798e7a3c9c2211c89504ef1e993d47fbb29aa2637bc2fa4fd534722e00579c06ee72b3f8c4023fa945c2c3faf8ffe607e14b00c2bcbebfe591d58c51d31e7a6c6eee7c701ab019247c93e664014306bff10be347160627762b5df6f0846f23532767e8f7109625f92d8b9c04e6ce4d0082b789bf0857c3df2fd18035d97be9d7c00e8b8ee89d3d66712787f6123007dc6bbdbfa8f9d494b6a911b4d69d9536fa6771cb35609c9294e7c396db7425f417e94a593d52e1883f4351141c0bcd9ce4093dd703eb9dff7c975bf88604ae1d64c7b220a5e83bf6b4668fb12def0c2fa8fbb13553157f8311648c6aa9e06d7fb8fb2226df8177ca2d18cc408148f87f122b992453e5ad90c450e9392ecd861dc3ad966bac89843afc672b17bd19ecd09aa97da73f42bb795097603c2525c238b2a99d8156d2ed7749a50e3873f0d2ee083946d6c0e02fc50571980f4e87bdbba640b37f1ebe1262fa8394d1c744ffc6a19b51895c70b30926a7d932e5177fb1c790ba1d3f6f90e5e98ca22be23d8ada3ff69ca3744965faf2c89f2415876b44ad3e8b7bd00d256438551794e9106d04a30adf3581ec0f10f4a6b28169f409a94365d61d08f9d14ff80ea394ebf5b39dbea15aa24b2cbce78c1937d02e3dd15259963b8651b7ab34b723236aaf954ebf55103e224c2fb3c8415df4590a79f2d626fde37a446782b7dde904914188bb88a309013e453ed96453f19ac22c948d10895f39942a62e0d95a05538c0dd4e0867e8776ab554acbffb49f0966ec9ac865bf014e0d1d11163873328c272c7c588e37f94b70a7c6be4a30c6c7afa19d142c28c0b33f6ff732936b96364bfa2aeedc3535baf01c41cfdaf7fe73b26a058cfa793b3db5051e6b03de5b1a08333cb3859f3944b2e242ae392bac509d24e12392bc8af75f5f33084a8cc854f1f83301d7b39bbafc9681274ae0cb3c7c962d162df6afed264c8714863c529ca306d8175dd0ab4ecd2d9f1fcb7c83aaa87aba42b41f762b19aba2f09b165d996ca9a927a8136721c96feff411a6dfaa1a7ddf9c2b2a13d0e61b21c469725311cbf69fb0ed3e98c819dbe0f9169ea17fdf05667dd371ed633e9126c619a7a405b7cefa30711ac7363c80c7625d70b5fdd990bcf2444e31a71c939041806544513756f9c971607137a2229d94279dff9c350799fc108a59202bf21e90eb63fc0649f79a1c2757c2e506251c88f6e454d065198047b289cba06779a07bcb42231630cb57d527a4f6e37df7c197bb9b3e983f2ef574662e3cbb9a85cfbaf7df39e4c38ef7cf2ccb0261b83f8ff80ebc24d7a379b6efa717671bd9baa9e321ce759d03c195f3b8c847394a9700903b2e168581ba858adeed8bc98e3cbd8408571faf8ce5059581aabc199f62109ce363b682aef415eed5e69ee3f2d794542c67be73942aeae440350a4951d32b31b80f24d47bbfff49f45214b5d013ad2ff12442356bd5b9043b74cb90ae6b4d0d5332de7534f49f4d8a07554d88f32bfc1a809420ad6edf7b47558c54f44b465882dd5a9d5bb148d0f06e44eb7b09a5557210a190debec3219f1a8b98656acc82e3dcfdbf33dd84aaa68691570f6905f5e2fc37e1de3afa07c63a0076f5b244a0306b4c8a03ca94bc9528f204018e0df90bee2765c4bc8784ab5f7aad6260431aeabea6e88560a224f8ed7e41d0af722364a5f370d2ce689225dcd257381a8a84db20412808084d8f6cf306fc3e6802046f97481eb8be6d0b2918313eabd1ebf7afb4a7bdd46e0997510ca21c79d36a5b29abb8a87ae2f5eca171a19a7a74fedf35f8a33b09c14118daef233195d9e8b16d0bacc7da54d65d1aa0a0e2e3703378ac75cfebaf25176d24b29fe43c505be924b1cc4b1fdd1c4860f2291fbc78e83da2f92baf9d8c0b0aa65a25736f150fb0cad6ef2593fb61360e88365ec65c03bcf413908196443c96938d7dc92a8c31e52a88e2b58d2e0ef6c46dbdcdd7d6cc636697f911719a2c3e55f7e21c0a85f3c40674bd83e0fc94051d066095279e2335970a8a5d6d5eb8970e057fa69f81f12f7de7c4efdf1f7dc97bbad28566ec376907b975588a53151a1cf07d3ad0d99656c6fe3671f35fde743463d783f3ff00be9fad2f884d", 0x2000, &(0x7f0000000bc0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000006c0)={0x90}, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000000)='./file0/../file0/file0\x00', 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) sendmmsg(r2, &(0x7f0000008600)=[{{0x0, 0x7f}}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x32, &(0x7f0000007380), 0x0, &(0x7f0000000600)}}], 0x2, 0x0) 16:13:47 executing program 4: getsockopt$inet6_IPV6_FLOWLABEL_MGR(0xffffffffffffffff, 0x29, 0x20, &(0x7f0000000080)={@private2}, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000029000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f00000000c0)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8ddc74424008fc4bd87c7442402c43a727fc7442406000000000f011424f30f090f013a360f06c4c18d72d68366baa100ed", 0xffffffffffffffb5}], 0xaaaac44, 0x0, 0x0, 0xfffffe41) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x1, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000140)={[0xfff, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc5b, 0x2]}) getsockopt$inet_sctp6_SCTP_GET_PEER_ADDRS(0xffffffffffffffff, 0x84, 0x6c, 0x0, &(0x7f00000000c0)=0x6b) ioctl$KVM_RUN(r2, 0xae80, 0x0) perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 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, 0x4, @perf_bp={0x0}}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 16:13:47 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000700)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_INTERFACE(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000240)={0x24, r1, 0x5, 0x0, 0x0, {{}, {@val={0x8, 0x3, r2}, @void}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0x2}]}, 0x24}}, 0x0) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r3, 0x8933, &(0x7f0000000180)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_NEW_INTERFACE(r3, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000240)={0x24, r4, 0x1, 0x0, 0x0, {{0x6}, {@void, @val={0x8, 0x3, r5}, @void}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0x8}]}, 0x24}}, 0x0) 16:13:47 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$PIO_FONT(r2, 0x4b61, &(0x7f0000000080)="18") [ 2116.898087][T11041] IPVS: ftp: loaded support on port[0] = 21 16:13:48 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x100000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:48 executing program 5: unshare(0x6000400) r0 = getpgrp(0x0) r1 = getpgid(r0) unshare(0xc040400) r2 = socket$unix(0x1, 0x2, 0x0) r3 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r4) fcntl$dupfd(r2, 0x96342f8600000004, 0xffffffffffffffff) ptrace(0x11, r1) r5 = dup2(0xffffffffffffffff, 0xffffffffffffffff) r6 = bpf$ITER_CREATE(0x21, &(0x7f0000000140)={r5}, 0x8) r7 = socket$inet6(0xa, 0x3, 0x6) io_uring_register$IORING_REGISTER_PERSONALITY(r6, 0x9, 0x0, 0x0) setsockopt$inet6_int(r7, 0x29, 0x2b, 0x0, 0x300) ioctl$EXT4_IOC_ALLOC_DA_BLKS(r7, 0x660c) getsockopt$TIPC_SRC_DROPPABLE(r6, 0x10f, 0x80, &(0x7f0000000180), &(0x7f00000001c0)=0x4) modify_ldt$read(0x0, &(0x7f0000000540)=""/4096, 0x1000) [ 2117.711433][T11061] IPVS: ftp: loaded support on port[0] = 21 16:13:49 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$PIO_FONT(r2, 0x4b61, &(0x7f0000000080)="18") 16:13:49 executing program 3: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f00000042c0)="9eda438838743bd4e9720bee57093515dc189a5ea685e9556c1c2c3cfc4df50d66d31a48aa312663b68d18c5826b5b55fb738208863dac0f10f423aee7a5d8ddc45ebdfeb7424bae859d7c37ecfc4b63914d5a56d91017dd22bc84f759a15969951aef9d5c88c96560896988fa18cd946cfcc3a0f1c993348377904eac32c980bdf7976ebca2b499cab63c4e841514277fc71d4620e29a92523402485de0e82896484c0ae497a4d686df23ca7b68c3fd5e624d3510d7f94838e54af877ca58a00c5a672bba11f5aa1ed1980dfef47b9973d0bf456ded5e72f1702b3dc5197fce39cba53a038d8dc0ec783ce70577107dc5e8b299e64a0b7f1191f0926bd25762370191710bab2f44e9069f55f8a3f87e4cb488a2fb3348c0bf3b3874291f83e4776b160ea73aafa3919c7c069c73c0052173a63158db8b65541d161f9c964926ad7f06bdd6cb6a32135b04e35701c2e13c49c1f75dc7a25d623378860692d172ec3f1e1f2d9dc77c015c13721efcb101c2390abb847e871132f472a37cc0163b39b1d575a5444e246a08a1afb1a696cabab29498a314429a3b9f44c43ba29f71fac1fbe0d01c3c16d22730932704bcfb0c1b7a432bc51dd3f5dd5afc3b342cbe6a6ff899039e28f9a51881b1d46fdcf31767cb6f5c5c69ab3c80615d77c4d1664fc4ec831b8cea2e752bbb7a9ce79df875b29f1e232751daf32a1a0c4ff8bd0688e2b8e2d668b8a77e20a9eb6ec2e2c23b94e507baeacbcfa31fb6e1ca3343668f43e3aa6d85e7c29bf0bb4dbdabddc92be7f4a6f5d21b19e6da17bfb6cc926e3847532fae29c7b62fb909130ec372d3c16cfe6aaf3ce2af0fe7610fde7aad61bc80d2f96b999c8ccf6d22cf903ca8ae8b879ec4a416f334982e9810c0140a18d4dc81b5edaae23e9f4abaf40ed71512aebbba5bb251545e188db789558a845a2877b14bdaeec3c738b7d730c0860531bf5517d4f0e8f95ed3571f8a35816d5116fcb8d7cbf42b7d5d5e65541508c898bb2e0fe96297d2ab7135662de39df099ebaed5871111f5346278cee5728cec512e6c0a0d65b51e3d627873195b84103341c2bc83b6c8fdd8ba17f5957413f61c69d618c9b9d0b1f08dc81921b6c662ee1da3bfa019b095e9a03c2db4d645ccb7364e895098cbf7d932c72d80663c7a1694d122f7348393079223c11d36c64a5856eae0397ab9a9d948204b74e56525a9d552dd0916de81cbb5af3c59b3d7f8f9154423ce2cb45a5bc808e24bef13212019a19545fe54ba84d01534358380192b8c7b0eda907810375bb66a578a58fec392b47991271c8367b91d710e8a176bc1a4e96f0e137d4c25fbb03eddc392f9f170dd744472b864fbbae7c93d86e682308b21b73c5652065d72cf02e1152b44024a90a3b52eb0bb3cb412e518d37a68aa4c7f46789c54ab30d3a73d0a8712fde612294cda2aa1ccf164930b9b1d17801d4fbb06e849d39bf2b5141330caa0d2618b616f1c67e1ca57080e79ed9092ba7a55e8121cfc825cd26a0199a479a7ab1b7b23d2a4dd82fa6d04ee41ca680435efc934f0451e865e8632ac2f1115f4cdd33b0fccb7a2326127faf20cba37c828613dba5a98f4e1ad25eb6b91078cf73d873df9ef91531476f64b83559ff7ccdc4c070d478b18196ea05fe8d4ea0216ee5273dfabbd04582f40f064c9781afd2cbf30901f28cd09cc934f1b2d50883778274177e3dba8af0a1b931d80ce1a6c4085780ea2195b65ecfd2953f78a5290fe560d0cd6a5e73890a5a82dc410b92a3ef2be05ec5607820fd4ca6b9c3aa258d59022fdcb21665f1ce4e8aad8fd918c43bd3c2afe3dc223ff9f48831d401c8b6996190793d1dd7551f8511b69283992398d8f9b4bd2b3398d3b8c6f3c5d8b802ca5282b70242df2b7be4b38e70c3065f8da888631375afcc05ce578089c4f783776b286b7a60d1b5e189e2742a3240c1036a953d886885422eef01413c38099b64505fd5a73488acb4e611820674c58ae74d6c64a885d4beda9bd7903bcdc71e3711e2a057c0eab2100c321050ab14c6e453c53182577ad3178603cd9afde40a701120e9a36074fd582428c74e02781318e6c65450f8f020bd22475696fe13b8c59260e53a06d16eabd135e887a0a6bbc8ad21be7661df76fec5b13844f68b8eed1a7379713738beac9f23c7a26520e19797a910cde9fb285179526889b908b7eb49bb06f70f6271fba8712c1a4269ebcf4b7d043e924e3d2c4c753fd7e547d95841e335179836f76424e728810d7f32b78256ea30c79d9238a6588426e1f2d4c0b03d5605bd826ed24f0f11326b4cf958632b86e017aa80e142db1580c44f76d9c98196f3f6852ab2bfc6a01a3553a130c2d171957f5a45c3550fbbc990ef8742a98a86b280a57b9f198ff436bc01161ada50e6f23026c3254adf2321bff7e20aa54080bbb57d8d52c6a6df6107706a2e5bc6da68f17b474c0edd39401d765086e885cf7992405f856557915603cbe8894676e996bbadbb649a5e7498b91f9bd2f697dd9ebbe4d386050258b9f4c94781e61c660651c3f1e3ae51f8c035eca365bf15d6db48ea9ce183515f4a208d010f7c23dcacbd6e225490d7e9c133525f5c9018d752b21b4897bf18b64b6a9936f538a0a8958fc934440aeeaad2b68ac844d76f0900a6c95bd0b353d85d4fb62eb88360112237fd8c636a80e3130b21d66ae8ec58a4b76cba0602f96da919f7e84fd37e3ec2379f58e389a39c78d2482e03c379e3c4649ad63a76e3707ecff07d2fcb0c9dfc524cab49e69a09c92e4f88714335cb57d3f6184d07bef9657280fb5c9fd2d8f940f7ac6c5407e3077aa2e4ba8e217e0ee19e302d6d90e3be05a86dade35d2e454e511afb5cf5936f1d11f2fa6be6ceaa817dbdc7a6aabf2fad8ff3efa8382a25099f0c5989d2ad56ae0f4968b2cfcfc67b4f1c161c75900b4848f59a3c0376dfcb7997bf28e9e85d6dd942a360516de38e1c1a038a796f9a77ff2b0c7e5e8f4932391a0e58e76dacc6f9764178a211dfde3e75d367d2911ff398126ffdf83cf2fbdf1ad5232bed9155f7a168638a572094a9e934d4969b358cf6e121d7fd2aeae2f499068b42c152f0e3403a230885d6f92f038ddaa23499f804ffb06abdbabb51f6c38c92fb1a6271a4b13d6d11125b8ec12efa5907dc65062797fb9cca15e2f254e76b182d3fcdb4e96ac4de36d6df7e7bba5c32f422286b1be3b79bffb6fd693761952d195a84ad9ceb07287a0fbefab9e0347b513c5f60233ccd4b52d90ec144a2f896d9dc7f279f8aa93038f3efa286e1c3006933a4d7183d952f8d28b141b28b2af355b5bd8198dfde1ffb8d09202aff0d16ca3fec194662892a49f829813970a4520f1228aa03d211a45bed3b2e05bf1f10b1a152761e7b6c6ddea863a3c02224256092c70ca70dc185c4c385dd98b09e2682661e1e66f71d9c4037048eb70e8a1cbe57de87ec43713abf5fdcf63b9c482f318e3bec37e878dadbae15a02d731e6c8574eb14c059d72f73be5174add786d06b585a28a06d349d8e434a491b34897b3c1ad786ec8280d7f57edd4fbc6aea5485d659b59d393e331cf91e6ed76f340fcf7cf460892fa7318fc42b883f61d888ad982a751accb613c66661fba5f3d6de751a6a9ef8a4700316aaad04e991aab7903f4ef012ec2a8c092234e74ef335daf360ae47bbd2bbc6ad8c1a4f81efe8bbd703cb55ef36b32b4e30cb5a3b165c02ba295d0e1c40ce6ff8f479a74f01275f113ebfa8ade37a59ce70e6ca2a6f48f1be085f61bf772e2c2da523a2cfe63e99c57bdb1ff23139d4fca49eff7547e9880eefd3f7511a677efa23b52098ba89037c48dfcda2e8c1cfb9f892161049e53f8cee55256279512aecab8c441600dae0fd957883273047cf5c66ba209f830aa2ce0cbe41ca08c0cef4aed7f4324009200661a7ce680e5a8df2d051c1d8b2f63d25d8d74d05c75c46c8f3f24d625539e63459650960498a54ec3b16225bbbf4d3930009df265839d72611f5332a904cdebada108236e4414a2909ad01ec44b9d7f75de4385ad7ca5152e890a0919b3639fd1bcbca3b737ebb8d9ae541b1271cf2166ba15830e66f3d3afd3b754a7f81ad4f0999704ae99c114907c5be4a4797f13b80564f234723a34dbe137dabfd7fa23562df679f54a6ab54def6d63deae9844f72fd73efd0413551f5c4b9ee826eb3b7faf92a59ea34a16723b4fea14d1c8815a4e2d39fc48d1dbce526a7c53f5a96d0ef6463a0cee73fd3505f5c764a264b83c4a21f80e8b61c82d24442d13da99d18dc1b2538e7a510f6093d9ef2bc5cc777d4f98411e93919eddfd69d6e20d227cb61c50f358ea227f4de941fb080c1cf6b1f6e25533768fe133dbfc3f9d29c603bed38aa3c5af5b81a706b0067b40b88f992610d04c7cc36b8f649697cd6a93fae51138161891ae75a7147780fc59af5a6e18c54f9d2a4fe7fa92314b399afba9a40d0cc24f70a2593acf8d179215e06b7a9a88224bafcb2cbf60caf5fe4ff38208a70793b5dc33cd572956260e1c86312d3ba9b3a4b2b44376f2e78c616a6c0880ac8dcbaa30b9f761d500fd03a8518dd0509157b184a2d95e0caf3ffc8ac2db6c54d80c71a1e5b9ea3bf51071e2118af204123daceeb04e4f6f31f32a4d3fbb76ee49440cabda2c121c1b99acab5b87cecc37c3f9066af34ab29d6598bbfd91047a2ac7ce3a8f3027ff5e6d743506f161087278896a98ed37122ba208b61cf54d3929555ab06b564cd5e4f46f4755a6cfa2ef2b30d29ea66f2749d4060d411fa9160c91b6f55cf071ac8222c6313df18759e2958cddfe3db4cbeb9cd39abcf5f0beaecae8437813995cb7ed0b87d42ca942ff7245ece204798d01361c5f008e0d82bdf76660515bc78f7f8f409ccf68614b2cb50f5af2615661326fd971bc57eeeade60ea906b8df1cb0dfafd318cd2c396309c329d0469ca192aa8f51d7c4227685440f073983255baf054b97b9d7be1d1470d7eabd5c09b2116b4e86b0567b7e97e088717a4fe3dbdd310a1c39136ea4d2c47492001f9885dba03bf97e7da376171d666441cdc2f999db137603d57df32b4260fa0165e82917bb1631ea314e7a7437e66fc68cef22cda8f456d6e583f6e3237e0bc79987a9103f7cf0918e26881f67ea582e1ff3a49177599d385bf6e42572a2547933aeddb826530e9adf30dd84c3a7fae5c4c26f6c6f3a9f0906decd314e2407825abef959c5416d18a92ff34e6c521a16e8a0a29937c77d4ee99b41d530a732acbe0bf5d274df9d496b47a9a624546bdcf9976cde12ec989cb2a70b33a7c8a3a77652023164695f9db30dfcf587f0cd4f73e385730bcbdd688f6dcb08ba0efbb9f579220afefa4acfea522e864fce9b1782ce9f14824d16e9d33a2609c23ba3c5a1af02549357a0dcc12e37819d778021762cf895abeac1125b744c8b8225a091e7be9ded9993cfa3ca9abb83e25c8f559009977a2ed9374a89619fae5ef6d164bb73d242004dc8428e44689b33ee3bbe88bb4962ab0a32a90e7aea044f08410752cb2d7aeaf3196648a3a99092665b478bb394b48f79b36db0efc7f50d6a5179c945f5298cfaac5e5dea715296f92abce7281d48a0c9c6b785a35ef5f1697c047ddb254fe9a8ab9f498b0c1ae09ffd01a3d8d427fee7e36c51e0e5c2fee2245fb8464626ab5c9857ebce91f7d22bf024d10c2d71021cd69268472de419e6cefd970cc3a8e4d1bbe6496799aa7f100411766e712aff08b731460f14f9d7356db12cf8e1c6121968dc68b1d81c086b325ca4ce6fe1f476707e08fa913144b757c6be17cf93150db29544d207f09a896f33b7335d9339215da751e7af2c6bdd19db6f521af2c8a5998dc607f97026d07111488741134c1c86eba123273d1fd5ee4b471e86f9ae9478a04c7482076ab34a1eca5c64f89e5106eed44bceec019c67c12fb4db4fdac153f4ac3b63ffeb6d30de58ec039e2dd3c181e254cd94d0a2b0b44490384cc5915b54ee1db2b6d059879bf8126c9ca976d0f7862da07ecd350930a081810a7afd72b2ad3f65b96ae9c7f91227a2b5513a559f36b90fe01be9ae5ad3ca65e2c26f358fc26b858a3633fda7ae49a5fb705220a5819b3cca41b1ccc21d7c40f5fa9c422288efa5394e4312675899d704a2aab62b8363f58fd4bc12a8bea6ffc45b4414237bf5f019321206dbba439acb5ef26641f30fdac20f964354bce94e4c9d73e137f9806deefaf6f4acaa0e76ad4fef9f6cb7fc01bbabda9612c05adbe46afcf94819e8a4b4b49ff764784fa432d47fb6d4230900043d1b4521cd6839fe8c5df4d1899fdfb13880e207cac73f0a29020bdd563bd9c2f6bcd1ec523b3e03ebf6164fc65af001830c51396f9df2d346f83a59cfc82201cf1150ea57259d579fc2ed199b3fbe42d5188c84e4354610743e5b23a265246313cc63913f17412fa00d98b379b80b96d936969572e11316bc8926cb23115186f3b2387b82c3898fa41bf16a308da62d5a3eb3609af1943fddde08a4036eb2a41b7292caad9eb082614b02a1fa255bc7abd4d0e3b4ec1801e131e68c7aa9da1a0ff10f9de87dec8fad1ad8bfa99caa49e203a7b9c33e044d4544a537471e7a452468b821959bc488c6b8cbf81e90081a26de273ad1203cc06adb6af242ab19f96c1c66b58c37e2c9309704fba63af99a8d9c5efc651afb631fe9f546b938cc3b8e526c4159e5c9f7afb29fd1d55fabf09367ce2a63a35e7a2062d1c772ed981fd77157a847f687a177cf9886ce41df8cc509302b46bc1e2ba896b1c1656a1bbfdf4cd9ac39cf8510d1c823075f16550fd044aacc8d42a56f03718f7b18475cdc3999faeb25ab3dd8a807ee04d8e5d831d08b4e309dff50330685138797e10c6362636f53f22bfc1f3d5090a5d369282d9de36bb4e2505411ccc6ea395afa1567b15a2fb4be2adeea7126b1a8e80034105e0d98bdd78e796ce1cdc06a4ae666fc0baec5c52614340ed997673e26ec47c88846c000bb7c9077337cd44f5c041fdcc64986e5e1c0f488148f0ee6f842c44c0b72e82109270341bba6e9080b70fcf930d0f10be5a36798e70111fed72727b72282ff164fc08319d74f1f57cde71b57cb397a9e753f87b97729bafba017a24cbfdee5dfe7fc296c112e93bb8fce560ca80a3afd8370baaa79ad783b51352b5440b144a47378c9ae22eda5794328e95bcca220fd07bb56915529b155c61858efe89ad36a79288e74c0e251addcfaf797432175a5562b46eff5e3aebeb74623e18beef85389383c604d8884431b07dc4bea0174aadc337ff41f558a63f16690feae47efa2a5d1318b7397e1e4ba398727d286791b71610e1d78d32800e7e113c12abf0f60b6ca4401ecd23b7aacd990633b2b017daf6bfef1b2361ece74b7dbcbb1a73d4bc1f9d2e5c9fb0b7980d25cc44d1b10c09ef5a6a05c84669294a5cadf0cd88ab449f9f0bcdd8c48590d416c5c1feaa494a2145949c2a3373df7c6014225f2745bbeb20ff294d22c0d96ca111e6926946207cab56a03162a49e68968e398f70690188ee3ca847ef421742d60b9a6ad029e8a3d607950b2bf8ad8ff297cb39acc94905635770436e134435e28205140331b5100d9f64469792fffac87bca0835cbc617446ff86a7b50418c305f32e658b32130e491e38709fd3697017ac8084cdf1ed81a28375aed092ab4e32ca88a933154dd3a9e99351acbada926b67b310c7070ac1a414a28c5abfe1f45476249a12f18ca2d981528d881ed3c5072e46a6eff3cdf37dcbc89c7f79c88a1f8d15d15beb66a0e4440c7b93e379c4e2bac1d5c8e85f1852887e2cfeb178fba1c67dc2adb0c87df8ca4444ca7f455509f492effb5001328b8cc696e2933207a2d78bbce8562ca34a248193c914406b161c8141479d891b0c6110ec1e25cad38299b489f2ec437017cadba67dcb58abd4933c95b35707118e47b8701a7d71e446e4b62e2941d4281faca0cf22914be5aad80f47102b178a6ceb24e82508fe55a92fb6db70d03d1c1ec09cfee31639341756a4630a0eaaecac7bfbddf9d30c42cbd45eb181d5bd341307ad26f496bb042e2b655c03ac3dcc587acbf50f79b5c239be9938b62d3251b199f8413b020605d5d0552cfd9c39c9132719d6d0a326b000e12fcb51bc274df79d11430060d05978cdd50583f1bca82c57dbee605e2d00fcb5414af13a596d35cb5ba62de6a28cbccc857d23547b1c7fd5ac8fbf6758d5b8451fa46d9acc00344dc2e565674b1dd3547eb8f8aa5fff99042f8d1d59e6ad2f53379211e6832fcb68f5777eb2db85b28f724f4e4ce6342cf55713ff7b0cb4f7f47dd12a6566b86709eaefae024373267ce72a89e7f3e42ab48edcccc96b5d0403fe93a927e5ccf470014f220b8257393226cd7b996f20e6a34f81206733a9fdce03b701943c1b560d3eab68c2c225cf7f7f2b56123be2bb173e9e5b37f4d3348f6b987764ad07c2acd44514ff264d7eda31e5e517a179414841ad4553d51c08f435e05f10aa82d74b97a9ba3a133e6c9175fdcd4f3dc9c16d3be1d5bbaf13240177081ac1d56681bfa988a93af09868afd608520c0bfd71d857a6661fdaf6f2e166987eb007449dd26334ae932c5003fefc0f983b9e49cbfcea325f2de16a9ae935caa46f5b3433957fb370971ed957f138f08a60fed5b84995e428e7ae7d5c22021ff016baef0e713a118344c016a99ad469313ba7f2452da0dd82e019f64aa229cf80a69b3e08ac5847f10d247179855546313232f23e055c2f74ecef14e0fdcc29a9bf0976fbb249bd5c7903183d2a53c70960a183630e7d4928daa7091a85ad987d2a4a5b8f6be6612fa72d9fbb33c67bb38eff19f2e784f94e0354cf6d35a5b2c62233c039de3734b38e97ec72bd673fef09fd56fec329818cc68cdf12cb52f7d37a8350c16e94208880bfcd3e895d7aa4489e3dd15db4a9026f0d2a46f1e89c35845dbd976a1992b87c15a0c7580e6424b8792a7bb7b933d7c5433d4133ba4dbbcf7995d6ed3feaa32f876a287feeb9cc6107778c1f83e0119d980b9e994c2a3ae3de24a103efb3cacb746b49d1ad85746b233ab4aaf0e988ec2a786bc93f32040d3bdc3008031634cdfded5ac95b2279e096243228296591e7ba53c4a127772cc4620e6b238ccad250629194533d0a669ff3366c52d64928693e0b0cbb0b8e2c6029089d4dfe2b4b6c5dcd85f1a02770611e65001e48a32a8b0431a3b9d77fa3a95be38a0436a704c05a8e0183f3214c25531a63796f679bf72885aa766468d42b2543542d7e82544efc5c5e81e6a91a0f5d4e68000cff687d63e45c9a11d4ef515050daa592c9a828ac7c0488e7cdb3d6fdaef5e9176ee68d981ea50d386d74df3b40660351736deb03bfceb721878cf9894b0302df15964242ab6b9f77f98ba1c7993735983d2b022600ab74a19e3636e1400d08ba45d3a5c2774cb06a1c358bbfc11d27efaf7ca53c2e7757c8c76da24707d91a4a5244262898d68083ff91c514d9b9b1ebaa0cb0b10254fda1b1e82b9a1a47f117b5b280ddbec1f6732d11117ef1a7a674699df87fe795d1243cb9c4527e364e2b711b6562a87fafc130ce0baf1701686639b05f0c8dc708f008b1e6ab89e8d623bb83f3d54b7bcdbdacd055ac4eccbd36bbe0af0f65a00e3d6dd985ae8851d176976cfb5816d1fc2a63d3546aecaa4e712ca6961d1f181315d553de6b53485faed0dcfcf819a1ba3badffe797377d3d1ddaed8e7a0acc0c3d277762262a139f94de49faca167b11bf04f2104a5ab9a73367a6461f7124c91a2c4229ef98e6ebde9aac283c7d029400d71293f488ba169b62c1e94689cf5b248ed4aea62b88d65bb764cfe27d5231a58486e7381df518f4ed81cb905108c54a5050a94ca0e94da20d3794bc5fab9127dc95b6404b1e27b4e28136fc27806f7be798444c33aca88ffd45b860eba0d5033839f5a092863954604f1952bd61dad23b11643fe14f3ade08116aa2c13eee701ccd13e506bd65a1060bf69579aea8c8143cd38c0891a3065f251eba0c20ab9c69ddf28e3bd6400cc203bac8de1882239ad4e1b97b0ae2f1abb7bac7c0d8ef82b97ebfb1f5577f06a3a1377b09ada4db87d342f20ab0eca4b9c206042471307511429cb57a578211f92d3647189861cad9145f5eb26ab696abe50a2a6c1b469df97da28aba4e79b586c348a430f5ea61c4be1032fa61d18581f05a07fb8707c8996e0fff1c3eda59b992687fa12483b9327e10224b20d42e8b3fc4670bf070ced602283273d6818acd1f6da567c44d3f5e1377065d43d87d889843ae48e7fa8ba1634815695b8c480ca271e6e833799c70da80fd79acc09b989667a2294de5da73f0363df9a33ad4dab8d27cf7bed0a06838672e3d07d52b6396e9b5576021d5e925abd533bf161c944795065fdd44e8462e3070c479f1c118276653488dd9b2f1a673f8cad3612ca1fab4388ec9c8f834a01a499adb7b3a9a977672f6d75b41bbdd7f91ceb7e7a88568d17bb432be9e4e96e115075bce197ef4754d2914c2c59e2d7f4c08f0dbe34d31f229428f211bf1d7e8f5c319ed4a8273cb6255eb318851ac4557b0278fac63107a54d407c42f300b843a12abd3b893b46c7efac2e388ab42b87aebe2543bd4c15f459bc50aad10ffe1c1196fb52c26e54bdaa7fbd52451f207ffb073ef4b3f71eedd7da40c89505019739e3fa733bcdc84ff4919e8fe2358129ef28291be1d6426b8bafe88463b1d3cd7273745381c7f65221898e6ad361e88b24c54ccc7ac9a830145b6dc096e2d71ef71ec4f03524cb870b724e08d223bdec2f6fdde6200217a13b5136004d455d66547f5a1793e0cad85677d49e5c558852107007c8136812cf021afaf6f7e8f59883371be46cda412dd9c6fcf187c31252ceb5758901d39cd5355ab386d9a7fe6ea46ebf277aaf809c3023211ea9aa189de4d422080ebb9fec50ffab6b95ba4ae5018accc497e79149ed6047ce561ccc10e9194cdccd5c9fb75175c8dbc9d0a916ad59288f010defbbb50d263041ab37aac0f93253bef6f898cd0825d99d27224f26181f9713b8979da64756c95e7505f25a2688960d6155c3613dcc31b6c337a6dbfc6b12cfde1db22b93bbd5e48534fb0bda8b212577a14dcf665c834b0bd24e5f624d2455fe048dbe930328d7cb632db3b0e244bb5d43390b420b15157a339487fc78976f867d3a361aafdd3f50a93c01882da7c220089a544381db22e2c86b228dc2be01820468460437588952a549d37498e529e62aa62bad1580546bcb1e9a6ed1870b7838d05d12f6e3a041e78b1bdb80894626f20889ccb3a468aa4fb24b9c87cbb28623ce59c6b3c6286db366d08004551a25fe4d8d194a2bb7c52e1c85a5fbe4cb15b171489da121bea1c469a6bb185d63213084e3a81ee54dc03a94dc5ecdda7bfaad1df68021aaf4627c9d529f13e5c81b5ee4dd228949ca16b9a61d186211d153294470907557e5e14ae665013f285fe4d3766e7b3d8ce5e2a14692072d4d8f79354bcc8db8a2a36c8bcd", 0x2000, &(0x7f00000069c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000066c0)={0x90, 0x0, 0x0, {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc000}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000a680)="f6d4e7fea5605e3acf96693fd7a12829d88754d5a9d5d357303e5b219334581da725e7f1bef89561a11adbb092a11de0d5f9dc2f3cf465735146bc4bdb3fa723489dbf6fb1cdc3c0e950042fa2006b10914a21b587547dfa08d0c47d775a81ef076d2d20c3c5495295aa7c9f92d23cdf46c18970d26dc543ee819f2535f1ec23a51ad96b5f90ba1596ce77ac9f8c24e70bd66de4b06171942670c9f80d5e5b11c89eec77eadbe365d4b6841372ac893eef6c65959ad3dc032d8f3a2488bb688ec1880b157fe5e791a1ea8d1e429a07a0d16ec5a299b4c6a86a1806dbc205cf83447e464089482eab197d934120a19fed1c502268d8893eea7c49e0ec7567126f1e39301df58e359652c04a6091dad04c3b99de12734395ce64da829b114cd5e0bc2f84b6265d82d359876a6649255bc1f3601f785d89e1e220f63cbc1965d4a6651c7142842d26bb388d8b7dfe105e48222dae1aa263b5346729a6af9b749d825fa5924dd4e017cd3a0469784c49ee084f040b3addb29296f7c3cc1ba4eee9a669b934ca7a91f89708b4f5e78b89d01024d502c1cb186f5470ea6e887c24ca2db76c0f8e7d3f4aedd2e2ff24f4fb72853d1671ea3ed6e146055a53653c89de211b4b6fd464f877d2242b67d20dcf45aca9a162aedcc1e9b5304e8849ddafc4ae8abff6084f35c8089bba9c57e1eaba414082827999f1a15dd184db89df33fff927341e77203a042845cf94b8ccd77dfcd6c31e1ea49d851fe3da49d6d6493804ed6aa4e0a91e480736d98e33d5e88ac5f8da8eb71c5095ed0a635297e5699890dcfb5e7b7b9a4b752ff982b924c7ee638b891db8fd8e48a26889c9bdca6fb5541c092b537b009d85cbd1687e51c39e7509b37a3b23a737480b9525fcaca466952d36f6ca33721433b0d2745fbdc1cfbe9f45e970bee0054adec5ffd02633ac18ade345b48e8fd859a5741a1189e7355b78d82296e3fa3953bd9760777e75eb7af26a3634af882977f081fae538786824e3a4bb4142293c6654c4509cc3faf3ebc7820dc13e97d68084a7fa27d50196cf85f8a4a76ac0c9ef7964b2aab63cfc82e02df96d557c56761356984e366871ee658ccab94bfc3d31b880f31d7335653f84e2d99d038c2f260a70f88c71dde90973b30c3e946fc6b31f3cb45039a46bcf433e1b17ff4bfbaf6a9da472388557b4e0fe633705b985c8be0fe6f82036370d9cbba6124632249a63b3ea5b979bbcf0edfb1b9f9710cf025f4e6c7aca26a35aa58e6aa199a57a90cf76fb6f2107655af64daf545315543429ed8e8dc4916835db11886e9ee59c3ed76a42fee1857bcf465cfee71744c440824b24b585266a94010a25f676fac87457270facc06d7e3a7efda513e6421f203abd9d9ed4211fd2de176e36d33ac1451a4aacdc25940a17c1c944d8d9aeec466af230764ca02f4e3b948721e6b5ae9bd27888a7a529c13a985118384337c25bd067bbd4d7148a8c3ad5612eb2c3cf615c205201ecb9e10fe0e691b65eed425f7592bad53b358c74c96abb5b735d78626dbb94953bf3e6ac51c6b8b409a1a8cc34462783a5377e7ee9fe76847109e2ca9753c8b2cf9e330dd1bbda4bb0cc510875ad89c1a5cfa0a95b92dcc4bde01705dbee82426354eb9b35344687f12e9284f4220de1d8b998425554c92aee9e8a842eaba6b355b3f4f4bef8c985fde68805c7a1270d6d96d998d872b079e8b4c98f11ebc97678239c74487c45499ead43d4097d24bb502703ac7175c8d886fa75cff2ae1c5a60a3e0be18c8882d17d984a00a191bd20fd2adb8fb077dd268b20891bb8503ba5e81fca8265e2a6a1c20096c3232f0071d91a3b3a4cf86c8c16cafb3ddcb4df34d3f386d31f617a358ee292326adbc16fbdfa5a892eea8cf4e356dc60770ba90d7d204126d6d11261c3c4cf1c720664ad13876c6da4b330e315f17bc23cc945dec1726e40bb4b8c180ae3b9b4a8b703ce834ddb7f0ab58ded7dff25c796e39fa9f8fd9145c68d07133849337418f3fbbe6ce242fda514b45d2ecddfd22989446662f6e7840b98bcee47466499414a3c7e98cc091af650b10b72181ebb8b1fcbfa92987c794f311488ab7b728de7e66949c1b7e4103b21ddfee193e124a05ec46c3b681f9f921c91beddb2f9fbd813ce0ebc8d8bbcfa1372612b4175c0a4d17fc588ba2f314f9ee95162cf28bdde03a89e0c816fdb24c55a165e494619441deb0749bcc22b149e26d0ae08cea707a6921146c121785a02debde1a33436dd289e2ab05f66672d6c6827e3a7cd8b938e60630072140a6f48ff8dbcbd81f6a4fc70b7493720f18f2847745f4bbe824dea16b7277a361b96ce36a84501097bb9d8c5df5c944be9e8161b6cb1a3f68ef3344752f2b03a27e18c343ceace600f3d5257aaecd7a76f5930655e77bb911434a1c3a7ee4ae5877b73efcd8c73efe9c5cc773651d9a914c8ab0bcdc092af6984172a18e4ad2e35a70b8cf28a2bd931660c0c9e988b7b47549390e0d819e323558e6c5005bf8d74dc24bb8ba785f5d4a63349193e0bc97b39927340d9ab9defd315b849331247a66c473d64ae0bc0477a756b2ad7d3d5e79f895f34fa8b89edeb8fd2fd778473d97792268677fb07f998cd4cac5f42a2adf0dcd44c463ba3e5d88a599b558bdf16df0a92e3487cc385dbcf245872caf489ed15eac19e4370b515a57e59d174717de9eba45e3f4a898b471d1eeababe4d457d1103c58ad74374478b4873c9a72d6ac4651b0ec39e047d8a9c41b48333d7110903ee0801b9dad215920f7b3259454c129a137b5ff38dcded8a80951a4c9ba0d2f78bfab136289890d98afa843d48a3ca568889bcf66a464d23c1230685e2f4b2ae1ec53bbdafe23561ba7970db79206c18f0cfbeb7ec0cbc99e4cf56ed33991d990302c21c2f372ee2a1e1e54726cfcbfa9de568e857190faf004ae1af9b86e770cfe8e01089a82dd3bf3ce2bbf401097d7840d8dbb03a3cbfec1e55971405e61951043971f6d01d56dc0939eaffacc1634dff8dbbfc48c7485fd24584bd1eb5c85c05b2713a9199845d30d9d296294f372c490ad45cc4d300bcb81693af961c00bc52670de18121d93e65abec26a7584bcee568cf0e109ce5b5f8c3301e5ad73c8d0eb6812997fbfaff4236a73e465a0891aab593a08fde865948a2634ad4645a0e72c70e75cba7f431a80f5068326f099fc0fbcab1e27156a8e79ec02720c9e5c34a2db3755d8a8486b3d340bdd480f6eb0983abccdd448d1ca741283ad260c167787b5fdc20be7041c31a4c74bf0cfd669f76b1f5f503962903bb8e5bff7ad7b85e880851eb3039b7f4f81fe5329274735a04b941ffb42a7247b86e034894aa6e505abc0f05b8991fe1cde30bf02aa195088a3f56ad1356701a150366394f34b417ab2babdf6e7f9182f49d2b1965f33d0a0172b8a50704bf3504afba35a2ae7c26c494b24844a5fe344c8a7d27283297344d6f078a5e7e858db85e8a27742c9805110cb4d6aaf6711b74a256fd556a2fd57b7a1705671043620d3b212b5c44ca2ffe3648c6354ce02acd23d124b018b84dbd4099bcd8c6eefc565ca5d54372cf2aa83f3f096dc9ca729ebc3aeb95d4e486d83220ffe9cc4919f7ba51c6d86efefcb35e7dd27f53f84ef096745d6c744cc76bf91dc9ab3f056c1fa5ed47a688e817c5af4a86ce9e80ad3104321645f3617544e25eaf1ef15cce7adb0497d0b139af17a4ab77517e93f323319e6f61956a1d0846c8bb9fad5876df018c19893db45714a976758fc54865614bd33233dd2a1d0ff244ab7e7eca83328024129a35dc2d1a9b2ae688c631a1e108b0c3a32aff450274deff0830b453cb509053308936d0b6444f14d13a77bf78b80b5b9ab22c25c11d457c2efad8b69031b11cc5b16fd246b60ba089c4511d44a3547062888dd5045afb1bc6e204f6be6cb9fd257c6b1f4baed1cb96073c9ad88cf3fe21125827f9a65fcbef13b29da2ad07022812d39b17f1ca1cead90e8fb13600bbcf7a19b48063ee5c68c8acaab23b6ad8b76ae703c5e1c4c5bddcd704bc87e85c514659e3d28781cbed77761f6d5834fc0c193d9f28ca3fd933a5b5300f38bf858ecbbabd4ad481f0047e15e51b6e13ff20d90dd56ce467773be17072c353b08906efcd3b090a9e7a0ba8c903f3bd3b4e09ec3ba22551ed74e52663b29317b2b6870d8fd0e66c9adf10fb1dfa0ff441556e017b59f1017a978818228246c750cb04c581b1000ce1527b51549cb2dee14a804ed9c7416ceca3ebc08dcd53cb5b270ff2bb71550f5b12a538f965cd0ed8f71edeaf4279c6934fc1c51641812b83e22fccb0b87e5329203a1b94e4e962a4681ab9277934ae8d0ac2503f373009aa6c7c57e85f052ef7313d2e4b1bbad2515cf0999a07fac92a139958f379ce93502af16fb8a4446fae9d9c9cd93d61525d3bcf2060f2130180ff85a7fa04db9843cac0e09015c149ca19957cbfbcfa60ff97f47db86e1bc8b701540cbd167b9fbb70736d9069de8aae02a6414d9028a0ab6711ff0792ea53916d088c560a0825d381317b5180947400fc7641f4ee9d97af9367c0bca78581e3fc4db4fe313bae63b2eac82e8390c9cd1a34e09f0193c2e0e9f8c91c966a76826117b3c6b5d886111527aa6bd9c996186b22b643b05d77ddf56cdc2fd60c7fe5d3e8e6eaea6e8dc28c121e13a1c748b5ab708628e1a2118ec46b569d76fccd680a6ab1db1d9cf4be3f2a46eee8867a2abc059b16cf78f116602dec3a3f0510df80f58e4b8fcf0f42b3e58e7e9e62f5e4f0f5ae4fa1e6788085a76c8ef453262b34a4c927a1ba55508e4e27586aa872dd601338459cb1e2aa7beda48bb8179b66a4f2a3fc70e2fb1cbf021e3238c1fa152fca00b76f51d67862eb6a71665b93506bef8d460a18010d0cad7bd2da1a7c1f7ed48eabb3623d21dfaa6f0a8a4ac45d34a23b7204174d2d2e5f227e077c1781e86a639a09af4f9d948bf8ad8b67f830f90bb5635255445be7c9c5f425a108f08e19e0c7ba7313c41b01534c813ba71b0d818668d6c8002e6502fcbd0642975f06def6e0fadebfd3208d9d6814b331e03db3a3187fb8f2dc9389fd17ad73de1fe36bbf4e8dfc8e4f3e8df40e3055732e168c83686a8ac4181662e95d8f3e603384c9eee4188ea806619294d0e8550635a6c61befc0dd7a5aa05258150d578c46655049be11045ebd7b4775908d19357dafb0427f75a65c4f16c3d60390e70ecca3d33dcfa74344581d589c162d01fc0dbe78cd7a85f2b20169d2941ec5c5fa30fd08b8bab75c754cdc2d1e6df5ebab6ba526ce83775bb607f2c03a84dbd404ede2a151e87c6506d521ac179099d03318d5f5178a15a95ac000f21c628c16160ae73a49458c0300bb6de6d168de894266091a6ffacfe056a5059652d3e1053ca3814f8675067e67939625bf9442882683acbbcd381c994262cdf8ac10f8de805c152e52a4ac3299dcd55ca6838224064f37a7227517140d9366d8e9ddc7c67dde40ccc033b5d268c974f282bf6a0f24341c6ba4d952a65124187fb64698310aa1b63cef0d91e26c3ec606efdf11cacf96a1173b575b15b29de7b2265e270733f1834ad701e866bcbc7cf30e0508b1b69fc2222ecd8eb695f84d9bc72a8922e6ed036cb87f510e8347a8c6519861ebf13ee5c6305a650cbcf38af385791668c90b8eed6c6b355a0621e5a74bf29c774ab9d096adc2db6781c5e73fee506293f552e2d6ac86dbfc11cdbb6b7382be2f6671ea7480435d9d000d58d9b9bb834aa8c14a87b6235d0d02264f6490ed1ea5526145ccb18a9c43ab95f2c8a3c7005a1a1eee1045d6d75c26d6eeb6a63778f11f8957ca81a509f08e81a6ab50dc348b148469286eece82ae82894ba257b196ed17b6fd735a70bc600cdcc61bf8902015e2b03134c9fa8027971b1b5d7caf9da11486559456eb684beffb8b32e9d52ffeaa3026065c953d954f11bebb056b39a355a7e06a3319cbc8ed32f56508d4368e54b59b116475c26bd078ad26caf8f8f589da32f5c894ccb69239a00eb5efffe22669f2f74416ec3ca283af09402825be668cbc15cd21181a91cf5bbaadcd9ab33ee9d1e5655161fcfaf1e73560b525e91a3cba05122899dfd7b905f7a3958a860637a932f37afc2d9dc3a6747af972eb64df8190b2d8f030504f689e97cb123934512a7b52defa328cd421a593d974372e004059a6b70322c37c90b19225d8efbf6b391000da80aabfc6878042f5586f11daec9132ecd3edfedbef78e0680561262bae65c3c157369a6f38bf5f2112884fad6d05b6928fa65377a5dc6d0a97a263666b80de1914061945c5f46a0b1593f124a34d57cdd517cbbd9f5c9781d217876174e4a6903f575f3d5a215ba9c77ad01a70e8a68edad5ac577411904e08a211eda922cee6ba90a2f3a89d00d29bf94d37dca86cf672151a1da615ebb19c64d69a392d34548ce4e161003c0b38e903b0600bbdbd50bbc180d4ad5addf3e494ba510841fa2210cd59641f1f7ec1549d74629aafd94445cc654dfbfe06e18602a352b548440878534eaac327c85e3fbdd73dbc07a809571790ffd206abbc18c9655c6b09c765781ffd7a34c8dd741c400e66b43e46daab817f4d622338779fe484ba554fc603bdf651f425fe49cbbe2c7582f7c60e87fb1096c6fa743065c2b47730b2ca722b55fc153fe10954fc1b8f37e00f85d17d22fc2084fad3b8b3bc5dd983aa911cda7b57a11660f70d2e6feacd85d4ce5463f14c33265853b17bbeaa2b014f39e326b672f0c8b5f0c12df01d286781ff0d3732aa8b2e2591722fd04529743d383eaa8bc127d9d8ab812554f10bb7056d47ff1c7a17d7c6091141c73db94b72703280bb8b3a2efb7852d5e86e6eed46d0d6c7d8a306fa73d50e7ea47a076759dfc5c680e84f15563b262ba0ec8f606883695d220a23aa6471f462127da6a822215909065108783433bcd0a6330620617e3160454fd90372d75e67fb2277b899a8b94307484426c1dd1dab6204c3054b0828b7330d45b993bcc95b05f27ea0fe4aa509ba88e4b76b8d4da49cf1b5b88a5981754e1878a6f1732e2decdbfb71f110605128e1c2a8043cc81023ce38c615dd7df0c77933918f405f138f95157beb9890ab9a8bbc6ce6b774c4040e58980605cc72cd09e996a423fb59cf538493e86019213d4bef5122909c87c3c169ccc2950613c1577fc735702d543cdc527f9bacfe87567cb771f822b2d8bc9758293318fe0c5568e3ae3f8bc75b78fa5b180f14b791577b96ae9773a7a977f2b2e310c6d538db9b05f52b42edc28f7687c98e9cd8f642036c23e66faade65c2deb266e07214cb8726b6d21226a16461840e625ca0422d9fb4f822f198b2056f84116873edff0f6d953f24c7bea3ae0556794e8f10a10b82b709e05c1b0919dc2f3aa7a654fd204a87b6bd174a666e024d20c151bff9954c93ad6fcee84a6dfa42b0b037ea0bd3a72e25cc3db368f4a7898e16dbe13be6196e588fd90c1d3f05180c42f9208cbc3051b6e0171d36797c3f0b627931216ee249ca9ff81f17e907339319b9de3b1e5ed0e924da4459e59d45145ede70816b626edfbe439e9c3e0a61274eef0fefd38aa20fc5aa9d7182e799a762163fb47f4530999e01b8b778a061dd171d4be93be3a9bc3f0aa277eea066f01c4e7161f90374dea1ac6841b39b2e8c36d59bf47059da332cf7b1711b1e0e502298602da005b5212f24e80f0fd34ecadf382479e6349927cd306f3d2d0dd7def12d396de75e82ec7b4bf35f8f3d66befdb7ec33ab2e2d1b7ad5be2e86bf85525c00b05a4f29c2bcea79e7f1997422af9ef3b104496e4f0584cd36e36ce4b3db596a7af15417cef002e9e8156cb8acd4963e9315482cd2021558351110bda51656e803da14a0e7bd442ebcb9282f34ca64e3ef7f3ae7893a3ece250cf2e57825a3790a061de107d426edeb67281d635af2dcce38fb9ef3fd1f1e562d3253864cbfde9ba97a8ff689c7396fa280db80a0ad2f880dbe68dbd5bc9a5a880bfc33493e313f89352b35cc4ddc916639586d2886226232b978caa94ecf00a51d061bc938345cf27027cbd355ded06d097447416921a5b59584b3f4acf68060096bec5ddf96c97bf47ce3309b74dae62fe0f0e8a5c7661508ed54ae2f680d82d51607f45bd5ad2e361852148b25b423f16572eb32ce157be175df95ce101a4c521e83840c3f36dfa3fd6671f61d803c53f1f61b4e4669895fea56f3b8c18c971bc232fb63a7df9e97ff35b35e31614eee40f84dbcaae523259b57a5d48f952abb7650f61b23dd84cccd94f808261893073495295c8e84ddae4c06d312da55e00eb1ac7a36d317b55169f783d62c3b96324a60c946df6a57dacb46d7a0e470e91ec0e6e21ade50f6ef07337bcedcb1438f3f904d021c6c5de7051459a6913577037f6dcb06f6a3cd95275788ecec6c3eaf7f2d69b94824307c1337907ef3505355a31baa58a9d624fac61e52f565adf8006b48047b2a80055f9e39233b3eecc98695d10d3616295f187ccbf65b97a9c11e04a33ecaf6ca1e87114b7e0c3c96cf42ffb6948392fbb68096960ebab61f2a20a1e963bd30b91c143d2534a2655aad492acfe84987b451e8e1d6d13eab201bd481812fb250da8bcdc51bb0891c5fe80e7392544d6d05354de858411fbc802f9fde26efeacd2727f21bd318c63f0a8577ba10ef93d780d8f57d3c09bcfbf0c198bb8542b8cae85fe1246c0cdb0b3e4b54d760b7b14aba7ff7c2898a065c9e9918538a4ac6095e8bde79427149f3e8a328086433c60d238a3eefda3b4792f95d9567da5fa7d52e9e6b892477a643199e9235cced4854f29ec0739cfecaee96d02ed544c8dae0b6958dd69bdbec50edb8f534b58635bab4b530946a86ffcda42521f3be572f9848e2d8e2261ac55b3dc7c739cddc7326e93b4553e5a15ddcaaa0438a401fb62948913b338b43053a1729950cffc8fa87acae99f76ec0a97c4b8a8e3a1274afaf9dbd3e3d9006394c2ef632dc76dd05607f11a31fd9a7d53d40504d805ec52263e8e6aa2c7d27523a09d34d2363322e20adcb25598dc936467b5d766ed55f36fc61dfc34b70f5ca48920b84cbb6e9ea9868805f17d7ca3d3d592c8b4c241d62976edf1b4f675d199b875a0f684aa56ea48e2a5872714b986287efd8be31c1c24bebd1d645c2ec159c72070e41e11033be8b8008630cfaa4e2d94ce8f2fe13cdb3abcc6a064b3de33bd8b59015b85fa72ad7a69cc05169b79d947cf78581b8a3a2179cba45ee11183444a7a58fbfc54ed266de09306b1306319aec46f5a387249757664e7ce36495ad3000445f3599c88c4e4257598681a9b2331794de107af37a8c0c4cd21aa9fe9546d2205f47498ad80fb53a0a33eb9de30d4dfad51a40d4d07e0723ef9de5e36c0d834f0414e2581e19697d413b38de7165297436862063e73dc1084a8d302f90f4c58845561ee6eb4e49c1991daea0ea64678d06fb6939c52335457ac760e79d2667a01ea1728b67ccbbc8739187199aca26383557347396cb81462c8b388aa2e8feaae8aec4984224e14e134e7fe8065d0bc394849adb1b1e6ca4746fe806e22e2d2449a9b05d8732a38ef391529a81d4f1081a607e6905b6b51fdf329b5da041bc855cb948c5c62c568b948035a31192da0e7fef669a7c71d2682da8125620cf2d2213e3ecdb163517daeb7bad532c7e5fd588280f797f21dc18f33472d1966b284c49654634a72fbca0b6591976a2bb68c6deb776e2d3bae8976024f847daabd587c8b18d67bd0bc45a0991fbc28e0d510d9023cb0ca0b0559d08854172f59afb3673fe81a70f95d6b8760b36ad7b1a82ff9bba05ce84a88d86519f57facfe1974303e301cab9d7c7551e229d9e28ee74e8fee3c3d6744e77e8469ae3c1226d184a9b6886552061f0dbd3f5c17e06ff5e6c7f47e4c1fa21e72cbe0819c87b12e2d67a7d6f32449c7d847b3fad265f0fba7a49670b47cb674df2f651aaed21dbe35952c0ce23f7300e28912acafee4901a7bb61d7b94b198039c4e8196d11519a01bf08f222525fc7a3574284cf4306cb81f2126b19f86e3a01e25295ee92ce10e748de7cf395125be9c6a5cec10651363adcd0109e84c43e9028ec8714eba4a60f785a3054948b2c41803742a2ae2c7f1cb2b4fd624be235a413d6e27a9f28e51b04229ec575ae208ae23892ef3a50c2fd947eef1fb341ce2a9d31f09ccf34d3be247e444dedd39e297ba3d3d3b081cdb6d5e44b7d149c0fbb7f204060aabab3d78fde13ce2f0ddcbb9247e7855274ce24ed1bccb6e92e16a3b6803255172cb88a4c39e2ecf1044e2814a6da8042de29fe8d1e4b735567ae1f84cdc274b4cc7afd91bbbf273148630c0847d6a45b8481419b1873364ee79763ab3c9b46ce6e33a02297bb6bdb992e616ebce6a9c2f20dc34a08a6b3e4392a1efa55d2e2f235e9002c9d18338d22a7294af77c3e0bd1dea29d40c50d5f007459dcf06ba8d512298bf6616c7cf15a3ce7e83c46b82e09558dfe6ec3e81bb1a1af1c115ca4afa0fea05af172aed5ad5fd45bcebc253275164d9d951a36b7937fbfbe3955bc55fcd58783f8e23992af1bc9902ed95ac885b141999bec71899c5d143bbb28418e6dea4a31febab75dc0d1a0449eec69417fcb8ce9bc8eedc92457bd43e65f06ef02283564d5264db04699ae0469fb0a06cf5cb235fc96cb3789dcb3421a16878e5c426a3ccd2ae700c1dcf001ae97a4f39c0afaebcdf9266c18b6e765b683f8db3d193b08138dc54c6df544a307447ba6c4550b94a0e3db0dfa0bfa51e0496e5ae11f657b20fbcafdbc0161c2f53838e3eddd9d96ad4194ea01f1d69e55a65e5bba1773ceaa22f4806fe2fd6c799049e1d6b9d4fdde1ab796818401d001a95809b81b1496f0911637e36508f1a0d09fbb7b32e0b2b60b7b1d1faf3236f1ad4ee3536c5f2c1a88bf59137d36658d0a5c1d9c37b267a48766fdc14f34b61743b50f6e85299bc9e0710ca5dded4b7e6dd66dfd8aacff3f5106998364e58737197b92268adfbf8881f49be9bf49e5e6d59967b1ffbca443f4d98f7e6126d004f6ca3eea7d71208a3a749ec5b3485715fdc7195c13285e784a4f83008d5c20520f325fb7738ac8ff9c282448d4492f4d4bd66d9951f646c4ca66f35301abd4d56c6ba86f4ea135879de4df5c1220913c708c4c84efac83b6a441229bdb862f9579ecf56edb6f4955c482ed5d0e0a1e64f9f1e2dd0ba29c41e071ec17c39e2a07c06ea82586ec7ca949f640b4e2e2beb6ab6c5a178b651d3da4854f61f25f5ec483d2d5a47b5f8ddae9989db438ea39b32fb920b1f5f9afe127e7bfcd6d5a36c135df7e37183e13d41188c13ab93760fccf61ce64fc83985fa20c32ae44e9fe98231d775cadd59e61ee36a3f967c0b4335c4be0a8742864c9cf49980ba96d734ba32b863d3973b5867d8788ab37f155a96fbf4ff03c171d0cfbb400fbd9ef037f577c24f3965517193f980064b0d1eb0ccb40b22b346d4757dd555c7bf6183f7e442", 0x2000, &(0x7f0000000d80)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000600)={0x90, 0x0, 0x0, {0x3}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f0000008680)="ff3b3d22b4c0be7705a7c6658b6077fbf318acaa5c0172e004d082cdc01edcfcc326780b13d74325059f018ed75683a656f45bf6d6f69747a390e879587c8427ac7c5d3f69c4de75e8d953e0938506632920a3afb44842ebb60e9bdd7de87254e57fa7db31655bd9c3fafdbdff53275bb2f65e8580b10dd258bee75ed7b6ba1b7aaeca83f473b5db12444f53313c87fd051dbe53b4f0aec2d6aae49a8423e4670c7d080cdb0fbbb9001370733cb44246b103bda486290603e42b7068b385f2fe5be3a2de72b19975aa964b3dd4d3d0260d3b64de59c3c397bafcd847f0fa7574fe0120427d75435a11d32751de5b7d8f4e74af074526e7f89c8c1522c16d1a3791618597b6f7f747c0d0f1e5e3db270ec907934f4fab7f25a17ceb0c9c30012b1a9640f81a3b77c5256c2c9e661c8a97a93a4f6465bc35b82000040dd653a9ade5b5906334e92f948df0011edda9ff8e8621d4dafe780db81fa447e8768149acc52f7a48632a3b7959da5b1454ea1b5b9a394bbb90de4f3c8126dca51f30c4140e5ccc8410c835ac430c24470b5ff3bb220e790ecf424157a073fa7d7c511de2d35002142957cbf4f437618903b8df262ed33976a6b3465c6c2a4f53fde35c7f142b97de0cdfcd6d4474326f705d43d939c30166ffe41c1620651e2d0adbf0dc0a4bab8d2141941ef18795b88ff5649fbfc72003799c181fea6e913dbbe28a49d60f36c8c154cb49643eecef6ed77e1d75689f850c68970b21c9c4e3e5d5a404e7769a822d003fe831e74110be96142e83fbe78324e4107181527daaa5d633fe53ef2d7e16f83e6ae5476f8b8929e674bdbd22ea4494f94ebd295230f11b90fecac443889abcf01260e509d348ed7d3cc572d9d649d50b404adba71c3230e7de8112445f92d30354dc82b4b3fca2d61a096a53a27ba80fd83c2b857cc49086a0387f4ee3d3adb72a30f3548d0282b546037600b65d6c4381028f15df72760dc4a6d5ae6adb018d09576ae84ea7253f0f7673b0179019b2252c2cd309252b79be880446f6dab5c02f5a6fb9506a91d8f5f9c99e607ed0036ac8d52219dc745d711dc8d4fb13355618325ae1cef1fd293c4d94b4bdf2c758af75d4a79f7461d6da0018461237a6de41a26d0699b6b5fcb2404b54f446f197fae40a2e320a330b1230a43d64f9673f2145a8a35c052265827302f772a5fef1dbf6fa6931f8a46078d64355d9e23cdbb91faf0e360c192a5a065d1393341ae1918f4bf2a6034a1898d3066bf411c19b30ad777a0e38bcc79019d176aa1bc88c2355e0908a07a54fbcd099cd878cab3c9dc93e4a6326c31e0dc10c5a4c5be066d6cf78dcca0f4b2f7b757dbf63e199e69c5b5ea469c98dd1a7fdf2903e482b3e0e30330f077e6b394d6b42f8c1e0c5c6f5315073de6819e79bcd021316381b0c60a255ed35a18774ac46fcddc8b749c4f8a22a5f26d2bb9a8b44563f7aaf5992c24382aedfb24e7d3e67e472c09cbf349c23a74418fcb83b0f9d027f46f753bcfea7c19b1174a69106fdebd97635da0f898279c3bd286fd3cbd951a7b7011187298fd7e65f3e906c3b91aacbb8c77048561ae2ead70977c1d6e075c961417a48fd83e492f30cb11d11d0a0e0419373021378d15bb03d17789c93bb898fd921331c832a211fe46cbb1b80464f8da35a33716ac56b1ab4ee190d7af284121c86fafac61b6e3b7fb7c2e8d10594f4084cf3c6bcd94c25b88c88f5ed4f530939ecd93078037ad69ab06c53b9425123114b7f1a91e4e70ba9558543b7bfe57369ef9e0221b7cd386eefb91f1a1be5e6c4f0463d54f7e2f0b857ce772346b33a34fbcbc687b809d19cdf804161f2c01a7c3c63e92c2bd15505f15df3b118fb02da4fe461c8f6b169437576c314e4f959fbb783176e611105a24d9c8bd09b4b57463845d85ea5939f3185e0f094ae4dbaed5729b98471a5d85c68ccb9cf4567bd801f20be2ac1825e39df51c2ef278800081fbbeb6b8a7e49a908635d5d259426322b6ee61ea60466e4492aa941d12082f7194378c5278626424aee2e1e77b9f58b9536296cd4f663bf1566f051cfcb674ef84019aad4527a54a911c846e498c80eeadd8312af7f4f6fd1255cfb584465cad41c86a8f311b393624186242fed6dec9d6fd5fa226feeb0f91156dc8546711ea68c67416b1af4fb8dfc7b2b746841c72ac715b630c2f13ce8d244f4e2aa94d31a9826252c21d25f6e867d33f1310946ba4b931c3b324fc03f3ec936a9dadbc8a04415b23cd51a832a1143c527fb31750818256c5b96b38d17f9e287ad6303a10a31e702becb655acc112546d328fc147f1a6c3b32515727daa6349d4206047db5bc44666fda7e1774efeec46e6d7f54c41e63ac069bf2ef3b0f6049379cca0042b4f060e1632cd5b71404fae88921937e43d34fac86c5b6ae8580d8e9308165d3eb500c56abffda81eb46661a310de197f6c3fe3cc85e2b72bbe26926252c3c11fe55556e5fbd67e86db81785e81e87fdf1a0b0ca12f61f4e7dc1cc74bc90c81f0fda9a663c23ddca068b49619762f818a15283afa799abbe76ce80c069718dbaf184ee02557a7ec4ddbf9448ebe381ad4b102aa002bb82cbc13fc085154255c5d4dc770446dba54682f6881c1c44cb66a365cc807544093d4a2b5fab0ebf22bc456c1c4e4b4f0a5c8e1c293be897fe6cd1b99f0b8f6844da0e721807eea438776847970c88564884ce574d9945e0536116843a17d91df48e3803d3bdc76937d7db8cc4be0c3e408bc6dffb958ee303451b1395f38095b2b6a7a8b247a37679bd38c744f585e32d836855c540a7b1a0859216128eb5e5df2c43db6eee1b392c9d82614e7c8572668fd01908fe4c5858aaf81cfc59d444069291ae8a3707df37ca76b7c737f155400e7d9b3986694825fe487bae91c9fb3843ba585a15c8e65a38324b27d52afc43bd86bcb21989785c6a3e03336e52c54ba320d918d8adb5b89e33f4033c53961dc452e56fadf301e0c49bcefee6f3f7d5b69c5e7cce8e3beb58cee4d1e77471d106b875a0c8ecd5e9e9d1fb9dde408737dda083fed3d0bcb29693f7e5c1deeed6cb5842644910345e830a8583ca5c4895874e040027750d809877c8c110325c4805d2fe2aceef3d714ffd48e85b729955396e4e8d5e992fee342d1dd26159da62c3dbee7bda44b7f6932a74fa964cacbdd3b70598cb4524675ccaf885ec0dcc59ce1a0849dc6e6ffd4b002f67e96f75ad76ef1a50a4c84d9b0d9b58fd6085a9fc1b968c9714589b5e7a9dc6634dfca804c68e56846a07ce1c114f55d15a90a47d248a20728b22a97d50fb3187f034566efe9ff0e2d846c58a5ac09371932cbaadb95c385e01f635b3a93ee4be163273e59b851e592c3ebb20ef9e36343b0ad0c1dc41e5bf133186548cab529479801f2f47d439360a3a7990da6dc0fef359bf4c159d35cbe9b7516afea7bd97e77d61ba970a19c7798c65f93360828acaa6028e187ed6201d6c417424fe444836553c9a923131a9398d12f9b7bc1a9734aa7df6e356978a76f6979cbfedcd2961c99eb57035f3f56a7f7c2f5edbc28182ed95308b2a049fddac98867de1040f5e09025a92d1eec61145a547d9d7c5ed7328af017455eaafdf87cb93b620314c7ef63760a3c348d33a8ad2599641e2bbe830292b6c1c54962c1ba854ae2761e4863f70d1c0fff80e8ec54f4600b14aad0d629ae53f18a7ee2f319e708276bcec46d7324c3e67e76f66e02eff2961051baf6c73816236bfa5c37464ba696b4dc7fe3743137b349cfa88fa8cbe87d7d227be75c4ddb6048753bf8396e4cedea12f50b8a4626deeb60e799f6fef9df2abf9eb7e9b250c7d7ac7bb7b6c2995025f697dc17bb82a77faa5ae5957994208cf2bbda726425308d2fa960e77fbcbb35af9d7bce25a9766546b5a32a82e2fb7d28e0750a0690db3993d059ede0039e45e8cdecb831d7e902b2c15eb2d30fd46a31542bb52072c90fcbcb54eb7f54422c0205f0d7de870c3e349480f75ffc0d3f392a65958fb3b913f2318f28165830a3c780894edfde372b520dc5082041ea6ac4df253993eecc949d57cfec39a462f19331d830f11d459684cb67dccab0bdb741d72f0d34de2cbfffbc8013fa89cefc4521858703910b9bb29ac91917509bf3da758a3b4679e9ba6281c3178dcbab85fc25b15e4c27ca6e76099850df0a46250345b0a655dbfa54db704ae52192d82b1c22c5f6336ab2bd7a605779c5cc8cb379b744e8257f910370ed734ade344949d48acddd76e178c3edd34109f52698bb14d529609f8f7cc323e22ab9ca7d5ec4eba0c680b3873267a13c96a981261bc6e2832e0599b9b55b04898565f512f428fda6a7e55e4395e3a354ac7486fb25eb9f5cbdc03613e074d593fe0ab35ed8dfd545c440ec9302f87a9a39421e041468cbe669ec57928e81192cc74d700e623b60a57f4ae2b10da8f5b1b22459d720c1c8c5ccc858467bf0947d4821082cc3d28f213aa5077112b9f3a869a5ad5ea7fabac834183dc566450e74555e63f9c6ba3c3e6c875756796a935ed6c77788e04666d24f6fa23da2494169138f68f67614e960c8d56a4c5a715b39833ad7c7a339d612e9fe1c66d6ad19a1b6a3105c7159236d2b762fd8b960abf0863f334bb16bc5bbe70ba8d729fe0fe60caf46d300abb0106f7f976e7addaabde919b3a9981e63a38a78e18b6eeee368f35942d14c026ece9ae98841296fb5fa2f0efa15aff6e4d8291c1a8ec0c59d044c2c313220c5791b2ae379ac89372a78ce80edaecbf1c05a5fdad1c7cca6c8c4782955bc49fd26a89e9bb44095314267ef9a5d5478939f8c5aafcdbbc0c9745a9d2178abf332c7c99d9b5f5474a0852564a82d056bfcfce4b6ba58b09514fb72c0700dee026f8b441713f664e0b842c38c85905e649b895177f06613eb16b2633b106bea7a73783f03407cf7d43714b945ee3026bdb7ec186e0db396fc4a2ddb4d7db4a6c3f86b5b99ed9f17f28937e2cacdf3bc405bdead9871f009832be27f08040aded1ad91870a233363359007a836ebb99cf803f160b6c54b91c3464df5a30abc9bc4b4312999cde39448d94f3ad2b925df84b5b9a3b6b05929449a4d2944fd43336f7471a2a5900d8352ae98de0e3142d9fd35aaa28bba62e66fbd29453298fe4c73b7a296eb1352143f7de35f7df94f61833c7054ae3845699ba9cad7ddd4bd417d763a4771b8e3639f642e20cf241cae87928f7599c3bf4fd94a4473201806f5e53142c135a35d6ba90fbf34b4ee741246de55e5206ea674f609e51a10fc840299c54108ac5ab163bcd0c8648784e79cac334945076b86e8e878a45cea4e1b03f93cd926bd658ed640efe29780fadc5ca17ec09f73d7a2f56cf10d9d313ec7ca668c8a3b24efc86974267ac9368f8cfb15388fe0f6bc60e5bc87092b27afe22fb1e174ca461111a6031e7fc1208ad25fc5aac71b27a624ba31528b05dde315a738b812e519d6991289f08ad3587848f4af253068be4e6727815294958d55145385ad461a122328ddc40a6b026ef632965ad75b3d0fcc9ec0f312d6e6b8c0da8b63e1fb1b3e36897ec941a3e9e6c7fa5d38524e53538c37b4293c687a4d00563d6400adba690360488703c303041dc6c2f7b59ba29c076b2a0271d4275e1a9ace0f7d76f470d4bf4bb63861c4a46e410c963951abb86a06723d212b65960020dacf740cd6d056b00b996d9e18f507537700f6119fd1161613eb4c52b3078ee8eebc2cb2d7a37a3c83adafc48a12d19d2c65ffee023b9b03b3803689a5d9a27a076e9d77932173a4352cc1404f0957c69fd7adf9d2c7f9a81de030e9cd4ed5219648210650f8b6be2743793545d3d19f65f30765bb5709e01c3e7c6f92e763471aa230bc4a8bf1b1acc788fadb8136e21c67770e0cdf6db4ec2412001e1d1b82074a8c00f4faf350e79a424db99feea06f412d85b1db976fce09167af8e72a0b59d1ba04e3e3510f8a52b20a76ab8fda43731eb32964cbe9dff5a049059bf26a3a8aaa4c76b5fe2b9a97f5d152209d7c2dfa8fc2252cc64e4af571104f9951bfbe82d070c3549bcda5e65b51fa89b2aeb86d5ef9969a9f968945dde0be30fc0d48b843b747333e71cf239a7117918b912fbd0201d34659ef328d82b9d58696d436f1a6f88a6ced0eb08448ab113ab13f264aa7d27efeb85c8cbdc11e2a9d146bcfccb0c4b74846dff90dd2c86ac81b31c30508c08a289bac1b28410676849babf5e28d429aab2f735442b935a612745e5c532211a2f6fce76e33d0a4127b6356940ddc31441df103c80a93e32098ef7b57b211a7289b2fbd923a15582b9cb585d91754029f8864a9f9be93e9d361201eaa8f0212c3325a8890ecf75787cbcfd36fe0b928c54c9da9bdda60b2b7fbde98b501e5d75c3354bf2ead7edc8a130b28e00ff5ab005ba635079c996af70783bef810c123d44f9c4ff6d25ed59f0adff012c91b09529a0ad82d8d18e0e4dbf7cf04fe43e6535e9e588440f7c1cf323c49a09d33f672b7f5a5956aff476e43c7a36a605352a0f4636f3be1bfae31216b9bfe9a478eb2d5aeb3f5fa4bea1331e09b6cb5ee50a5cd6e6abb356085dff9a109fdefc7e073f4652f59caeccb294811c801f5c08f7e25aed2f39acc6f0f489c7bccf9cab54316ab32043f742fad7a41f32e3207bf094dc60ef408f4612205ba75c388b8729fef5956f11b7f6b2c0d3c1b88d07d1f59a97880e8662e26c136b83ab0eb4b4caec4e4075019e7c2d8ceaddc4ad6feb608330189cdcfda7ecfd37de5e34112dad25f943c5970fb287c68b36a6a1d85a776a7cb743e1e1782421112ed80b225b517355f16a2a8ecc5711ee52363217c446e2e83dacdcdd61e7ce7362259af4aca9c418a38f07a1249f26cae5a44306f592338f6409b168b3ee0cff386264ad116b74cc219459733aa37f3c024095d93ee29427c3809c3db0a1b1f4f2953a06d3583d43f2d8e55a688175b9ac0b6fff1ab26cde397bcdc84c241c01c48c9b8fe5afc6b246f573c35eda9c087b2b674cc49a40b7327efd55daebcc1e601bfef06bef7401dcf1cc6d16f294d378d8adc4942ab3b8b747f3221f5efc7a931fe061307ba891cdcd3a1abd4494585148de30cee439bac523b30bdfa3e3c1541ea171832d3f936d98461a30b07bf5ed597f4e84b65f20d36767ec926c521fe9c81ce10253feb41b532c207eaf3723fbd7c82d4e8f771cde0039a00748140f245142c5a41810bd841b53e709e1a5b7ffb343f86a70de100a8d67f469c6d0d859e5a39db7fb4d97e0ded34817246747efba6f76eb566438cb8fb946cc2b517e3e2ed1456e688242a99c522b4bfd602ee5427a796b084223cc37e862775ba43a53b6deaf674532c638902ac23f306196386a91d1b9f4f5fca605116ea770f056c865cfdf37f2f52cf79222bbf60e09d6d42b7ae3fac8c55aad8f47d4ca158da47257d52bcbd47105ae53f6c0d4b3e019fbb27ce95913d695c00679010bb2cd5b1420e58985004eecda081bf506b74703f4383e1c61180aa083ad278d2d500c235125e5077882acf48fe41f5d9f524013d876cfedd79cea87c3a1b60f8d911abacf0a8b7df83bdeb791e09eb5cd9333f2d3d1c02e262749285a6019fad40719831634c571a58f6922d5a19d1a7c3051067efabefe15217704dac1bf4c6d3935951ffadccbc85eac56a3f51d859ede19a3b57046958c5151bfef867ab3131a71c353803626233020e6b3d3d80d019d258ade97bdd4429bd597d0e9f9deb04b2f9af99c18a33c2ec01791ff784b1126adf2965d3e0ec1cb19b9ac94cfd25ca802fc6b0f324d3c370cb73392eaaf5640ce3aafe256efde38b2ab807b1c42e5f0b5a4a5974161981fc51c8b34cad8dba7ba49867b6ca923c5b8816ad75ef5e1d3d5a81ef328a90bd619e6914f1b3e80c12485fbffe979312b3b633c83073ebc9bcdd333b9d800697f2db854febc735321e96c03ad3b596131f5a3db45ec7e59b15588107543445b65bbb6c0a07b49aa4ffc06dd9583492805af3d893c8e2f86ce503ace9adcc05114d6925807e23dfba45d316ce8272b5a407a8b56dc9525ceb2ee3df4f736ebae9c0ed5db426d8494b8d170769778a19602402b741ac842d3d1757f70813574cf8f32b575a332110217921f54691303f9a0678ba64a45457662a5eb2168a2ad76430ec356febf1bd0bdd7e83ee5889e567f5bd8ef1bf4620afb7a22f08e92be3511ffea3cab3d5b734787ed0f3668fb558e1c6c219ca37148cbfd82ae565aa39b19f1af138d935503eba9aad399d62272d030c776d824e5530d6696dcd02ab54da230e9b73343dbf19db5c986afa232133f15eebeceffc725217dfe8ce836c05aaf1ed0acf63bf235a1b449c14e92a45c66063e64e82ea89ab7734e2bc29cfbccd4f93f21a99a2d82c6e228b19e88b35d3c9c99340e1770ce165e2c3cf8651f6639f80c6bf49263b902a4c20fb4265c13f8c46835f43c428bad3ce7a43b081e30002415cd1134447325d8f4792e7f4a9547940d7734f09f4a38adb2193134dc62a6f60a81c4d0e42490065b5c67fe2fffc703fd49d1b2d23541802b68750cacce77650eabc728f6ff308558baad62d5590aa8cfd43589eea6a3e1808a28daa42a15a6ad6b9ae8b598f6be94e0ed651c6fb5d39e43e360f0fd06e814b905e6135a7e88645961887a262247167933c009ed004db165d37629cca6415a61c8113b51d95ca02389a6da6fdf6a0479f8925a86123189a80aec1cc60b49d33deaf89d7a764d988e7f26af6abe3c6e4d153bce27083836c229e756c9509a15e18a9ef1338bf4f097f0816b91b88262d97751c7515cdcd3515872ec140e8bb43752f882c2cfae8509b13de79288b4197d28853023df3dae525b41bb13c360a78f55efd15f6cdaec145972ec43a8691a9a415c8f1cdc324de717ea9f9612cdfa539253adcb0d9cde40b755478a07b2f7c2e116a2ae0fa2d9287409fcc875aff5d9ef2232648bbf1d7306468c0639c235e99d2cd44591a14df7b1e05f183ee1dffd839bdb607d78299d02fe30add5ee26fa42a43c92b55777804ec39375a04538a40cf1f61aecea895ca32fe97053945191c9c466ca6d457e3cc6faefa66d62195ad49c2d7477c244163b60ef086fb51d6c130d6a6eab3dc470b2657abcd055193f78ca897157f1ef690504d9f37e1921c584bcb231487ab3bf96b8a78c0eb60e4a1037ac776f2c89ca8d4ba88dc9584c02c9f755e8c80e136d3859d89f05d7dfdb1a2351051c1e5e57ec88c481f5ec124517094c0efb050efa2cc94003a2d4a6120061c3c814e99e417a7aa3a23bd5ddaf79ef66a58f76d2d37df9e1f5c7ef5732cbff46a2d3256feb5db97c21a1692923593ab879f998365264a591c4b3ebdb671e798e7a3c9c2211c89504ef1e993d47fbb29aa2637bc2fa4fd534722e00579c06ee72b3f8c4023fa945c2c3faf8ffe607e14b00c2bcbebfe591d58c51d31e7a6c6eee7c701ab019247c93e664014306bff10be347160627762b5df6f0846f23532767e8f7109625f92d8b9c04e6ce4d0082b789bf0857c3df2fd18035d97be9d7c00e8b8ee89d3d66712787f6123007dc6bbdbfa8f9d494b6a911b4d69d9536fa6771cb35609c9294e7c396db7425f417e94a593d52e1883f4351141c0bcd9ce4093dd703eb9dff7c975bf88604ae1d64c7b220a5e83bf6b4668fb12def0c2fa8fbb13553157f8311648c6aa9e06d7fb8fb2226df8177ca2d18cc408148f87f122b992453e5ad90c450e9392ecd861dc3ad966bac89843afc672b17bd19ecd09aa97da73f42bb795097603c2525c238b2a99d8156d2ed7749a50e3873f0d2ee083946d6c0e02fc50571980f4e87bdbba640b37f1ebe1262fa8394d1c744ffc6a19b51895c70b30926a7d932e5177fb1c790ba1d3f6f90e5e98ca22be23d8ada3ff69ca3744965faf2c89f2415876b44ad3e8b7bd00d256438551794e9106d04a30adf3581ec0f10f4a6b28169f409a94365d61d08f9d14ff80ea394ebf5b39dbea15aa24b2cbce78c1937d02e3dd15259963b8651b7ab34b723236aaf954ebf55103e224c2fb3c8415df4590a79f2d626fde37a446782b7dde904914188bb88a309013e453ed96453f19ac22c948d10895f39942a62e0d95a05538c0dd4e0867e8776ab554acbffb49f0966ec9ac865bf014e0d1d11163873328c272c7c588e37f94b70a7c6be4a30c6c7afa19d142c28c0b33f6ff732936b96364bfa2aeedc3535baf01c41cfdaf7fe73b26a058cfa793b3db5051e6b03de5b1a08333cb3859f3944b2e242ae392bac509d24e12392bc8af75f5f33084a8cc854f1f83301d7b39bbafc9681274ae0cb3c7c962d162df6afed264c8714863c529ca306d8175dd0ab4ecd2d9f1fcb7c83aaa87aba42b41f762b19aba2f09b165d996ca9a927a8136721c96feff411a6dfaa1a7ddf9c2b2a13d0e61b21c469725311cbf69fb0ed3e98c819dbe0f9169ea17fdf05667dd371ed633e9126c619a7a405b7cefa30711ac7363c80c7625d70b5fdd990bcf2444e31a71c939041806544513756f9c971607137a2229d94279dff9c350799fc108a59202bf21e90eb63fc0649f79a1c2757c2e506251c88f6e454d065198047b289cba06779a07bcb42231630cb57d527a4f6e37df7c197bb9b3e983f2ef574662e3cbb9a85cfbaf7df39e4c38ef7cf2ccb0261b83f8ff80ebc24d7a379b6efa717671bd9baa9e321ce759d03c195f3b8c847394a9700903b2e168581ba858adeed8bc98e3cbd8408571faf8ce5059581aabc199f62109ce363b682aef415eed5e69ee3f2d794542c67be73942aeae440350a4951d32b31b80f24d47bbfff49f45214b5d013ad2ff12442356bd5b9043b74cb90ae6b4d0d5332de7534f49f4d8a07554d88f32bfc1a809420ad6edf7b47558c54f44b465882dd5a9d5bb148d0f06e44eb7b09a5557210a190debec3219f1a8b98656acc82e3dcfdbf33dd84aaa68691570f6905f5e2fc37e1de3afa07c63a0076f5b244a0306b4c8a03ca94bc9528f204018e0df90bee2765c4bc8784ab5f7aad6260431aeabea6e88560a224f8ed7e41d0af722364a5f370d2ce689225dcd257381a8a84db20412808084d8f6cf306fc3e6802046f97481eb8be6d0b2918313eabd1ebf7afb4a7bdd46e0997510ca21c79d36a5b29abb8a87ae2f5eca171a19a7a74fedf35f8a33b09c14118daef233195d9e8b16d0bacc7da54d65d1aa0a0e2e3703378ac75cfebaf25176d24b29fe43c505be924b1cc4b1fdd1c4860f2291fbc78e83da2f92baf9d8c0b0aa65a25736f150fb0cad6ef2593fb61360e88365ec65c03bcf413908196443c96938d7dc92a8c31e52a88e2b58d2e0ef6c46dbdcdd7d6cc636697f911719a2c3e55f7e21c0a85f3c40674bd83e0fc94051d066095279e2335970a8a5d6d5eb8970e057fa69f81f12f7de7c4efdf1f7dc97bbad28566ec376907b975588a53151a1cf07d3ad0d99656c6fe3671f35fde743463d783f3ff00be9fad2f884d", 0x2000, &(0x7f0000000bc0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000006c0)={0x90}, 0x0, 0x0, 0x0, 0x0}) mkdir(&(0x7f0000000000)='./file0/../file0/file0\x00', 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) sendmmsg(r2, &(0x7f0000008600)=[{{0x0, 0x7f}}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x32, &(0x7f0000007380), 0x0, &(0x7f0000000600)}}], 0x2, 0x0) 16:13:49 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x104000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:49 executing program 4: getsockopt$inet6_IPV6_FLOWLABEL_MGR(0xffffffffffffffff, 0x29, 0x20, &(0x7f0000000080)={@private2}, 0x0) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000029000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f00000000c0)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8ddc74424008fc4bd87c7442402c43a727fc7442406000000000f011424f30f090f013a360f06c4c18d72d68366baa100ed", 0xffffffffffffffb5}], 0xaaaac44, 0x0, 0x0, 0xfffffe41) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x1, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000140)={[0xfff, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc5b, 0x2]}) getsockopt$inet_sctp6_SCTP_GET_PEER_ADDRS(0xffffffffffffffff, 0x84, 0x6c, 0x0, &(0x7f00000000c0)=0x6b) ioctl$KVM_RUN(r2, 0xae80, 0x0) perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 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, 0x4, @perf_bp={0x0}}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 16:13:50 executing program 1: r0 = openat$userio(0xffffffffffffff9c, &(0x7f0000000040)='/dev/userio\x00', 0xc0002, 0x0) write$USERIO_CMD_SET_PORT_TYPE(r0, &(0x7f0000000200)={0x1, 0x5}, 0x2) write$RDMA_USER_CM_CMD_LEAVE_MCAST(r0, &(0x7f0000000140)={0x7ffffffff000, 0x10, 0xfa00, {&(0x7f00000000c0)}}, 0x2) write$USERIO_CMD_SEND_INTERRUPT(r0, &(0x7f0000000100), 0x2) 16:13:50 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) timer_create(0x0, &(0x7f0000533fa0)={0x0, 0xc, 0x800000000004}, 0x0) r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000380)='/dev/nullb0\x00', 0x4000000044882, 0x0) io_setup(0x1, &(0x7f00000004c0)=0x0) io_submit(r1, 0x8, &(0x7f00000000c0)=[&(0x7f0000000140)={0x3a000000, 0x2759, 0xd, 0x0, 0x0, r0, &(0x7f0000000000)="98", 0x3e80000000}]) ioctl$BLKFRASET(0xffffffffffffffff, 0x1264, &(0x7f0000000040)) ioctl$VIDIOC_DQBUF(0xffffffffffffffff, 0xc0585611, &(0x7f00000001c0)={0x4, 0x6, 0x4, 0x1, 0x79, {0x77359400}, {0x2, 0x8, 0xff, 0xff, 0x1f, 0x2, "bffb5e34"}, 0x0, 0x1, @fd}) mmap(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x2000004, 0x2c010, 0xffffffffffffffff, 0xac7f1000) setsockopt$TIPC_SRC_DROPPABLE(0xffffffffffffffff, 0x10f, 0x80, 0x0, 0x0) openat$zero(0xffffffffffffff9c, &(0x7f0000000100)='/dev/zero\x00', 0x4002, 0x0) 16:13:50 executing program 2: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$PIO_FONT(r2, 0x4b61, &(0x7f0000000080)="18") 16:13:50 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x128000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2119.259431][T21655] unregister_netdevice: waiting for lo to become free. Usage count = 1 16:13:50 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x132000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:50 executing program 4: r0 = openat$ttyS3(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/ttyS3\x00', 0x0, 0x0) ioctl$TCSETAW(r0, 0x5407, &(0x7f0000000080)={0x0, 0x0, 0x0, 0x0, 0x1a}) ioctl$TIOCMSET(r0, 0x5418, &(0x7f0000000000)=0x8002) syz_open_procfs(0x0, &(0x7f0000000040)='fd/3\x00') 16:13:50 executing program 2: pipe(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) write(r0, &(0x7f00000001c0), 0xfffffef3) pipe(&(0x7f0000000600)={0xffffffffffffffff, 0xffffffffffffffff}) write(r2, &(0x7f0000000080)="bd", 0x1) tee(r1, r0, 0x3, 0xa) 16:13:51 executing program 1: syz_mount_image$ext4(&(0x7f00000001c0)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080000020000000dcf4655fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b0000000002", 0x5a, 0x400}, {&(0x7f0000010400)="02000000030000000400000030000f", 0xf, 0x1000}, {&(0x7f0000010500)="ffff000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x1002, 0x2000}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000000000040008", 0x1d, 0x4200}], 0x0, &(0x7f0000000300)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') open(&(0x7f0000000080)='./file0\x00', 0x40c5, 0x0) rename(&(0x7f0000000000)='./file0\x00', &(0x7f0000000280)='./bus\x00') 16:13:51 executing program 4: sched_setaffinity(0x0, 0x8, &(0x7f0000000100)=0xbaa) r0 = open(&(0x7f0000000200)='./file0\x00', 0x4008040, 0x0) r1 = gettid() fcntl$setownex(r0, 0xf, &(0x7f0000000280)={0x2, r1}) fcntl$setlease(r0, 0x400, 0x0) open(&(0x7f0000000000)='./file0\x00', 0xc0202, 0x0) close(r0) 16:13:51 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x13c000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:51 executing program 3: r0 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000002540)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(r0, &(0x7f0000000280)={0x0, 0x18, 0xfa00, {0x0, &(0x7f0000000240)={0xffffffffffffffff}, 0x111}}, 0x20) write$RDMA_USER_CM_CMD_RESOLVE_IP(r0, &(0x7f0000000000)={0x3, 0x40, 0xfa00, {{0xa, 0x0, 0x0, @loopback}, {0xa, 0x0, 0x0, @dev}, r1}}, 0x48) write$RDMA_USER_CM_CMD_QUERY(r0, &(0x7f0000000080)={0x13, 0x10, 0xfa00, {&(0x7f00000002c0), r1, 0x2}}, 0x18) [ 2120.691511][T11162] EXT4-fs (loop1): mounted filesystem without journal. Opts: ,errors=continue 16:13:51 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) timer_create(0x0, &(0x7f0000533fa0)={0x0, 0xc, 0x800000000004}, 0x0) r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000380)='/dev/nullb0\x00', 0x4000000044882, 0x0) io_setup(0x1, &(0x7f00000004c0)=0x0) io_submit(r1, 0x8, &(0x7f00000000c0)=[&(0x7f0000000140)={0x3a000000, 0x2759, 0xd, 0x0, 0x0, r0, &(0x7f0000000000)="98", 0x3e80000000}]) ioctl$BLKFRASET(0xffffffffffffffff, 0x1264, &(0x7f0000000040)) ioctl$VIDIOC_DQBUF(0xffffffffffffffff, 0xc0585611, &(0x7f00000001c0)={0x4, 0x6, 0x4, 0x1, 0x79, {0x77359400}, {0x2, 0x8, 0xff, 0xff, 0x1f, 0x2, "bffb5e34"}, 0x0, 0x1, @fd}) mmap(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x2000004, 0x2c010, 0xffffffffffffffff, 0xac7f1000) setsockopt$TIPC_SRC_DROPPABLE(0xffffffffffffffff, 0x10f, 0x80, 0x0, 0x0) openat$zero(0xffffffffffffff9c, &(0x7f0000000100)='/dev/zero\x00', 0x4002, 0x0) 16:13:52 executing program 1: r0 = inotify_init() inotify_add_watch(r0, &(0x7f0000000040)='.\x00', 0x470008a9) r1 = creat(&(0x7f00000011c0)='./file0\x00', 0x0) inotify_add_watch(r0, &(0x7f00000000c0)='./file0\x00', 0x20000125) dup3(r1, r0, 0x0) 16:13:52 executing program 2: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='net/nf_conntrack\x00') preadv(r0, &(0x7f0000000000)=[{&(0x7f00000000c0)=""/209, 0xd1}], 0x1, 0x0, 0x100) 16:13:52 executing program 3: mmap(&(0x7f000036a000/0x2000)=nil, 0x2000, 0x200000d, 0x44f397b1e1b215f9, 0xffffffffffffffff, 0x0) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) dup(r0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r1, &(0x7f0000000200)={0x2, 0x4e20, @empty}, 0x10) setsockopt$inet_tcp_int(r1, 0x6, 0x2, &(0x7f0000000040)=0x2800, 0x4) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f0000000400)={0x1, &(0x7f00000001c0)=[{0x6, 0x0, 0x0, 0x3654}]}, 0x10) r2 = dup(0xffffffffffffffff) r3 = openat$cachefiles(0xffffffffffffff9c, &(0x7f0000000540)='/dev/cachefiles\x00', 0x800, 0x0) r4 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./cgroup/cgroup.procs\x00', 0x0, 0x0) read(r4, 0x0, 0x0) writev(r4, &(0x7f00000000c0)=[{&(0x7f0000000080)="9999d14ffe595d57d5e0e9703d94", 0xfffffffffffffd17}], 0x1) ioctl$F2FS_IOC_MOVE_RANGE(r3, 0xc020f509, 0x0) dup2(0xffffffffffffffff, 0xffffffffffffffff) connect$inet(r1, &(0x7f0000000000)={0x2, 0x4e20, @dev={0xac, 0x14, 0x14, 0x1c}}, 0x10) ioctl$LOOP_SET_STATUS(r2, 0x4c02, &(0x7f0000000100)={0x0, {}, 0x0, {}, 0x3, 0x2, 0x10, 0x5, "cb4d9d8da2a22dc5b2650516317141615c6ec82165866c69a2ca4e9f06dd61887d64c1ec3a1c3542d404c61d7991422334123d04071279cdc154c35fae618732", "c6e15ad600c9b558e8152f05076d9b519525cd0f922eda827c9aef3f955ab9e5", [0x8, 0x80000000]}) setsockopt$inet_tcp_TCP_CONGESTION(0xffffffffffffffff, 0x6, 0xd, 0x0, 0x0) recvmsg(0xffffffffffffffff, 0x0, 0x0) sendmsg$inet(r1, &(0x7f00000015c0)={0x0, 0x14, &(0x7f0000001600)=[{&(0x7f0000000240)=' ', 0xffffff1f}], 0x1}, 0x0) recvmsg(r1, &(0x7f0000000580)={0x0, 0x2, &(0x7f0000000500)=[{&(0x7f0000000740)=""/4096, 0xa15b0}], 0x1}, 0x700) 16:13:52 executing program 4: r0 = socket$kcm(0x10, 0x2, 0x10) r1 = syz_genetlink_get_family_id$ipvs(&(0x7f00000003c0)='IPVS\x00') sendmsg$IPVS_CMD_NEW_DAEMON(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000300)={0x4c, r1, 0x1, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_DAEMON={0x38, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_SYNC_ID={0x8}, @IPVS_DAEMON_ATTR_STATE={0x8}, @IPVS_DAEMON_ATTR_MCAST_IFN={0x14, 0x2, 'veth1_to_team\x00'}, @IPVS_DAEMON_ATTR_MCAST_GROUP={0x8, 0x5, @multicast2}, @IPVS_DAEMON_ATTR_MCAST_PORT={0x6}]}]}, 0x4c}}, 0x0) 16:13:52 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x142000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2121.647242][T11186] nf_conntrack: default automatic helper assignment has been turned off for security reasons and CT-based firewall rule not found. Use the iptables CT target to attach helpers instead. 16:13:52 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x71, 0x11, 0x88}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) 16:13:53 executing program 1: r0 = socket$nl_crypto(0x10, 0x3, 0x15) sendmsg$nl_crypto(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=@del={0xe0, 0x10, 0x1, 0x0, 0x0, {{'drbg_pr_hmac_sha1\x00'}, [0x2d, 0x28, 0x28, 0x2]}}, 0xe0}}, 0x0) 16:13:53 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x14c000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:53 executing program 2: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='net/nf_conntrack\x00') preadv(r0, &(0x7f0000000000)=[{&(0x7f00000000c0)=""/209, 0xd1}], 0x1, 0x0, 0x100) 16:13:53 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x71, 0x11, 0x88}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) 16:13:53 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) timer_create(0x0, &(0x7f0000533fa0)={0x0, 0xc, 0x800000000004}, 0x0) r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000380)='/dev/nullb0\x00', 0x4000000044882, 0x0) io_setup(0x1, &(0x7f00000004c0)=0x0) io_submit(r1, 0x8, &(0x7f00000000c0)=[&(0x7f0000000140)={0x3a000000, 0x2759, 0xd, 0x0, 0x0, r0, &(0x7f0000000000)="98", 0x3e80000000}]) ioctl$BLKFRASET(0xffffffffffffffff, 0x1264, &(0x7f0000000040)) ioctl$VIDIOC_DQBUF(0xffffffffffffffff, 0xc0585611, &(0x7f00000001c0)={0x4, 0x6, 0x4, 0x1, 0x79, {0x77359400}, {0x2, 0x8, 0xff, 0xff, 0x1f, 0x2, "bffb5e34"}, 0x0, 0x1, @fd}) mmap(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x2000004, 0x2c010, 0xffffffffffffffff, 0xac7f1000) setsockopt$TIPC_SRC_DROPPABLE(0xffffffffffffffff, 0x10f, 0x80, 0x0, 0x0) openat$zero(0xffffffffffffff9c, &(0x7f0000000100)='/dev/zero\x00', 0x4002, 0x0) 16:13:53 executing program 3: sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000ec0)={0x0, 0x0, &(0x7f0000000e40)=[{&(0x7f0000000b80)="d4e01c9391778e50e8cfdff2b2bc8d1ba31192af70cc2247ea6841dd06f330819858e4b4f3d02e5b7d56d5be75430321a7111af786a195b1334cd1aa", 0x3c}], 0x1}, 0x0) r0 = socket$kcm(0x11, 0x8000000000000003, 0x0) setsockopt$sock_attach_bpf(r0, 0x107, 0xf, &(0x7f0000001640), 0xff5f) r1 = socket$kcm(0x11, 0x200000000000002, 0x300) r2 = socket$kcm(0x11, 0x2, 0x0) setsockopt$sock_attach_bpf(r1, 0x107, 0x12, &(0x7f00000000c0)=r2, 0x4) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000000)={&(0x7f0000000880)=@un=@file={0x0, './file0\x00'}, 0x80, 0x0}, 0x0) sendmsg(r0, &(0x7f0000000440)={&(0x7f00000006c0)=@nfc={0x104, 0x3a}, 0xa0, &(0x7f0000000140)=[{&(0x7f00000027c0)="11841400900d08233e496d5671dc71ff04291b2c1501772502bb867063f70647862a15257781bcf1d1e498104d082833914ee68afc14ac7cb85975751b8c31271948ee303aa2a34be964b8c1b95638607b2e7ec7fda28fea4caada028a39bf259538214e80b9b5c9b58b1cb36a933d64a25324566f7733ea93fc91c98fec268cb1e2148198e2ccf2463d2ae56c61ac436c336b2d421c6b512a600955c6ede3e5820165eabf2dda9e2294300485327a6d28f7913f19d79e5f478626bb6a607c2f5085c68749edc417da6cc4db8c605215575067836f62b0b3e0b49e8c321240c1b1b54babad07a7000c4eb99200b9d016f1554683b7b3323ab37f066b973d584345792feba5b719ec0413d1c37689ce927de538b4ac16687f6595120220e5205f79227e43a8eaa610c8c232bcb811b4a63eab1b87da214700408e830774dcd6318bec9ef28b9171b0492bddb09009a8d26f797713d81548e0c547b8aa7bcd844c2cfa69560deaa6188b576792cccdc09a1f94da4e4c4f05e4d053d6a2fcdb253dce696d6cd85a1aee740c2a84e3d63aa558d3db42531e2303c6e8cfc0b6e31950fcbf3021f708d47c05edcf3fcdd66226d99f1f132d73f698e0820c395f343e0d69042b6b06bf40b45ea6a8f52a32255f3c40d4e9fb93084421a6235116be29125e5afe2d8c418cedb2548db2fcade80c118af8a6be1e650517519721a5920f842662aad37473f2ba60f7ee8466f8dba829c3e17d3e618ef5768b1b0a8991c64f2e592e726bb4636d13fbd04ed71b031e1c1a27fe30325e521a9845ef1abae620cefb216c47a1e3b4db8cb1287006b9fed827fa5a944b8045a3397ba4208c5cb67117393b2f836e4e79196e05ebd7488fa76619ea0521982b9cb76a63bed4f0ffe48ceb4b2bbe4e590dec80eca4740027f855dad06313a2a0188932a2069fc70b8af0e4294a7b51b552ad72ccd5625fd2a971354bad2930eec5f41e0ae271224b8a9160d96965d372c65e4a0adcee1e8bb84406b6a5c5e4d6ed7ff529afdffcdbea58f43e7c39f8aa9845fc92c84aa8bc0eef238d19b2cd3dd0c6d52694c99f2f493b7064076b62d139837eda3d11e43ae52fb771c1585974bcc6e2adb24096fd3d5ac867afb9cfb6ed07cb34e227f00ed5541499d2e7e3b4f3da831a3b9c32de8be0f5b45e8248b5a2811bb452ca6dc7d56d87531347ad316e6e8c6bf887f70f455cdeae8dcfff004b0ed1b8fd63d1d5e55cbdf1541b87821f3c90f7d47e542ec75b132f5285862d3e9fd84f841e4d137e2735d5f23c87108bcaa591a14ab2ab43802ffb176453312420fe0e79af7236850104bc3e925b16fd0a57ee9959ae8ccc13c843365442bb462d86ead8a20c41e064e0ad286f4aa4c69d0046e5012cecf425b0df11c0b458e31804d8ffe98554afc69b475ca03cbe926806b276e19aa47b3e101b95ee2fd32b9f06a3fcf6f078ce694f9ed8fe03425446bcdd0e7c1f4d3e109bbe30020cb81b64bb0cdfd8a0d33e1143c4fbb7fef15d1059e1f20b394f69d482a1da5fd49508808c80c824a843698386b4d3c3885f063aa3c047624f93298040fbc706020d295cf3f363d42f21d327d91d101cc4758c67195a49c3b3002e14cf28a5b8899b7ef08b6713d89c7049ef594361b1d8a0c5838ff30a6a3f1b0f9f947c76d5f1629d3df215975b498bd33ddbc44798a9f76ba0c41e9ad565e44ebf3c333fade1d4306b1042c5e2e855f3e5fdcd64ce7fdf73b09044bec8a2f0cecbb00c6c76c85891478aa4bae6282541cff613f2b461cce115ba0b78c6f50f4593efe5c2ae558f6c0534db14d5b44416b08abe45c6ddf5c749aae8141e427a0a2f42b903ac71caa09e5098cc2c07d79145c7408415d8f937108d6becdbb38a2b3250c0fdf36297375aa3212c9bc8483e8d629c54a79ca55cdda720496753f27fd9e88e203594c1e28514e0d22b9c34c3e1f10253217abed40b09a533fad16c7b9b8e89d7dfd3b27d579bfc813ad2895543ada10f886c7c75010bc70345b727513fa3b7c6aa677a22e037e2bd7731148996f3a8c424075fd12aa8eb9d8f6a8fe7b2eb68934799f5063c58c1816caa4b400bb0914fc7300111c063e5c01910b0b01803a1a348f387542236d82bef6d926ba571ca0e7745e586eddf2334baeafd7b1149502e781ec45299c3f3cd34c3628057def3c012878123224e33828b216022dfebdc6a284e503868a1e4369af819fcfd4124d801386dbb123ce88d54712f6351c77aad6039b2f5ff3d0d1903c74043864fa9f801847ac8446280a31739e0215bce77c08c2477e9079f62225cf179da445e9f220560d995238f17e87dd4ce0f7ebe5f8941d5d130c2d6398e08bb893b5dd8e58701e41e75fd0182d3ebac8920aad7f4777b4e096eb5c5a17e440c0a5b95ca92bbaec63130bbc41d0cbfccb03eb6c1cffc8558bd255c2096a285346dd9600f33554acf62aef19d2776bd5d8a5a9f0a4976022b8ac1400e3f0a7fa227ebc0ad80187939562492154c708739f865a9803512a6213d5026b1febd0a20ce4b3a4d7d90dc5af3f5beaa06b8af1d19556655ac578f9266f5d3b393f24a2d112eee90f749e1f0a6e27ff2469f1cc21d5bcbf355168c62044fd1cc4861544a8175f640ad3c5bb6c81efa331822efb70b57f4110deebe68794211ee4a95c259b4eb519d887b6cfdee178758382f4f63c80b1f0b9f2337dd5a11a5b1fb04c3315ff942cf7f5d7da36c088a65f86529d003c8c9bf74392f9d897b53a422cb3b3f9e09f9936514ac100fecf3c9a573aae041ce3c86cce6dc2884053bc56a510791392bda454aa7dc580a3a7cf71c18dd57bec21c0eb143deb654d8b0fc642bbc7484dc9943c2102169a6aca278f0fd81b1b6b082b355443c8198284e3b01e9fff1c8df1895e9c9593f16438c7f737f2ab56c0f57eadfcd570c5b04b5218fc7d2c0cdca5c7ba5ff428b4fe541d4c8f6fe274d2a3290343f3d6944c918571e350caf2ec3cc9601cd5b71e8f22ff401024c51c592bf476f255b200962e2ed014ce551376235e8d220763f8c9c904570d6b6227c94d62e08b0c9bd3557b96c8ed227685fc54d43e4a05ca5996c4d8e3e5076f394b0c0bc7cdf972f996c45987ffb2d6a138a1772b7ffbeaa66ceddd34839051c61f9d87153f23823f9178b56eb016524ba862cdca9d147b5bda79553ade825d5a1b8ea3acf8c7cad88cd11b68625d367931b9a0296b228fd2c52da32d050d746942fb38dbb3d5e2ad75b7243f7340a8c0d4c7b156e030b6eb154ec6c47c1b6af307ea0e8916e21166572632321f8b4978ecd1f8b4029a6baba4da2dd984d245d1b6dd4a6f2a72acc4d90f480de489826130dd7b2a9ad79938ed6de65c7a56e0515d84302a8a8ee98c20ea32db20b231b9d00e03dd74b804e15c70ce8a6b169ffa79db7e24062b2dd3560502337bb03c8506a25ce77eaa06f9fb54aff0bab9545c32bb9a35a700361f46a3995ef929af7698bf16df9d8965f4d939f5dba6eb238c1089c25617568b29760ecbfef273b8070c3853a652d30da91cb00e0afa1c663589158711984cfe38869974c30e9b51333091cb0f5d72f5ddb0f3bc550b2787ff6fdfe0b90764f8ec319a2674d6e16ca2417b7a2144b5a4ad248fc4b2b8f74ed1957bd4f52f0db0ac4eb8f6dc62c51e16a803bff507359abdbd0ce1ee0fb936a4a060954c1a939b4b197b61311d079ef09e57e60f94fd796c12cf7e62e11bbdc11e04fc79736e42d6d2dcb02e705dc4e8e17addcc0902af4ebbf0a2f57db53cbe99bb0797137c903195de282ed02c37634181936e351f383fb590eb453e539b80c6935185ac40890c1ba70b5e2eb53235f3a983ce4608929d2609354f89fc22f80a0aa9fc0ea9af7f06e46d8b5f5d47dbd2efe1f2d0f4edee09f11b57c257ff5ecfe96ada3c5f37e1d766c5c85490d14f297e1ce65ae34909f04492e7cc955faabb205491a096147d0930ffa70b68055523e360328f26f28ff160cdb8b4785a22110191c9ecfd187267c1a4300e9370a41c73fe224f3a9c54493780b1a4ff96398f0a60f66e48ef4ad7183f71c0c4d6d9d1a57e19a56d9ed426cd4143de82ceb33011988ed079b52ab30300255e066a84959a10676c7b58515ff9bed194c784072af1062734f5d497f2be9b0ea1228f5a981e8d5d78da49da90b040d4e3a93b7f71360b25cf75fca36a4068748e1bc171dd40fa31d6f9c4c926a635f4ea4faf7511146bc5782606966aaab13a30d67cf182751149f678852da30d0f9b6ea5524a1f5ea01e77d7a74ac588ab2251cdbc9f4f8aa2cf367f0ad2178e66fbd7ab447aae12a7bc6cf3925fe99dcdf8ec95cf4576520b781dc12fe6d310978315d2e3d7dbc49c9be2fa40788ebd5fc02c6c7f566a64b7f4af7a96353265dc9e4c74c909b9a385966f4d7312fdcdfa8f5d0632c6db4a19ce696416a04e937d4a994e757eae59c07e5d3228254b35003eba32ed448516e9aa77b5b92c9ce7fff06a8f4f652d27971a46c621a6b2ee3c1adaf60d5cdfb381a4e4ac9ab7d7d72fcb2d6aa7e104255345f1e15dec8299c9c75735a01338d20f72d8b359803becef76d9ca6da029d0a795e6d4a652bf3880efeee074c81774b2971da03eff6d9516ac8a0c34b686aa1afbcb2befc79618a3dbb2bcd53da0075cdba0ddd975fd4e833291005f0fbf7b167922dc85b109e1381431e0fdc50f80b8592edd57f50f9dd950205e1a21cd3026cb30abe6d06dbec6c7cdb76d90c0e85a69aa1522281bcb3f4fc54ee443e76c7d9bf82e313f2dc3e277c699e079a847635780a5b724aca0ede72febba648de12fd14e3a78b29e9df82a19f4ed9c712e5b313c05e6908f6d4601d076afda5cf77eab4ea7c44c9d40f463fe8cde79f18170de9b087b113cfc7d467bd164564c2a8a99e4566d6f9eb1a8d5393700158fe84c109735cfe0ab45d9eb6fe61619d8538512730e015ffac07279973126e9087b209144c8797dd6b65381e616256a9cbf7771222c41618eb82d3539e7750ef0614acb4c901f88f31589d9d6d87c4b2a5361ad44155bf5476f2bc42cd2e758d478a1bcaf27c6c5607f025c8ff75913cb95eb631a690e3e6201204e616a4482a6eae323dadc0a9c22a7de1567ec3f45380bbde304cc76efd4bb0ac9f28475534eb973fc02f3f5dc73a862052f82f6d40c0821012589925ce3f2274ff2a8097b8464b44068c1505b967679bcc6b5d7e7ece9bd1880fc32531fe5d7bac9c5262a709239e477ecf44915a70aa7f984ec1bed047f3ec92a55714403c7c7503a3ac87cec792e072eefa623c56b6b33beb5ae7f5066a952cf6b0b25ab74841e5d2a9b20b1fe0cd83c3aae37eac0dd08d6a65410af956767766f2c6c12d13e87f363052e1e645c2dccd42948be835a9fe1c8892453b73cbcaa7c9222ccece11f86fba52d29d64a609da597e226e5f59e9a8301297c1e9881557a860df15ee14cf4bf70988e2cf90359587bc378adba5aa610db3cc1d6ae5fba9390b4c", 0x5}, {&(0x7f0000000840)="02", 0xc9ed}], 0x2, 0x0, 0x0, 0x1a0}, 0xe869) 16:13:54 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x156000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:54 executing program 2: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='net/nf_conntrack\x00') preadv(r0, &(0x7f0000000000)=[{&(0x7f00000000c0)=""/209, 0xd1}], 0x1, 0x0, 0x100) 16:13:54 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x71, 0x11, 0x88}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) 16:13:54 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x3, 0x4, &(0x7f0000000140)=@framed={{}, [@ldst={0x3, 0x0, 0x3}]}, &(0x7f0000000040)='GPL\x00', 0x2, 0x88, &(0x7f00000001c0)=""/136, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 16:13:54 executing program 3: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000040)={0xb, 0x7f, 0x7, 0x5, 0x1}, 0x2c) mmap(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0, 0x12, r0, 0x0) 16:13:54 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x160000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:54 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) timer_create(0x0, &(0x7f0000533fa0)={0x0, 0xc, 0x800000000004}, 0x0) r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000380)='/dev/nullb0\x00', 0x4000000044882, 0x0) io_setup(0x1, &(0x7f00000004c0)=0x0) io_submit(r1, 0x8, &(0x7f00000000c0)=[&(0x7f0000000140)={0x3a000000, 0x2759, 0xd, 0x0, 0x0, r0, &(0x7f0000000000)="98", 0x3e80000000}]) ioctl$BLKFRASET(0xffffffffffffffff, 0x1264, &(0x7f0000000040)) ioctl$VIDIOC_DQBUF(0xffffffffffffffff, 0xc0585611, &(0x7f00000001c0)={0x4, 0x6, 0x4, 0x1, 0x79, {0x77359400}, {0x2, 0x8, 0xff, 0xff, 0x1f, 0x2, "bffb5e34"}, 0x0, 0x1, @fd}) mmap(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x2000004, 0x2c010, 0xffffffffffffffff, 0xac7f1000) setsockopt$TIPC_SRC_DROPPABLE(0xffffffffffffffff, 0x10f, 0x80, 0x0, 0x0) openat$zero(0xffffffffffffff9c, &(0x7f0000000100)='/dev/zero\x00', 0x4002, 0x0) 16:13:55 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x71, 0x11, 0x88}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) 16:13:55 executing program 3: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000040)={0xb, 0x7f, 0x7, 0x5, 0x1}, 0x2c) mmap(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0, 0x12, r0, 0x0) 16:13:55 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x3, 0x4, &(0x7f0000000140)=@framed={{}, [@ldst={0x3, 0x0, 0x3}]}, &(0x7f0000000040)='GPL\x00', 0x2, 0x88, &(0x7f00000001c0)=""/136, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 16:13:55 executing program 2: r0 = syz_open_procfs(0x0, &(0x7f0000000080)='net/nf_conntrack\x00') preadv(r0, &(0x7f0000000000)=[{&(0x7f00000000c0)=""/209, 0xd1}], 0x1, 0x0, 0x100) 16:13:55 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x16a000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:55 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) sendmmsg$inet(r0, &(0x7f0000001300)=[{{&(0x7f0000000080)={0x2, 0x4e21, @remote}, 0x10, 0x0}}, {{&(0x7f0000000000)={0x2, 0x4e21}, 0x10, 0x0, 0x0, &(0x7f00000013c0)=[@ip_retopts={{0x18, 0x0, 0x7, {[@rr={0x7, 0x3, 0xfb}, @lsrr={0x83, 0x3, 0x5a}]}}}], 0x18}}], 0x2, 0x0) 16:13:56 executing program 3: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000040)={0xb, 0x7f, 0x7, 0x5, 0x1}, 0x2c) mmap(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0, 0x12, r0, 0x0) 16:13:56 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x3, 0x4, &(0x7f0000000140)=@framed={{}, [@ldst={0x3, 0x0, 0x3}]}, &(0x7f0000000040)='GPL\x00', 0x2, 0x88, &(0x7f00000001c0)=""/136, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 16:13:56 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r2, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000400)=@newtfilter={0x44, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {}, {0xd}}, [@filter_kind_options=@f_flower={{0xb, 0x1, 'flower\x00'}, {0x14, 0x2, [@TCA_FLOWER_KEY_FLAGS={0x8}, @TCA_FLOWER_KEY_FLAGS_MASK={0x8}]}}]}, 0x44}}, 0x0) r3 = socket(0x1000000010, 0x80002, 0x0) sendmmsg$alg(r3, &(0x7f0000000200), 0x4924924924926d3, 0x0) 16:13:56 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x170000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:56 executing program 4: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000040)={0x26, 'skcipher\x00', 0x0, 0x0, 'ecb(cipher_null)\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) dup2(r1, r0) sendmmsg(r0, &(0x7f000000ac40)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)=[{0xc, 0x117, 0x4}], 0xc}}], 0x2, 0x0) 16:13:56 executing program 3: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000040)={0xb, 0x7f, 0x7, 0x5, 0x1}, 0x2c) mmap(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0, 0x12, r0, 0x0) 16:13:56 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x3, 0x4, &(0x7f0000000140)=@framed={{}, [@ldst={0x3, 0x0, 0x3}]}, &(0x7f0000000040)='GPL\x00', 0x2, 0x88, &(0x7f00000001c0)=""/136, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) [ 2125.776616][T11251] __nla_validate_parse: 10 callbacks suppressed [ 2125.776666][T11251] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 16:13:56 executing program 5: bpf$PROG_LOAD(0x5, 0x0, 0x0) r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/cpuinfo\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0xec7) [ 2126.018933][T11263] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 16:13:57 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x17a000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:57 executing program 4: r0 = openat2(0xffffffffffffff9c, &(0x7f0000000040)='.\x00', &(0x7f0000000080), 0x18) fsetxattr(r0, &(0x7f0000000500)=@known='trusted.overlay.upper\x00', 0x0, 0x0, 0x0) ioctl$FS_IOC_FIEMAP(r0, 0xc020660b, &(0x7f00000000c0)={0x0, 0x2, 0x2}) 16:13:57 executing program 2: r0 = socket$nl_rdma(0x10, 0x3, 0x14) sendmsg$RDMA_NLDEV_CMD_NEWLINK(r0, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000280)={0x38, 0x1403, 0x1, 0x0, 0x0, "", [{{0xd, 0x2, 'syz1\x00'}, {0x8, 0x41, 'siw\x00'}, {0x14, 0x33, 'gretap0\x00'}}]}, 0x38}}, 0x0) 16:13:57 executing program 3: r0 = socket(0x200000000000011, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000100)={'macvlan0\x00', 0x0}) r2 = socket(0x11, 0x800000003, 0x0) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000006c0)={&(0x7f0000000280)=ANY=[@ANYBLOB="4400000010000100"/20, @ANYRES32=r1, @ANYBLOB="0000000000000000240012800c0001006d6163766c616e00140002"], 0x44}}, 0x0) r4 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r4, &(0x7f0000000140), 0x4924924924926c0, 0x0) 16:13:57 executing program 5: bpf$PROG_LOAD(0x5, 0x0, 0x0) r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/cpuinfo\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0xec7) 16:13:57 executing program 1: r0 = socket(0x2b, 0x1, 0x0) pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) r3 = socket$inet_udp(0x2, 0x2, 0x0) writev(r2, &(0x7f0000000200)=[{&(0x7f0000000140)="580000001400adfd8a987e40da2e6a262b", 0x11}], 0x1) close(r3) socket$netlink(0x10, 0x3, 0x4) write$binfmt_misc(r2, &(0x7f0000000180)=ANY=[], 0xff16) sendmsg$can_raw(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000040)={0x0}}, 0x24000004) splice(r1, 0x0, r3, 0x0, 0x80000001, 0x0) [ 2126.682289][T11277] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2126.775165][T11280] netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2126.878758][T11280] netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:58 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x180000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:58 executing program 4: pipe(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) creat(&(0x7f0000000300)='./bus\x00', 0x0) socket$inet6(0xa, 0x3, 0x11) setsockopt$inet6_int(0xffffffffffffffff, 0x29, 0x0, &(0x7f0000000140)=0x63a5b074, 0x4) sendmmsg(0xffffffffffffffff, 0x0, 0x0, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000180)={0xffffffffffffffff}) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) write$binfmt_misc(r1, &(0x7f0000000040)=ANY=[], 0x4240a2a0) r4 = socket$alg(0x26, 0x5, 0x0) bind$alg(r4, &(0x7f0000000940)={0x26, 'hash\x00', 0x0, 0x0, 'vmac64(aes-generic)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r4, 0x117, 0x1, &(0x7f0000000040)="cb56b6cc04078017fbcf2b21dcfd36f1", 0x10) r5 = accept4(r4, 0x0, 0x0, 0x0) splice(r0, 0x0, r5, 0x0, 0x1e8640, 0x0) 16:13:58 executing program 5: bpf$PROG_LOAD(0x5, 0x0, 0x0) r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/cpuinfo\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0xec7) 16:13:58 executing program 2: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0xffffffffffffffff, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x20000009}, 0x0) sched_setattr(0x0, &(0x7f0000000200)={0x38, 0x1, 0x0, 0x0, 0x3}, 0x0) syz_mount_image$udf(&(0x7f0000000000)='udf\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)='\x00BEA01', 0x6, 0x8000}, {&(0x7f0000010100)='\x00NSR03', 0x6, 0x8800}, {0x0}, {&(0x7f0000010300)="010003000b0001005c59f001600000000100000000000000084c696e757855444600000000000000000000000000000000000000000000090100010003000300010000000100000008313233343536373831323334353637384c696e757855444600"/116, 0x74, 0x18000}, {&(0x7f0000010400)="0000000000000019004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000004f53544120436f6d7072657373656420556e69636f64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578206d6b756466667300000000000000000004050000000000007810e4070913142c1a3e2835002a4c696e7578205544464653000000000000000000000004050000", 0xe0, 0x180c0}, {&(0x7f0000010500)="000000000000000001000000000000", 0xf, 0x181e0}, {&(0x7f0000010600)="06000300e2000100800ee8016100000002000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446", 0x5d, 0x18400}, {&(0x7f0000010700)="000000000000000000000000000000000000000900040000002a4f5354412055444620436f6d706c69616e74000000000102000000000000000400001000000000000000000000004000000001000000002a4c696e7578205544464653000000000000000000000004050000000000000000", 0x72, 0x184c0}, {&(0x7f0000010800)="00000000000000000000000000000000004000008000000002400000002a554446205370617261626c6520506172746974696f6e010204050000000001000000100002003802000070000000f00700", 0x4f, 0x185a0}, {&(0x7f0000010900)="050003002e0001003a98f001620000000500000001000000002b4e535230330000000000000000000000000000000000000000000000000000000000000000000004", 0x42, 0x18800}, {&(0x7f0000010a00)="0000000000000000000000000000000000000000000000000400000010050000d0020000002a4c696e757820554446465300000000000000000000000405", 0x3e, 0x188a0}, {&(0x7f0000010b00)}, {0x0}, {0x0, 0x0, 0x20000}, {&(0x7f0000011400)="020003003800010077c9f00100010000004000006000000000400000e007", 0x1e, 0x40000}, {&(0x7f0000011600)="00010300380001001e14f001100000007810e4070913142c1a3e28350300030001000000010000000000000000000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446", 0x79, 0x148000}, {&(0x7f0000011700)="00000000000000000000000000000009004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446000000000000000000000000000000000000000000000908436f707972696768740000000000000000000000000000000000000000000a084162737472616374000000000000000000000000000000000000000000000900040000300000000000000000000000002a4f5354412055444620436f6d706c69616e74000000000102000000000000000000000000000000000000000000000004000020", 0xf5, 0x1480e0}, {&(0x7f0000011a00)="0a01030050000100fc44d0013000000000000000040000000100000400000000000003000000000000000000a53c000002000000000000000801000000000000080100000000000000000000000000000010e4070913122c1a3e28350010e4070913122c1b08224b0010e4070913122c1a3e28350010e4070913122c1b08224b01000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578205544464653000000000000000000000004050000000000000000000000000000000000000801000001010300fe000100119f18003000000001000a00000400003000000000000000000000000000000001010300a4000100cd851c0030000000010002060004000031000000000000001000000000000866696c6530010103002b00010089501c0030000000010000060004000036000000000000001300000000000866696c653101010300c1000100125d1c0030000000010000060004000037000000000000001400000000000866696c653201010300e6000100464e1c0030000000010000060004000037000000000000001500000000000866696c653301010300090001002c872000300000000100000a0004000042000000000000001600000000000866696c652e636f6c64", 0x1e0, 0x150000}, {0x0}, {0x0}], 0x0, &(0x7f0000000040)={[{@iocharset={'iocharset', 0x3d, 'iso8859-3'}}, {@lastblock={'lastblock', 0x3d, 0xab6}}]}) 16:13:58 executing program 3: r0 = socket(0x10, 0x3, 0x0) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) r4 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r4, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r4, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r3, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r5, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000ff030000000000f50000", @ANYRES32=r5, @ANYBLOB="00000800ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000400)=@newqdisc={0x34, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r5, {}, {0x0, 0x8}}, [@qdisc_kind_options=@q_pfifo_fast={0xf, 0x1, 'pfifo_fast\x00'}]}, 0x34}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000000c0)=@newqdisc={0x24, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r5, {}, {0x0, 0x8}}}, 0x24}}, 0x0) 16:13:58 executing program 1: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_HOPOPTS(r0, 0x29, 0x6, &(0x7f0000000080)={0x6c, 0x100, [], [@generic={0x0, 0x7fe, "2019d96e376dec8e15578e6ba712682c018d8b345e6559451549d3dbdb41aee385dc09bf20610782b0551db174b07c2cceaa3453ee226e1b5fe5f41f50001de010a422043d1829317fbf1d05450d74459990cd136eb6391ca7394789b6cb0182a79df424053d4dfab255e96a8f3f242e074bab614e059c1b06a49fc484e6d474a3b04e7ad9d936a5c7c01d0c5511c8068128171e50a18e7d359b005a988c3c9e4946ecb3bfce6e8e06ece8b4e320e781e2101b83aec4f570adf493be4a953b0b5a036ca7194ccb318e4ca75f12ecd26007436f4206f9641b54091f393d5664d70b1e58fa54062aceab96faf6899dafe07f345c00a83ae2b85d69b409c5a7dc8063ecfd1dbcf9f5933f6f4ed45157fb59854f08b4ef675cf7eb07a0b937995a602cf5e084242387bd08ac4e718fac1981a689076a13ef20023e6897d4645080eca81286422d51c45a7d2d69262a0f7aee63adc020508884c819f184d520671065a4caf31ec0dc354b4765c73db15ddcc167fd0027ec9154cea0c26ecaa437a744220bac14be58eaf5faf2163d9dade6679067c3fcc901cae4bdce9480ed6a3b432e4916f9664ae4aa9c1c724436991e44d36baf285be6099a4bf3ea28512ef02883caa7c94476f0782c2a74bf945c6893090f584b97b59d8916d5c7d85a1e787d435c2645216e05b8583d61354a71cedc8ad8baec399df88acf72a7e25042948db76c4bcd567bfd3487958444066bcbf36b629b3d4a25b7eaa348dfb6498cc7f23cd8da99e7ee0ead30619a8aff4836f0461ecbf62ea47926ff7a83c8f321c9b7fa99cd7aef477ebf3d6975a90a993d60ceb468ba77560af032f9f2377ae5939a083c1bf78d3c179a20a75c2be7899311f32ffe52841a224b941a40a37f5f41629d71bd2088f4140424bd74e37b216375ee575f9b362d7449daee11673dba8ef70bb36c0015f2324aa4dad4da8d62b0d5d4fc5d85b0a0678ce3e4a5290f371bc5e2c790b565a8e0bcf0355e7a67765cf8742e2bf5cee092f61dcbeff9a668d10c4358893224ce5b644934e11cea2324faa65b7b76e7b0eb3b535898f9c187101822768c7abaa72bff77b7268a0237c4769dd3eff9924cecaa291a54ced9427725f7d809b48a165646364ba7f2a21cedce36ac1be1934b0a63b74f9bd7e1631f410f9f1820fd597324bdfa700d65a20148ec569a76b5d200dc29f1723b50e719a14cccd225b36dea495f81cd448e763e18e910f10b5eea3402a1c06194c442e9c006d4b323750bd72af7e38ccf4f99e0e7eca4dcd010a9f6526cbc92d933fb0d0b87759a8cecfb87f27744153b76b8a8f1a4ccd3bc8999bb4b3b28b0f4419dc754a0c71b1e61e5ebaef1ab225686ecf883c3e2ee7d47ba77817f5f0003b20eba7f032143ea4eb8d58ce834088ca78cd0617406545233efb31833deb4cf8726675244bd55e1c1cb5b8757c69cce93dfcbe383d29fe760c44277f261e078b8f3604741449c347082c518d59edae82b42d580354f23a16a279f6d1cfd2401101b9a312b5cf13d4f990462a11885e549af3fa91ac98b52bdf5e4429664ddc050fa2fb9b53724f1f2b3078772ad3678a61cda8504e80a1c4a6b588e913f3817d056697af1c4a9d9fa6d9864633c4b61ddfb3230ded2cbe2c8ef32d7a57bab7ff11851db81b91fcc188e6834bce2659c72715bdcc0f02f12e3f6ebbaec6a7b90200952b02ec0c461f9a034dbf39854987ed5afbb839e199f38833180c9324ea1b6c74e96f5800377725bbe9b3ff4437b241584a8d762bc7917c302af7afa9c46473583dc15e0076945653a57f307b8423137fc3b4ea242058128583f6cfcefab06aea5aeaa14870590418033ac50dc47ee15ebd4766c3a6a140279e3e3c5978151fc4f19d9be814870c58ce9a1fe1a0e253416408ca6d3d8ed3bd457bb3911466c59c76220a64446f9e8f55bfabdeedff81471cd8ca530b73ede5e30a2c67c10bb1d41d15d0d9c9433a1b18ed93931da34be259f270da63d2504d14fb4ff142cc4fc3d42d0f7f2c83b3b13efd115891121f2613d311c30d49e186a92262e1db6838c12a8a99215e280cd404a3bb9ae0a065f223cc120cc234b2da3d59c552d19da6795b69037c28fab0fae286355029e3b96af3b3ad151132069ae2b57d1cd777632210b1e71efa8749eb579f4903512fef02728a8e89d910300b1767fa3fcfadff98b9c0269c1a4eb6dd749ea8e527598ff3168909991cebf07c30092ac538e56a894eef6b9568822e98e6217ec513e0d225ec31f2d11b43823debfc756cda1358c875afde18894a348c32b1e5707a425383d4b34c08ea50b3c60e7bdda35a7d3585bb21128d9a03903f633ce7dafa752909e772181af07bcd30fcd8cfe3b41f6ceef50fc184af6d62967726739e45ddc04a6570c5c49afbe207daa54aed6d90b51ab1674560e2287a5a0dd3f5da6c4d25e111790b3af604dd85bd28973d17f6070da13016af9c691e4910611e8b60b140d9874885b198a7edee754a40fd5f3b68c7231f55a9d6aa2899e6a0dbd6e40e8d20fe2fc4d84d29f6058a1e47020561c51a156e96d49963237dca50fd43c7acf8fb50f3a1c09f9281ceda17b3930093de79527e99411042a7ea302f4d62878a4da516b51b2336d4b2599095cb333997491fe73a42797561a727ad1c77f99fed931c8d5fd40e70abcfb872f280d030e53cbe6e85fbcc61ee78c6f0c38992223bdbe2dd21f4c93eda3b2e6daf966fe00a4a2a97835a3c91fcd49bcb0cba70c60750c0f7bf7cff03831ab8122ab797f50b7a366c7fe50a24398b37b7867438eceed7c1e38bba40d4c00e5d642a3bc6d61e214306e252d48e302ff67350bba4e053d850f0120a8a81fcb6233450625157a0851"}]}, 0x808) 16:13:58 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x196000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2127.740133][T11302] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. [ 2127.819197][T11293] UDF-fs: warning (device loop2): udf_load_vrs: No anchor found [ 2127.827084][T11293] UDF-fs: Scanning with blocksize 512 failed [ 2127.849229][T11293] UDF-fs: warning (device loop2): udf_load_logicalvol: Damaged or missing LVID, forcing readonly mount [ 2127.983120][T11310] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. 16:13:59 executing program 5: bpf$PROG_LOAD(0x5, 0x0, 0x0) r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/cpuinfo\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0xec7) 16:13:59 executing program 2: unshare(0x20000400) r0 = socket$pppl2tp(0x18, 0x1, 0x1) connect(r0, &(0x7f0000000000)=@un=@abs, 0x80) 16:13:59 executing program 1: r0 = syz_usb_connect$cdc_ecm(0x0, 0x92, &(0x7f0000000500)=ANY=[@ANYBLOB="1201000002000008ba0d0010400001020301090280000101000000090400ff0302061400052406000005240000000d240f010000000000000000000c241b07000104070104007f0524150500082407e30000f8ff06240701050008241c04001f3c0d152412feffa317a88b045e4f01a607c0ffcb7e392a090581030004"], 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cpu.stat\x00', 0x275a, 0x0) syz_usb_connect$cdc_ecm(0x0, 0x0, 0x0, &(0x7f0000000440)={0xa, &(0x7f00000001c0)={0xa}, 0x0, 0x0}) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x1000)=nil, 0x1000, 0x9, 0x10012, r1, 0x0) syz_usb_ep_write(r0, 0x0, 0x2, &(0x7f0000000180)='\x00[') 16:13:59 executing program 4: prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x0) tkill(r0, 0x34) ptrace$cont(0x18, r0, 0x0, 0x0) ptrace$setregs(0xd, r0, 0x0, &(0x7f0000000080)) tkill(r0, 0x12) ptrace$cont(0x20, r0, 0x0, 0x0) 16:13:59 executing program 3: r0 = socket$packet(0x11, 0x3, 0x300) r1 = dup(r0) r2 = socket$vsock_stream(0x28, 0x1, 0x0) connect$vsock_stream(r2, &(0x7f0000000100)={0x28, 0x0, 0x0, @local}, 0x10) listen(r2, 0x0) mount$9p_fd(0x0, &(0x7f00000000c0)='.\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r2}}) syz_genetlink_get_family_id$ethtool(&(0x7f0000000040)='ethtool\x00') 16:13:59 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1a0000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:13:59 executing program 5: r0 = socket$can_j1939(0x1d, 0x2, 0x7) setsockopt$SO_J1939_PROMISC(r0, 0x6b, 0x3, 0x0, 0x4) 16:13:59 executing program 2: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000080)='/dev/uinput\x00', 0x0, 0x0) ioctl$UI_ABS_SETUP(r0, 0x401c5504, &(0x7f0000000340)={0x400000100002f}) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x3) ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f0000000000)={{}, 'syz0\x00', 0x46}) ioctl$UI_DEV_CREATE(r0, 0x5501) [ 2128.845446][T11728] usb 2-1: new high-speed USB device number 67 using dummy_hcd 16:14:00 executing program 3: r0 = perf_event_open$cgroup(&(0x7f0000000080)={0x2, 0x70, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x40082406, &(0x7f0000000000)='({(&\x00') [ 2129.095773][T11728] usb 2-1: Using ep0 maxpacket: 8 16:14:00 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1aa000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2129.215979][T11728] usb 2-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 2129.226800][T11728] usb 2-1: config 1 interface 0 altsetting 255 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 2129.230784][T11347] input: syz0 as /devices/virtual/input/input49 [ 2129.238177][T11728] usb 2-1: config 1 interface 0 altsetting 255 has 1 endpoint descriptor, different from the interface descriptor's value: 3 [ 2129.238247][T11728] usb 2-1: config 1 interface 0 has no altsetting 0 16:14:00 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$jfs(&(0x7f0000000500)='jfs\x00', &(0x7f0000000540)='./file0\x00', 0x0, 0x1, &(0x7f00000003c0)=[{&(0x7f0000001c80)="21100e2e9a53ac3a772916a6687f174b97be82d1bc68e9b4faf0b5cc4efa608447c2d45fa3454616904de2e3c5ebbd846ab086b54359aa5a3c67a9fa70b9c8c4d625146707b315e7fdfeb5c79e86468bf395df8f3c8bc1aa80e40fe86a85b6e730cf82b86d06944861b8cb0228ab0deed40282d26f3a3d9f99fb1a8af041d11ea4001c7bfeaaac7f71f982e2f2aea0f7f1d98d40012c63d4b7765a2e90904dbffa5a8b54dd8d372c80f760e0eaf5e2934ef42d201eb26aa95a0f9ecae295a4d163f99dcbff4f9590ac0955dc7286fb1e22b64f845c9b111b8f76735509d41cea5a229c607b0c5778ee77248fba4682c821798a0fbacf68007ff720037710ade40b990239f9098630ce3558020c26ba8af984fc983db26a668b345adf9ee80a529f40278db8f7d830a28df4bfac4d818f28be7db5a1c4ea103d9e4471750c3aa7af9fb001aeb4a2a3bd7202f5987c95a53e70c141f0d4236070ee50a897c4c4b167d5c9eadfe98cfceac1bc9817bad8da81b875ecafc0499223b4d794e45d7289e1a3a0f91068044aa24e533c8fd91f1909532bf6badf5e3ca9e7ef3c2c8aed89eae8ff8a7dddf76687cad5b3f693e8c2a210b89ed6c8b6eacd720af2a7bad4a0d3c8d3bae833d3a5be1cffe9c116b0895c2d85a44137f94979458fa9def5ef84909efbce407a1cfac9a16696b01d44cc053d97d2a8d4390a7206ff80fdca23d3c71aa0071f6c6c4309901ef50931ce9ce93079e3e5a93315a4aa51a16b033dae870421a99301428337422fa27e478433d637fe769eaa2537a0223dafb9ae8e0c31d1a06fc576f81e756da83f7d966c4a38b420af0d34e3bdafbba2e10412a0b7b54c9e5c949d0e9b898694b927af105c70e9a78653c99d87ed9f8d0a93773f1f9d55181831f6d6dae006989d80a1e1dd396858e452bac240b14c48c4f5579ef53e1eba33a9cfc75c3b5eaf8ec27316e11fc9773b153f88774a96b24039ac7b199125c826a56a1118a29875329db4a8a9a2569b42f425d26ca1d9a7ef2b9234558a78a9834eeeb66b42fc2782577eece05d1ddffcfba34fd47124cff626fedc3e279091755fdf00ba02d2e7e975df5e71c8f53bbfb98a15c753a75a008bae02319686fc78327a3ae01ffa87c42767216064d7897e44a41cd2f9ab9838779a31de5572987982f62313afc5b1f8f63c77b085bbe05b3f2e767815967020502b7b77e33bed1ab99465b1f308beae08bf9c993bb2e5dc0fff039acfe46632a13202b09c9777607d2cfa4014e15f3958150768de1b0bb9dd1c07147824770da9bb49917dea690698f55e7fb2b442e1408bfddd65ff60aa07cd30374a8b06475287257db6e8b45725a23b7239062ecafa1187fcd1061178e6effc34cc7a2d5990103d8a4c434facabf86f75baf41536c94bac3ea8b56f6363ad2b60533139530c4508d6c95ca85dd9f209d69e46d8c6890fc07f4ee02f673d16c9ce2c0cc48ea44a80313a9baf23f28c2fd3e452911c173b375f5f1b2b3eaf2cc3b425aea365b916ebb2fe60a6c9f8619fe6735f424955bb67361bed45414ebc019519ae45aec319103ecb26c200c7ac727f08348b79511ec864a85d1ed3c3edaa0a5c44a92ab2456d249e5c5b78dd51823bddfe87e4792665d8e89b0e160aa2649b62529119e8e72139397f8bd02fd53a7c812164f5a3150582459e9a773b7cb20e3b549646f4e042b22a045bf5471668babede442ef763e395675d6e0820c3292812c611c1413a312552ea1f436ebcc9dc3b6417aefb72ed77f2a428a1676d3821c103b90a8d6841ea5d62e918332a0a66be02bffcc7232627a04098bd9d6269546c51861173052952a41706d4d24f2e6c67a23f62434df32387d5dea349c4f9d1ad8b42bdaf4c90c1d7089f7a2c669706b04d30fbe4a5f749d0de5ca16d4836100a4356694732fa8ec7ad62a4204f7603670098bb8e218bd83306e57c8add73c52763351627534f5feba5d5504dfdcdca04e308d191d3a5d2fb27daa01dfa247be67537fe7eab04ba4b8115900c2db61361144a88565f98a7f419dacaffa54e5012f141b4211e8de9bd32b8540ca12da616fa039f06917a7d650fe06af44bb1389e2411e660f9147f2cdfbeec341b033e0a72006ad648a210405da3fc5f75d14201b371c16944036b615cabc197c5edebd603e5f9958a46a6eabd0df1e5636254f2c5491283eca0dc0f5498be60d8d4a25b9b1b8123fa01fb59b58fedc4ce84fae795fbd07281d73f67d682899cb93ab3c5c2c10c085b8a3977466c022857c6eb37e9a13d40ec7cc0a6783c3693761ed456e209e07907b2486ef614a0baea1ea3102c8f3c050e52c674e32ad809bab15718b97f4c525eb3ae7a17e3857d11b1f379a849c1e87d85a432a1f1d301bde098db28be8db9e5e220a890c2634c0dc3cfc1a7c20da2669d63ceb71aa176712556849e6b92d2ea833546db067c41b7ab8aebbf24b5e473b518dac188bebc76868e3725098b0cc6d1fc1b3bf6c88e99b666919c8ce851f881db8fcc2ed2d29af2526366a815d66fc64809fbd4e63d4ad329406d4ad9dad73d70ab46b355084e1d213337f340766681083a7e5cb9818a01e7696d5d5dbc542054e578f9fea98dabbf5eff44f6425ff8cae48f78e9f7d5dbfbb77ecc4f754946e89c605f9f2d32bd85edf7e6686066131c013e35d998fdcb8a26ddf37ce5a259566074cbe6efe9578545508ed28af832da9c5387749c028b5ee25b762f98e2208bb719910fec14176240aaa32d67dfc655838f435e1b38cdeadb319105bfb374aacd0a35e2b3c3112bd05a62512f2e3fd169b434a47fe9374db9bab592e621496fda1c2c537a0f82b06df391b6898a45b13fb461a6b8e1f26c036e23883611811c7d31cb02f645ac177adb25e247eaa076f569962d7820eb0543a41aca346358837bc24fe1876bf0ea24430c506b5455a27f8cb1a7a0b986bc45441d54398ae6aee8f86a91d485c80b5969d734a65e6561b1887458747acfad72d0c0ae3b46ca592790500faee5c0b2ff9c7862d9bbf030a5a95245028f87af4a370969550143237199fc95b16da02626415f1677e79db20cf0628fb574e33e1b41200053623899b11edc232dd7b65120a4677f8b231c98d1231cb966b2004f4ce1e8e419e4a06dcdbfc5d6d43a0c24cde5120a0c72fce2a1e2abf0cdd16621576097686082f4b4b5948c3d5f30415006390607f199d0c486bea1a9652c03fb58b6b579340e2f7853308863639879ce95c2fbdd6e193129ad3f951810b9156ebe3de9c749e54d6e2e0f0b0d9f9e7670a4ae37ecb4b8999f5f813e919933f5dbaa48f9f1c4206c2f63084a6d1e2748bde24fcf2a1a0b8601e9dec1f92a8aeb59a8e551292c273af42de05b47f367cd33131be6971d018ed455fc778e59820e001f4a765239172b9c7659ff5a9420b0bae63d777fcfd60a7ea1cd527e20b3550993839e1b6b973b822a06ee0b1d6134423e5f3763604b2c1d282907d4f809d36dd0edf3dcc8d10bb8f831c249ec2438ed46324a484b2d00a2ab03985ed3a0c53201c062f7ac66c95d576cc99bd92457ab72e6332161925c90073c082940eb8e23ab7d699fea122487de18cd8ebe7d8e43a5fce31d58fb64b307968ea49b3082550027c7bb91e2c3ff33e22248db21e4e5c8218f19f588b6b72362b48af6d7eb302a59411e0efe2774bb8cd5b8a01be362cf3bff827b0ad1abe3c5ae024f10944b2c06d7063c9b280333b5e1b83ed6a26635cdc89913cd9e305ec30ed467de6c10d82de51afb76850a96a4defff94a6c32442b9be1a78eb9ab282800a0141addf6fe0492b109b685f2770c5f2703e9bfae726bb7447ad0f8ed0b9f5e6286ed0ea612fe0d73a92ba554ad7939b5b9b8bbd209494fcd98b901b1614b77c5d873d48225509c9f4a8f50713ca8994acc73c6eb7461d7d9de4a18d64db9fc7f0fbc6372ed92e68683992b0eaee35f3500f63dafc813fcf4c206aaf6aafad23440beccda258de0fd01f9683272cc6c63dea8544f3a1231d42d8ec564e2ded2f01942433c465f89ef9be93c6c4bafa014bb3827f26a306033b8dec2ae325d363ae5a3163c1984b43390ab8224dc6c29119ac8df290e27e3451f6ec5d543c8cdf172534560a41f95117e603ccd4069d1ad72de4f10bf0f1a9ad29415e58cd4357732ef26167b3d1c5f0113be1db372961fc75cd8bf45ce2facbd90b86ed1380689b1ef426794c494e36cb5c526cd66e652ca532022c2f8952b7438fffa5124089338c8b9da1d809c89e4c355780a60a50be5892dbbc09cd06c75550df23f8f26b9fd217d5a6e137c43711acc43dc3bc51ae043fea1d225f647d2b0b65438b5b8573fd3630e9cbbf0c5c5cebea3286c43be5879ac120d6fd62c2b029c13360b2b4004a4db56109c09de3bf6eb1cd1ac7aac1470eeb6227981ea82f87a43a853d9e100495cd36fd4d04a45dc65a1c600ebf4b873e7bc39fda20d2ef55e89bb6b10c5411d1ddf51d6e37527e36ef9b86610a91357390e8233388a9935185f30f5f4c7845d0e7969002e2899fa09d171618dd6921652f5527ac09869d3bfa2e36175e5305ca804c51dd46b48e594eb24b2f04460535678355c5da7b10be523eadb3a4d313664f950a81390a2fa42969f2f2302dea4fbfe05b86143189d6e7ea00b01b926c2802cc0524eda22fb4784fe9fb62aa2bcd0f0c52558f7136a07d8e23a9e4c07efea11a0e098a073780463ce726b7110faa66d57eb88887fc78020ee9f321b312dfbd162a90f21bb7b74d8bccf56f7b4ca8f50b7e876e82953cc38d6ce2b896978e3db4909000484ae0628270789dad73df824e66cc89351efd3109b98342cb3844e0d4a1afba3079627d15627cfef6d966d58f182aa1103ed4750d88b562aeb5793806d0b23d474d6a1630fd109afffac5079aaca33e6075ca83c2ea79c727aa9536b7a06ae5143ecf89c0e0c720fad0f86b62ca962f4d90dbbd7b4f1a36298a6b4fa98ca6edc08edd8268dbb89ad2c804723096a43e625b8dfce6bd4a655f104bb763c21176357d6bb22f0362ac815fe81c5faefff0c6ada6919bd0528671ae52464b45a09c5acd990d53ec98d68a02812ac0a350b0dd872725688d705a339cad4c3eef3746d4bd4408a8193ab17a55fe8bc6e33168576c96eb367e38954193125fe63342be702f596a9739ce80ccd6819b5003f51d3b53a023ededf5ec8ae3b4b95e0d6318e610f92fc7dde568da560975c7d204626a6a3aa5ddd8168d39349ec7ef4fb61e508ee0918fd52376b9ad90db6f9eff6a5ccee1a49b7e8b20af95c7fbf4d7a1579c36cfd6f3c1a9c54e662658c691c14dd46a275b3081ed2b42dcbeed78c101e8ad74706733ec49bb7b9d2b4372ed1540711214d081b82830e0b3af9b1243793dce12f895130f9ab396c43f90df1fcba813716789e83651c5a25bd0347e3cf5b47f2fec68dcbae4989bb705e59c11202bbd092fc7ab07916be9f042162551ec6ae071b091285abd9e44834c8da7c4f378c0bba52e196824dd1da258ba80ebd0d3880be4d6d521d0d2c10e921eb24bc2c3f510ace79e312e8effcb779b99598dfc44bba9ed1b04a516fc354a9a381685eb055e12f819caffa88baa131fa068c4202a11a7b672d33791c9e2299a4666ae48a39d526e0e629dba0e37eb556bff9f47a53d217425041c38948f280662b160d6668977d9807714650d9356fb0a664c01b746e74cbdbd70d3f4a9a23e05a372121771e98defe94ef870f4d52224251a5c9de", 0xffd, 0x3}], 0x0, &(0x7f0000000480)=ANY=[@ANYBLOB='resize']) [ 2129.395555][T11354] input: syz0 as /devices/virtual/input/input50 [ 2129.467297][T11728] usb 2-1: New USB device found, idVendor=0dba, idProduct=1000, bcdDevice= 0.40 [ 2129.476573][T11728] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2129.484655][T11728] usb 2-1: Product: syz [ 2129.489122][T11728] usb 2-1: Manufacturer: syz [ 2129.493815][T11728] usb 2-1: SerialNumber: syz [ 2129.545411][T21655] unregister_netdevice: waiting for lo to become free. Usage count = 1 16:14:00 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@ipv6_delrule={0x30, 0x18, 0x1, 0x0, 0x0, {0xa, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8}, [@FRA_DST={0x14, 0x1, @dev}]}, 0x30}}, 0x0) 16:14:00 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1b0000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:01 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f00000004c0)='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f0000000300)='fuse\x00', 0x0, &(0x7f0000000240)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}}) write$FUSE_NOTIFY_STORE(r0, &(0x7f0000000480)={0x29, 0x4, 0x0, {0x1, 0x8000000000000000, 0x1, 0x0, [0x0]}}, 0x29) [ 2129.981882][T11370] resize option for remount only [ 2130.181960][T11728] usb 2-1: USB disconnect, device number 67 [ 2130.256520][T11380] IPv6: RTM_NEWROUTE with no NLM_F_CREATE or NLM_F_REPLACE [ 2130.263988][T11380] IPv6: NLM_F_CREATE should be set when creating new route [ 2130.271498][T11380] IPv6: NLM_F_CREATE should be set when creating new route [ 2130.955530][T11728] usb 2-1: new high-speed USB device number 68 using dummy_hcd [ 2131.145865][T11728] usb 2-1: device descriptor read/64, error 18 [ 2131.415420][T11728] usb 2-1: new high-speed USB device number 69 using dummy_hcd 16:14:02 executing program 1: r0 = syz_usb_connect$cdc_ecm(0x0, 0x92, &(0x7f0000000500)=ANY=[@ANYBLOB="1201000002000008ba0d0010400001020301090280000101000000090400ff0302061400052406000005240000000d240f010000000000000000000c241b07000104070104007f0524150500082407e30000f8ff06240701050008241c04001f3c0d152412feffa317a88b045e4f01a607c0ffcb7e392a090581030004"], 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cpu.stat\x00', 0x275a, 0x0) syz_usb_connect$cdc_ecm(0x0, 0x0, 0x0, &(0x7f0000000440)={0xa, &(0x7f00000001c0)={0xa}, 0x0, 0x0}) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x1000)=nil, 0x1000, 0x9, 0x10012, r1, 0x0) syz_usb_ep_write(r0, 0x0, 0x2, &(0x7f0000000180)='\x00[') [ 2131.618713][T11728] usb 2-1: device descriptor read/64, error 18 16:14:02 executing program 4: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x8}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x2400, 0x6) r1 = syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000180)=[{&(0x7f0000000000)="eb3c906d6b66732e66617400028001000240000004f8", 0x16}, {0x0, 0x0, 0x10e00}, {&(0x7f00000002c0)="5692ea964dcf82b5fb3b3f3d98b4e5c301fbee222990d95c3bfedb600cbebbbaba0b97f3767b60c7c558521581d5b44b1a8f2f81aefc21ee8bb9268b4d258eb03d5702cd6be320a525976c04cb86ca80fc457d1dcf9c4728ccd95ee3b6ca03db68041b16a2f863c4d9bb358a97b842d920e217e69b7bd24c5d620467630ce56fe8822f92e57d9f77ba8bd978aebbccf612ab94575354a0dd8cf2cfdcbc7be0e3ffc7c283a2c713c0b9437c59cae8989fbf43d3cd574dff35d3d59a2e8afedfdb556f935bbc316e143be3acdadd51ed3db28524fef288e8d51fd04c0d13a4318a8a1bbfce9d017f01c50b6af357984442d8046ec47334375399494f68130ff34b7b25091b205eb42f16f9c90c2481a68de0c8f8bf8dfb7de56c5969203e949bedb3bd5450f9c30c0f60ae552f17d1ae327a3bffba1b08a5f456145b4c01ec352d0579321dcb9a767af4f10a21a1175e28008dc1df91b72c72905d78e57181a315fde0d1b847a41131506d219d7fad497b46a0930ec3cf6b649af203fecca08a042bbfb6a7bfc2af3d5774a9172f5da422860830e69587addea8a4477270e3df29bc87d5869aca11fe41f5a8dd1c5526d56639208bc04cb34566704da90564e7ed266b66bf3c1e0a08884fae2b321e73bdab5697eeb000ec958dc3f924b29956f602e5e1eb548f17476a0fc77f1ea466ab10ddf555e1bb7fdc7b80f29c9b703b48f1b39ba17b1ea34a618dcb982ca54000a314d6d72f51207992fda93428bbcd506ad7c87136c8219691dcf11c87e94035d4875bfa9dc8456bf959993b12b7786385a026fb048f61b923f9477ddd450e2a9c27ccad36023657d5b1eef32b0739b4baeb240eae136d27adcf9b10995644a411ec02fb4920004d2f2cce2e5b3a670487de94098a239731bcec0784d381eca5935b4165a3e0b03bf77dfff63dbe0de27989d69bc9b62cd27614a813f83b64dc6e3aa4a423e1f2ded79fd85fa71f308fd98250c38424108c009bfbe561483e08d03e52013b0e6b686a8cb61238178e5c3fdae87d6b4f77a720663ca8e07f8f68a1973c3440f56ca33a39eb83faff876573d360971cf57c391ff7dabd853410fb8cc580f2ee7b537720fbbb", 0x31b, 0xe6}], 0x0, &(0x7f0000000600)=ANY=[@ANYBLOB="756e695f786c6174653d302c757466383d3100001bff25c252c4d4f83306e5dd03a89854272ae90e1ad3279ffadeca430c62cf633449044c74834113d7c02fe9becef4f419aa1ea67fbe9a2995757200722de3a67a7534f4f040aa83c7b030f39c9745148e651246fbc0dde80b532d4d806cc8ae00bd347e8a451b8f5c740ff7847724fa00545c6100052e886a4906fd7ad0294cdcc3c96fbf47c427815e9a00e5d461b28776053abef2810448741402ef59239b7462627397587616fd90f5f8293be15b15764430ccf37be2211a643f0000000000"]) mknodat(r1, &(0x7f0000000140)='./file0\x00', 0x0, 0x0) r2 = bpf$ITER_CREATE(0x21, &(0x7f0000000900), 0x8) ioctl$PERF_EVENT_IOC_REFRESH(r2, 0x2402, 0x12d0ae74) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x84842, 0x0) syncfs(r3) ioctl$LOOP_SET_FD(0xffffffffffffffff, 0x4c00, 0xffffffffffffffff) openat(r2, &(0x7f0000000a40)='./file0/file0\x00', 0x8000, 0x10a) setxattr$security_evm(&(0x7f0000000040)='./file0/file0\x00', &(0x7f0000000200)='security.evm\x00', &(0x7f0000000240)=@md5={0x1, "ffd13277d9eb972e5f8c8d342e1241a2"}, 0x11, 0x0) ioctl$BTRFS_IOC_RESIZE(r0, 0x50009403, &(0x7f0000000940)={{r1}, {@void, @max='max'}}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000000700)) close(0xffffffffffffffff) 16:14:02 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1ba000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:02 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCETHTOOL(r0, 0x8946, &(0x7f00000004c0)={'xfrm0\x00', &(0x7f0000000200)=@ethtool_per_queue_op={0x4b, 0x10}}) 16:14:02 executing program 5: r0 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000440)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000000c0)=@newqdisc={0x8c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r1, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_taprio={{0xb, 0x1, 'taprio\x00'}, {0x5c, 0x2, [@TCA_TAPRIO_ATTR_PRIOMAP={0x56, 0x1, {0x1, [0x0, 0x2]}}]}}]}, 0x8c}}, 0x0) 16:14:02 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@ipv6_delrule={0x30, 0x18, 0x1, 0x0, 0x0, {0xa, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8}, [@FRA_DST={0x14, 0x1, @dev}]}, 0x30}}, 0x0) [ 2131.745830][T11728] usb usb2-port1: attempt power cycle [ 2131.942035][T11416] IPv6: RTM_NEWROUTE with no NLM_F_CREATE or NLM_F_REPLACE 16:14:03 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1c0000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:03 executing program 5: sync() sync() sync() 16:14:03 executing program 2: unshare(0x2040400) fstatfs(0xffffffffffffffff, 0x0) 16:14:03 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@ipv6_delrule={0x30, 0x18, 0x1, 0x0, 0x0, {0xa, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8}, [@FRA_DST={0x14, 0x1, @dev}]}, 0x30}}, 0x0) [ 2132.272715][T11420] FAT-fs (loop4): bogus number of FAT sectors [ 2132.279124][T11420] FAT-fs (loop4): Can't find a valid FAT filesystem [ 2132.399821][T11423] FAT-fs (loop4): bogus number of FAT sectors [ 2132.406179][T11423] FAT-fs (loop4): Can't find a valid FAT filesystem [ 2132.455957][T11728] usb 2-1: new high-speed USB device number 70 using dummy_hcd [ 2132.568518][T11728] usb 2-1: Using ep0 maxpacket: 8 16:14:03 executing program 4: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x8}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x2400, 0x6) r1 = syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000180)=[{&(0x7f0000000000)="eb3c906d6b66732e66617400028001000240000004f8", 0x16}, {0x0, 0x0, 0x10e00}, {&(0x7f00000002c0)="5692ea964dcf82b5fb3b3f3d98b4e5c301fbee222990d95c3bfedb600cbebbbaba0b97f3767b60c7c558521581d5b44b1a8f2f81aefc21ee8bb9268b4d258eb03d5702cd6be320a525976c04cb86ca80fc457d1dcf9c4728ccd95ee3b6ca03db68041b16a2f863c4d9bb358a97b842d920e217e69b7bd24c5d620467630ce56fe8822f92e57d9f77ba8bd978aebbccf612ab94575354a0dd8cf2cfdcbc7be0e3ffc7c283a2c713c0b9437c59cae8989fbf43d3cd574dff35d3d59a2e8afedfdb556f935bbc316e143be3acdadd51ed3db28524fef288e8d51fd04c0d13a4318a8a1bbfce9d017f01c50b6af357984442d8046ec47334375399494f68130ff34b7b25091b205eb42f16f9c90c2481a68de0c8f8bf8dfb7de56c5969203e949bedb3bd5450f9c30c0f60ae552f17d1ae327a3bffba1b08a5f456145b4c01ec352d0579321dcb9a767af4f10a21a1175e28008dc1df91b72c72905d78e57181a315fde0d1b847a41131506d219d7fad497b46a0930ec3cf6b649af203fecca08a042bbfb6a7bfc2af3d5774a9172f5da422860830e69587addea8a4477270e3df29bc87d5869aca11fe41f5a8dd1c5526d56639208bc04cb34566704da90564e7ed266b66bf3c1e0a08884fae2b321e73bdab5697eeb000ec958dc3f924b29956f602e5e1eb548f17476a0fc77f1ea466ab10ddf555e1bb7fdc7b80f29c9b703b48f1b39ba17b1ea34a618dcb982ca54000a314d6d72f51207992fda93428bbcd506ad7c87136c8219691dcf11c87e94035d4875bfa9dc8456bf959993b12b7786385a026fb048f61b923f9477ddd450e2a9c27ccad36023657d5b1eef32b0739b4baeb240eae136d27adcf9b10995644a411ec02fb4920004d2f2cce2e5b3a670487de94098a239731bcec0784d381eca5935b4165a3e0b03bf77dfff63dbe0de27989d69bc9b62cd27614a813f83b64dc6e3aa4a423e1f2ded79fd85fa71f308fd98250c38424108c009bfbe561483e08d03e52013b0e6b686a8cb61238178e5c3fdae87d6b4f77a720663ca8e07f8f68a1973c3440f56ca33a39eb83faff876573d360971cf57c391ff7dabd853410fb8cc580f2ee7b537720fbbb", 0x31b, 0xe6}], 0x0, &(0x7f0000000600)=ANY=[@ANYBLOB="756e695f786c6174653d302c757466383d3100001bff25c252c4d4f83306e5dd03a89854272ae90e1ad3279ffadeca430c62cf633449044c74834113d7c02fe9becef4f419aa1ea67fbe9a2995757200722de3a67a7534f4f040aa83c7b030f39c9745148e651246fbc0dde80b532d4d806cc8ae00bd347e8a451b8f5c740ff7847724fa00545c6100052e886a4906fd7ad0294cdcc3c96fbf47c427815e9a00e5d461b28776053abef2810448741402ef59239b7462627397587616fd90f5f8293be15b15764430ccf37be2211a643f0000000000"]) mknodat(r1, &(0x7f0000000140)='./file0\x00', 0x0, 0x0) r2 = bpf$ITER_CREATE(0x21, &(0x7f0000000900), 0x8) ioctl$PERF_EVENT_IOC_REFRESH(r2, 0x2402, 0x12d0ae74) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x84842, 0x0) syncfs(r3) ioctl$LOOP_SET_FD(0xffffffffffffffff, 0x4c00, 0xffffffffffffffff) openat(r2, &(0x7f0000000a40)='./file0/file0\x00', 0x8000, 0x10a) setxattr$security_evm(&(0x7f0000000040)='./file0/file0\x00', &(0x7f0000000200)='security.evm\x00', &(0x7f0000000240)=@md5={0x1, "ffd13277d9eb972e5f8c8d342e1241a2"}, 0x11, 0x0) ioctl$BTRFS_IOC_RESIZE(r0, 0x50009403, &(0x7f0000000940)={{r1}, {@void, @max='max'}}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000000700)) close(0xffffffffffffffff) [ 2132.687127][T11728] usb 2-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 2132.697758][T11728] usb 2-1: config 1 interface 0 altsetting 255 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 2132.705240][T11436] IPv6: RTM_NEWROUTE with no NLM_F_CREATE or NLM_F_REPLACE [ 2132.709226][T11728] usb 2-1: config 1 interface 0 altsetting 255 has 1 endpoint descriptor, different from the interface descriptor's value: 3 [ 2132.729599][T11728] usb 2-1: config 1 interface 0 has no altsetting 0 16:14:04 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1c6000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2133.136942][T11728] usb 2-1: New USB device found, idVendor=0dba, idProduct=1000, bcdDevice= 0.40 [ 2133.146487][T11728] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2133.154597][T11728] usb 2-1: Product: syz [ 2133.159296][T11728] usb 2-1: Manufacturer: syz [ 2133.166357][T11728] usb 2-1: SerialNumber: syz [ 2133.263499][T11442] FAT-fs (loop4): bogus number of FAT sectors [ 2133.276742][T11442] FAT-fs (loop4): Can't find a valid FAT filesystem [ 2133.824029][T29213] usb 2-1: USB disconnect, device number 70 16:14:05 executing program 1: r0 = syz_usb_connect$cdc_ecm(0x0, 0x92, &(0x7f0000000500)=ANY=[@ANYBLOB="1201000002000008ba0d0010400001020301090280000101000000090400ff0302061400052406000005240000000d240f010000000000000000000c241b07000104070104007f0524150500082407e30000f8ff06240701050008241c04001f3c0d152412feffa317a88b045e4f01a607c0ffcb7e392a090581030004"], 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cpu.stat\x00', 0x275a, 0x0) syz_usb_connect$cdc_ecm(0x0, 0x0, 0x0, &(0x7f0000000440)={0xa, &(0x7f00000001c0)={0xa}, 0x0, 0x0}) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x1000)=nil, 0x1000, 0x9, 0x10012, r1, 0x0) syz_usb_ep_write(r0, 0x0, 0x2, &(0x7f0000000180)='\x00[') 16:14:05 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@ipv6_delrule={0x30, 0x18, 0x1, 0x0, 0x0, {0xa, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8}, [@FRA_DST={0x14, 0x1, @dev}]}, 0x30}}, 0x0) 16:14:05 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r4, @ANYBLOB="00000400ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000004c0)=@newtfilter={0x24, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff3, 0x4}}}, 0x24}}, 0x0) 16:14:05 executing program 5: r0 = 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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$sock_int(r1, 0x1, 0x6, &(0x7f0000000140)=0xffff, 0x4) bind$inet(r1, &(0x7f0000000940)={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x35}}, 0x10) dup(r0) ioctl$PERF_EVENT_IOC_SET_OUTPUT(r0, 0x2405, 0xffffffffffffffff) setsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, 0x0) connect$inet(r1, &(0x7f0000000500)={0x2, 0x0, @broadcast}, 0x10) setsockopt$inet_mtu(r1, 0x0, 0xa, &(0x7f0000000040)=0x3, 0x4) ioctl$KDFONTOP_COPY(0xffffffffffffffff, 0x4b72, 0x0) sendmmsg(r1, &(0x7f0000007fc0), 0x4000000000001a8, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r1, 0x8933, &(0x7f0000000000)={'wg0\x00'}) 16:14:05 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1cc000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:05 executing program 4: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x8}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x2400, 0x6) r1 = syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000180)=[{&(0x7f0000000000)="eb3c906d6b66732e66617400028001000240000004f8", 0x16}, {0x0, 0x0, 0x10e00}, {&(0x7f00000002c0)="5692ea964dcf82b5fb3b3f3d98b4e5c301fbee222990d95c3bfedb600cbebbbaba0b97f3767b60c7c558521581d5b44b1a8f2f81aefc21ee8bb9268b4d258eb03d5702cd6be320a525976c04cb86ca80fc457d1dcf9c4728ccd95ee3b6ca03db68041b16a2f863c4d9bb358a97b842d920e217e69b7bd24c5d620467630ce56fe8822f92e57d9f77ba8bd978aebbccf612ab94575354a0dd8cf2cfdcbc7be0e3ffc7c283a2c713c0b9437c59cae8989fbf43d3cd574dff35d3d59a2e8afedfdb556f935bbc316e143be3acdadd51ed3db28524fef288e8d51fd04c0d13a4318a8a1bbfce9d017f01c50b6af357984442d8046ec47334375399494f68130ff34b7b25091b205eb42f16f9c90c2481a68de0c8f8bf8dfb7de56c5969203e949bedb3bd5450f9c30c0f60ae552f17d1ae327a3bffba1b08a5f456145b4c01ec352d0579321dcb9a767af4f10a21a1175e28008dc1df91b72c72905d78e57181a315fde0d1b847a41131506d219d7fad497b46a0930ec3cf6b649af203fecca08a042bbfb6a7bfc2af3d5774a9172f5da422860830e69587addea8a4477270e3df29bc87d5869aca11fe41f5a8dd1c5526d56639208bc04cb34566704da90564e7ed266b66bf3c1e0a08884fae2b321e73bdab5697eeb000ec958dc3f924b29956f602e5e1eb548f17476a0fc77f1ea466ab10ddf555e1bb7fdc7b80f29c9b703b48f1b39ba17b1ea34a618dcb982ca54000a314d6d72f51207992fda93428bbcd506ad7c87136c8219691dcf11c87e94035d4875bfa9dc8456bf959993b12b7786385a026fb048f61b923f9477ddd450e2a9c27ccad36023657d5b1eef32b0739b4baeb240eae136d27adcf9b10995644a411ec02fb4920004d2f2cce2e5b3a670487de94098a239731bcec0784d381eca5935b4165a3e0b03bf77dfff63dbe0de27989d69bc9b62cd27614a813f83b64dc6e3aa4a423e1f2ded79fd85fa71f308fd98250c38424108c009bfbe561483e08d03e52013b0e6b686a8cb61238178e5c3fdae87d6b4f77a720663ca8e07f8f68a1973c3440f56ca33a39eb83faff876573d360971cf57c391ff7dabd853410fb8cc580f2ee7b537720fbbb", 0x31b, 0xe6}], 0x0, &(0x7f0000000600)=ANY=[@ANYBLOB="756e695f786c6174653d302c757466383d3100001bff25c252c4d4f83306e5dd03a89854272ae90e1ad3279ffadeca430c62cf633449044c74834113d7c02fe9becef4f419aa1ea67fbe9a2995757200722de3a67a7534f4f040aa83c7b030f39c9745148e651246fbc0dde80b532d4d806cc8ae00bd347e8a451b8f5c740ff7847724fa00545c6100052e886a4906fd7ad0294cdcc3c96fbf47c427815e9a00e5d461b28776053abef2810448741402ef59239b7462627397587616fd90f5f8293be15b15764430ccf37be2211a643f0000000000"]) mknodat(r1, &(0x7f0000000140)='./file0\x00', 0x0, 0x0) r2 = bpf$ITER_CREATE(0x21, &(0x7f0000000900), 0x8) ioctl$PERF_EVENT_IOC_REFRESH(r2, 0x2402, 0x12d0ae74) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x84842, 0x0) syncfs(r3) ioctl$LOOP_SET_FD(0xffffffffffffffff, 0x4c00, 0xffffffffffffffff) openat(r2, &(0x7f0000000a40)='./file0/file0\x00', 0x8000, 0x10a) setxattr$security_evm(&(0x7f0000000040)='./file0/file0\x00', &(0x7f0000000200)='security.evm\x00', &(0x7f0000000240)=@md5={0x1, "ffd13277d9eb972e5f8c8d342e1241a2"}, 0x11, 0x0) ioctl$BTRFS_IOC_RESIZE(r0, 0x50009403, &(0x7f0000000940)={{r1}, {@void, @max='max'}}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000000700)) close(0xffffffffffffffff) [ 2134.552279][T11473] IPv6: RTM_NEWROUTE with no NLM_F_CREATE or NLM_F_REPLACE [ 2134.605563][T11479] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2134.667832][T11484] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 16:14:05 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r4, @ANYBLOB="00000400ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000004c0)=@newtfilter={0x24, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff3, 0x4}}}, 0x24}}, 0x0) [ 2134.799220][T11471] FAT-fs (loop4): bogus number of FAT sectors [ 2134.807484][T11471] FAT-fs (loop4): Can't find a valid FAT filesystem 16:14:06 executing program 3: r0 = syz_open_dev$dri(&(0x7f0000000000)='/dev/dri/card#\x00', 0x1, 0x0) ioctl$DRM_IOCTL_MODE_OBJ_SETPROPERTY(r0, 0xc01864ba, &(0x7f0000000080)={0x0, 0x0, 0x1}) 16:14:06 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1d2000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:06 executing program 4: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x8}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x2400, 0x6) r1 = syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000000180)=[{&(0x7f0000000000)="eb3c906d6b66732e66617400028001000240000004f8", 0x16}, {0x0, 0x0, 0x10e00}, {&(0x7f00000002c0)="5692ea964dcf82b5fb3b3f3d98b4e5c301fbee222990d95c3bfedb600cbebbbaba0b97f3767b60c7c558521581d5b44b1a8f2f81aefc21ee8bb9268b4d258eb03d5702cd6be320a525976c04cb86ca80fc457d1dcf9c4728ccd95ee3b6ca03db68041b16a2f863c4d9bb358a97b842d920e217e69b7bd24c5d620467630ce56fe8822f92e57d9f77ba8bd978aebbccf612ab94575354a0dd8cf2cfdcbc7be0e3ffc7c283a2c713c0b9437c59cae8989fbf43d3cd574dff35d3d59a2e8afedfdb556f935bbc316e143be3acdadd51ed3db28524fef288e8d51fd04c0d13a4318a8a1bbfce9d017f01c50b6af357984442d8046ec47334375399494f68130ff34b7b25091b205eb42f16f9c90c2481a68de0c8f8bf8dfb7de56c5969203e949bedb3bd5450f9c30c0f60ae552f17d1ae327a3bffba1b08a5f456145b4c01ec352d0579321dcb9a767af4f10a21a1175e28008dc1df91b72c72905d78e57181a315fde0d1b847a41131506d219d7fad497b46a0930ec3cf6b649af203fecca08a042bbfb6a7bfc2af3d5774a9172f5da422860830e69587addea8a4477270e3df29bc87d5869aca11fe41f5a8dd1c5526d56639208bc04cb34566704da90564e7ed266b66bf3c1e0a08884fae2b321e73bdab5697eeb000ec958dc3f924b29956f602e5e1eb548f17476a0fc77f1ea466ab10ddf555e1bb7fdc7b80f29c9b703b48f1b39ba17b1ea34a618dcb982ca54000a314d6d72f51207992fda93428bbcd506ad7c87136c8219691dcf11c87e94035d4875bfa9dc8456bf959993b12b7786385a026fb048f61b923f9477ddd450e2a9c27ccad36023657d5b1eef32b0739b4baeb240eae136d27adcf9b10995644a411ec02fb4920004d2f2cce2e5b3a670487de94098a239731bcec0784d381eca5935b4165a3e0b03bf77dfff63dbe0de27989d69bc9b62cd27614a813f83b64dc6e3aa4a423e1f2ded79fd85fa71f308fd98250c38424108c009bfbe561483e08d03e52013b0e6b686a8cb61238178e5c3fdae87d6b4f77a720663ca8e07f8f68a1973c3440f56ca33a39eb83faff876573d360971cf57c391ff7dabd853410fb8cc580f2ee7b537720fbbb", 0x31b, 0xe6}], 0x0, &(0x7f0000000600)=ANY=[@ANYBLOB="756e695f786c6174653d302c757466383d3100001bff25c252c4d4f83306e5dd03a89854272ae90e1ad3279ffadeca430c62cf633449044c74834113d7c02fe9becef4f419aa1ea67fbe9a2995757200722de3a67a7534f4f040aa83c7b030f39c9745148e651246fbc0dde80b532d4d806cc8ae00bd347e8a451b8f5c740ff7847724fa00545c6100052e886a4906fd7ad0294cdcc3c96fbf47c427815e9a00e5d461b28776053abef2810448741402ef59239b7462627397587616fd90f5f8293be15b15764430ccf37be2211a643f0000000000"]) mknodat(r1, &(0x7f0000000140)='./file0\x00', 0x0, 0x0) r2 = bpf$ITER_CREATE(0x21, &(0x7f0000000900), 0x8) ioctl$PERF_EVENT_IOC_REFRESH(r2, 0x2402, 0x12d0ae74) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x84842, 0x0) syncfs(r3) ioctl$LOOP_SET_FD(0xffffffffffffffff, 0x4c00, 0xffffffffffffffff) openat(r2, &(0x7f0000000a40)='./file0/file0\x00', 0x8000, 0x10a) setxattr$security_evm(&(0x7f0000000040)='./file0/file0\x00', &(0x7f0000000200)='security.evm\x00', &(0x7f0000000240)=@md5={0x1, "ffd13277d9eb972e5f8c8d342e1241a2"}, 0x11, 0x0) ioctl$BTRFS_IOC_RESIZE(r0, 0x50009403, &(0x7f0000000940)={{r1}, {@void, @max='max'}}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000000700)) close(0xffffffffffffffff) [ 2135.206850][T31196] usb 2-1: new high-speed USB device number 71 using dummy_hcd [ 2135.335828][T11495] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2135.465468][T31196] usb 2-1: Using ep0 maxpacket: 8 [ 2135.596026][T31196] usb 2-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 2135.606824][T31196] usb 2-1: config 1 interface 0 altsetting 255 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 2135.618322][T31196] usb 2-1: config 1 interface 0 altsetting 255 has 1 endpoint descriptor, different from the interface descriptor's value: 3 [ 2135.631997][T31196] usb 2-1: config 1 interface 0 has no altsetting 0 16:14:07 executing program 3: time(&(0x7f0000000180)) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ifreq(r0, 0x8946, &(0x7f0000000240)={'caif0\x00', @ifru_data=&(0x7f0000000200)="03000000678b102e4405c35a077c1eb98d73437c2e46132670f1a808dcb2249d"}) ioctl$sock_ipv6_tunnel_SIOCCHG6RD(r0, 0x89fb, &(0x7f0000000040)={'sit0\x00', &(0x7f00000001c0)={'syztnl0\x00', 0x0, 0x4, 0x45, 0x80, 0x5, 0x40, @initdev={0xfe, 0x88, [], 0x1, 0x0}, @ipv4={[], [], @dev={0xac, 0x14, 0x14, 0x21}}, 0x700, 0x1, 0x8, 0x80000001}}) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x4030014, 0x3, &(0x7f0000000300)=[{&(0x7f0000000080)="200000000001000050000000ce0000000f000000010000000000000000000000002000000020000020000000d7f4655fd7f4655f0100ffff53ef010001000000d7f4655f000000000100000001000000000000000b00000080", 0xff71, 0x400}, {&(0x7f0000010400)="2e0000001300000023", 0x9, 0x800}, {&(0x7f0000012b00)="ed41000000040000d7f4655fd7f4655fd7f4655f000000000000040002", 0x1d, 0x8c80}], 0x0, &(0x7f0000013800)) 16:14:07 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r4, @ANYBLOB="00000400ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000004c0)=@newtfilter={0x24, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff3, 0x4}}}, 0x24}}, 0x0) [ 2136.068758][T31196] usb 2-1: New USB device found, idVendor=0dba, idProduct=1000, bcdDevice= 0.40 [ 2136.078430][T31196] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2136.086694][T31196] usb 2-1: Product: syz [ 2136.091117][T31196] usb 2-1: Manufacturer: syz [ 2136.096027][T31196] usb 2-1: SerialNumber: syz [ 2136.103256][T11509] FAT-fs (loop4): bogus number of FAT sectors [ 2136.111092][T11509] FAT-fs (loop4): Can't find a valid FAT filesystem [ 2136.356815][T11523] [EXT4 FS bs=1024, gc=1, bpg=8192, ipg=32, mo=e802c01c, mo2=0006] [ 2136.400331][T11523] System zones: 1-2, 19-19, 35-38, 46-46 [ 2136.479922][T11523] EXT4-fs (loop3): mounted filesystem without journal. Opts: ,errors=continue [ 2136.489406][T11523] ext4 filesystem being mounted at /root/syzkaller-testdir402832105/syzkaller.rVN35I/1232/file0 supports timestamps until 2038 (0x7fffffff) [ 2136.523787][T11488] not chained 1080000 origins [ 2136.525118][T11488] CPU: 1 PID: 11488 Comm: syz-executor.5 Not tainted 5.10.0-rc4-syzkaller #0 [ 2136.525118][T11488] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 2136.525118][T11488] Call Trace: [ 2136.525118][T11488] dump_stack+0x21c/0x280 [ 2136.555285][T11488] kmsan_internal_chain_origin+0x6f/0x130 [ 2136.555285][T11488] ? kmsan_get_metadata+0x116/0x180 [ 2136.555285][T11488] ? kmsan_get_metadata+0x116/0x180 [ 2136.555285][T11488] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 2136.555285][T11488] ? __msan_metadata_ptr_for_load_8+0x10/0x20 [ 2136.555285][T11488] ? kmsan_get_metadata+0x116/0x180 [ 2136.555285][T11488] ? kmsan_internal_set_origin+0x85/0xc0 [ 2136.555285][T11488] ? kmsan_internal_unpoison_shadow+0x42/0x70 [ 2136.555285][T11488] ? _copy_from_user+0x1fd/0x300 [ 2136.555285][T11488] ? kmsan_get_metadata+0x116/0x180 [ 2136.555285][T11488] __msan_chain_origin+0x57/0xa0 [ 2136.555285][T11488] __get_compat_msghdr+0x6db/0x9d0 [ 2136.555285][T11488] get_compat_msghdr+0x108/0x2b0 [ 2136.555285][T11488] __sys_sendmmsg+0x7d0/0x1070 [ 2136.555285][T11488] ? kmsan_get_metadata+0x116/0x180 [ 2136.555285][T11488] ? kmsan_internal_check_memory+0xb1/0x520 [ 2136.555285][T11488] ? __msan_metadata_ptr_for_load_8+0x10/0x20 [ 2136.555285][T11488] ? should_fail+0x72/0x9e0 [ 2136.555285][T11488] ? _copy_to_user+0x1d2/0x270 [ 2136.555285][T11488] ? kmsan_get_metadata+0x116/0x180 [ 2136.555285][T11488] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 2136.555285][T11488] ? kmsan_get_metadata+0x116/0x180 [ 2136.555285][T11488] ? kmsan_get_metadata+0x116/0x180 [ 2136.555285][T11488] __se_compat_sys_sendmmsg+0xcd/0xf0 [ 2136.555285][T11488] __ia32_compat_sys_sendmmsg+0x56/0x70 [ 2136.555285][T11488] __do_fast_syscall_32+0x102/0x160 [ 2136.555285][T11488] do_fast_syscall_32+0x6a/0xc0 [ 2136.555285][T11488] do_SYSENTER_32+0x73/0x90 [ 2136.555285][T11488] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2136.555285][T11488] RIP: 0023:0xf7f95549 [ 2136.555285][T11488] Code: b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 eb 0d 90 90 90 90 90 90 90 90 90 90 90 90 [ 2136.555285][T11488] RSP: 002b:00000000f558f0cc EFLAGS: 00000296 ORIG_RAX: 0000000000000159 [ 2136.555285][T11488] RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 0000000020007fc0 [ 2136.555285][T11488] RDX: 00000000000001a8 RSI: 0000000000000000 RDI: 0000000000000000 [ 2136.555285][T11488] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 [ 2136.555285][T11488] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 [ 2136.555285][T11488] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 2136.555285][T11488] Uninit was stored to memory at: [ 2136.555285][T11488] kmsan_internal_chain_origin+0xad/0x130 [ 2136.555285][T11488] __msan_chain_origin+0x57/0xa0 [ 2136.555285][T11488] __get_compat_msghdr+0x6db/0x9d0 [ 2136.555285][T11488] get_compat_msghdr+0x108/0x2b0 [ 2136.555285][T11488] __sys_sendmmsg+0x7d0/0x1070 [ 2136.555285][T11488] __se_compat_sys_sendmmsg+0xcd/0xf0 [ 2136.555285][T11488] __ia32_compat_sys_sendmmsg+0x56/0x70 [ 2136.555285][T11488] __do_fast_syscall_32+0x102/0x160 [ 2136.555285][T11488] do_fast_syscall_32+0x6a/0xc0 [ 2136.555285][T11488] do_SYSENTER_32+0x73/0x90 [ 2136.555285][T11488] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2136.555285][T11488] [ 2136.555285][T11488] Uninit was stored to memory at: [ 2136.555285][T11488] kmsan_internal_chain_origin+0xad/0x130 [ 2136.555285][T11488] __msan_chain_origin+0x57/0xa0 [ 2136.555285][T11488] __get_compat_msghdr+0x6db/0x9d0 [ 2136.555285][T11488] get_compat_msghdr+0x108/0x2b0 [ 2136.555285][T11488] __sys_sendmmsg+0x7d0/0x1070 [ 2136.555285][T11488] __se_compat_sys_sendmmsg+0xcd/0xf0 [ 2136.555285][T11488] __ia32_compat_sys_sendmmsg+0x56/0x70 [ 2136.555285][T11488] __do_fast_syscall_32+0x102/0x160 [ 2136.555285][T11488] do_fast_syscall_32+0x6a/0xc0 [ 2136.555285][T11488] do_SYSENTER_32+0x73/0x90 [ 2136.555285][T11488] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2136.555285][T11488] [ 2136.555285][T11488] Uninit was stored to memory at: [ 2136.555285][T11488] kmsan_internal_chain_origin+0xad/0x130 [ 2136.555285][T11488] __msan_chain_origin+0x57/0xa0 [ 2136.555285][T11488] __get_compat_msghdr+0x6db/0x9d0 [ 2136.555285][T11488] get_compat_msghdr+0x108/0x2b0 [ 2136.555285][T11488] __sys_sendmmsg+0x7d0/0x1070 [ 2136.555285][T11488] __se_compat_sys_sendmmsg+0xcd/0xf0 [ 2136.555285][T11488] __ia32_compat_sys_sendmmsg+0x56/0x70 [ 2136.555285][T11488] __do_fast_syscall_32+0x102/0x160 [ 2136.555285][T11488] do_fast_syscall_32+0x6a/0xc0 [ 2136.555285][T11488] do_SYSENTER_32+0x73/0x90 [ 2136.555285][T11488] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2136.555285][T11488] [ 2136.555285][T11488] Uninit was stored to memory at: [ 2136.555285][T11488] kmsan_internal_chain_origin+0xad/0x130 [ 2136.555285][T11488] __msan_chain_origin+0x57/0xa0 [ 2136.555285][T11488] __get_compat_msghdr+0x6db/0x9d0 [ 2136.555285][T11488] get_compat_msghdr+0x108/0x2b0 [ 2136.555285][T11488] __sys_sendmmsg+0x7d0/0x1070 [ 2136.555285][T11488] __se_compat_sys_sendmmsg+0xcd/0xf0 [ 2136.555285][T11488] __ia32_compat_sys_sendmmsg+0x56/0x70 [ 2136.555285][T11488] __do_fast_syscall_32+0x102/0x160 [ 2136.555285][T11488] do_fast_syscall_32+0x6a/0xc0 [ 2136.555285][T11488] do_SYSENTER_32+0x73/0x90 [ 2136.555285][T11488] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2136.555285][T11488] [ 2136.555285][T11488] Uninit was stored to memory at: [ 2136.555285][T11488] kmsan_internal_chain_origin+0xad/0x130 [ 2136.555285][T11488] __msan_chain_origin+0x57/0xa0 [ 2136.555285][T11488] __get_compat_msghdr+0x6db/0x9d0 [ 2136.555285][T11488] get_compat_msghdr+0x108/0x2b0 [ 2136.555285][T11488] __sys_sendmmsg+0x7d0/0x1070 [ 2136.555285][T11488] __se_compat_sys_sendmmsg+0xcd/0xf0 [ 2136.555285][T11488] __ia32_compat_sys_sendmmsg+0x56/0x70 [ 2136.555285][T11488] __do_fast_syscall_32+0x102/0x160 [ 2136.555285][T11488] do_fast_syscall_32+0x6a/0xc0 [ 2136.555285][T11488] do_SYSENTER_32+0x73/0x90 [ 2136.555285][T11488] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2136.555285][T11488] [ 2136.555285][T11488] Uninit was stored to memory at: [ 2136.555285][T11488] kmsan_internal_chain_origin+0xad/0x130 [ 2136.555285][T11488] __msan_chain_origin+0x57/0xa0 [ 2136.555285][T11488] __get_compat_msghdr+0x6db/0x9d0 [ 2136.555285][T11488] get_compat_msghdr+0x108/0x2b0 [ 2136.555285][T11488] __sys_sendmmsg+0x7d0/0x1070 [ 2136.555285][T11488] __se_compat_sys_sendmmsg+0xcd/0xf0 [ 2136.555285][T11488] __ia32_compat_sys_sendmmsg+0x56/0x70 [ 2136.555285][T11488] __do_fast_syscall_32+0x102/0x160 [ 2136.555285][T11488] do_fast_syscall_32+0x6a/0xc0 [ 2136.555285][T11488] do_SYSENTER_32+0x73/0x90 [ 2136.555285][T11488] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2136.555285][T11488] [ 2136.555285][T11488] Uninit was stored to memory at: [ 2136.555285][T11488] kmsan_internal_chain_origin+0xad/0x130 [ 2136.555285][T11488] __msan_chain_origin+0x57/0xa0 [ 2136.555285][T11488] __get_compat_msghdr+0x6db/0x9d0 [ 2136.555285][T11488] get_compat_msghdr+0x108/0x2b0 [ 2136.555285][T11488] __sys_sendmmsg+0x7d0/0x1070 [ 2136.555285][T11488] __se_compat_sys_sendmmsg+0xcd/0xf0 [ 2136.555285][T11488] __ia32_compat_sys_sendmmsg+0x56/0x70 [ 2136.555285][T11488] __do_fast_syscall_32+0x102/0x160 [ 2136.555285][T11488] do_fast_syscall_32+0x6a/0xc0 [ 2136.555285][T11488] do_SYSENTER_32+0x73/0x90 [ 2136.555285][T11488] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 2136.555285][T11488] [ 2136.555285][T11488] Local variable ----msg_sys@__sys_sendmmsg created at: [ 2136.555285][T11488] __sys_sendmmsg+0xca/0x1070 [ 2136.555285][T11488] __sys_sendmmsg+0xca/0x1070 [ 2137.499335][ T2971] usb 2-1: USB disconnect, device number 71 [ 2137.508015][T11532] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. 16:14:09 executing program 1: r0 = syz_usb_connect$cdc_ecm(0x0, 0x92, &(0x7f0000000500)=ANY=[@ANYBLOB="1201000002000008ba0d0010400001020301090280000101000000090400ff0302061400052406000005240000000d240f010000000000000000000c241b07000104070104007f0524150500082407e30000f8ff06240701050008241c04001f3c0d152412feffa317a88b045e4f01a607c0ffcb7e392a090581030004"], 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cpu.stat\x00', 0x275a, 0x0) syz_usb_connect$cdc_ecm(0x0, 0x0, 0x0, &(0x7f0000000440)={0xa, &(0x7f00000001c0)={0xa}, 0x0, 0x0}) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x1000)=nil, 0x1000, 0x9, 0x10012, r1, 0x0) syz_usb_ep_write(r0, 0x0, 0x2, &(0x7f0000000180)='\x00[') 16:14:09 executing program 4: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000240)=@updpolicy={0xb8, 0x15, 0x1, 0x0, 0x0, {{@in=@initdev={0xac, 0x1e, 0x0, 0x0}, @in6=@loopback, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0xee00}}}, 0xb8}}, 0x0) 16:14:09 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1d8000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2138.457440][T11556] netlink: 104 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2138.467423][T11556] netlink: 104 bytes leftover after parsing attributes in process `syz-executor.4'. 16:14:09 executing program 5: r0 = socket$pppl2tp(0x18, 0x1, 0x1) r1 = socket$inet6_udp(0xa, 0x2, 0x0) connect$pppl2tp(r0, &(0x7f0000000000)=@pppol2tpv3={0x18, 0x1, {0x3, r1, {0x2, 0x0, @dev}, 0x2}}, 0x2e) setsockopt$inet6_udp_int(r1, 0x11, 0x65, &(0x7f0000000080)=0x8d0c, 0x4) r2 = socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$l2tp(&(0x7f0000000040)='l2tp\x00') sendmsg$L2TP_CMD_SESSION_CREATE(r2, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)={0x1c, r3, 0x1, 0x0, 0x0, {0x4}, [@L2TP_ATTR_CONN_ID={0x8, 0x9, 0x2}]}, 0x1c}}, 0x0) 16:14:09 executing program 3: unshare(0x20000400) r0 = mq_open(&(0x7f00005a1ffb)='eth0\x00', 0x42, 0x0, 0x0) mq_timedsend(r0, 0x0, 0x2000, 0x0, &(0x7f0000e0b000)) 16:14:09 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r4, @ANYBLOB="00000400ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000004c0)=@newtfilter={0x24, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff3, 0x4}}}, 0x24}}, 0x0) 16:14:09 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1de000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:09 executing program 4: r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, 0x0, 0x0) [ 2138.717421][T11728] usb 2-1: new high-speed USB device number 72 using dummy_hcd [ 2138.831612][T11560] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2138.965612][T11728] usb 2-1: Using ep0 maxpacket: 8 [ 2139.086188][T11728] usb 2-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 2139.096845][T11728] usb 2-1: config 1 interface 0 altsetting 255 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 2139.110363][T11728] usb 2-1: config 1 interface 0 altsetting 255 has 1 endpoint descriptor, different from the interface descriptor's value: 3 [ 2139.124065][T11728] usb 2-1: config 1 interface 0 has no altsetting 0 16:14:10 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x1f8000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:10 executing program 4: r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, 0x0, 0x0) 16:14:10 executing program 2: r0 = userfaultfd(0x0) ioctl$UFFDIO_API(r0, 0xc018aa3f, &(0x7f0000c34000)) ioctl$UFFDIO_REGISTER(r0, 0xc020aa00, 0x0) 16:14:10 executing program 3: unshare(0x20000400) r0 = mq_open(&(0x7f00005a1ffb)='eth0\x00', 0x42, 0x0, 0x0) mq_timedsend(r0, 0x0, 0x2000, 0x0, &(0x7f0000e0b000)) [ 2139.536391][T11728] usb 2-1: New USB device found, idVendor=0dba, idProduct=1000, bcdDevice= 0.40 [ 2139.545945][T11728] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2139.554071][T11728] usb 2-1: Product: syz [ 2139.558722][T11728] usb 2-1: Manufacturer: syz [ 2139.563454][T11728] usb 2-1: SerialNumber: syz [ 2139.595353][T21655] unregister_netdevice: waiting for lo to become free. Usage count = 1 [ 2140.292962][T31196] usb 2-1: USB disconnect, device number 72 16:14:12 executing program 4: r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, 0x0, 0x0) 16:14:12 executing program 5: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0xe, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x61, 0x10, 0xa8}, [@ldst={0x3, 0x0, 0x3}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x85}, 0x48) 16:14:12 executing program 2: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000300)={@in, 0x0, 0x0, 0x4d, 0x0, "8b6fc41d2266cfd75c1c9c6bf34d4d9009868e78d1bb922175bde91df9601ba7b77ea13ffb1cbf1171205b28575f02aa6e38a75c76a3a816c8ff61dfd17f1732d8d508310cf88a6fa2e5b7bd88dc7ef8"}, 0xd8) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x6}, 0xd8) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x0, @local}, 0x10) 16:14:12 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:12 executing program 3: unshare(0x20000400) r0 = mq_open(&(0x7f00005a1ffb)='eth0\x00', 0x42, 0x0, 0x0) mq_timedsend(r0, 0x0, 0x2000, 0x0, &(0x7f0000e0b000)) 16:14:12 executing program 5: r0 = socket$kcm(0x10, 0x2, 0x4) r1 = socket$inet(0x2, 0x4000000805, 0x0) r2 = socket$inet_sctp(0x2, 0x5, 0x84) r3 = dup3(r1, r2, 0x0) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000d6cff0)=[@in={0x2, 0x4e20, @loopback}], 0x10) sendto$inet(r3, &(0x7f0000fa3fff)='\t', 0x1, 0x0, &(0x7f00006f7000)={0x2, 0x0, @remote={0xac, 0x14, 0xffffffffffffffff}}, 0x10) sendto$inet(r2, &(0x7f00003cef9f)='7', 0xfffa, 0x0, &(0x7f0000618000)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$kcm(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)=[{&(0x7f0000000380)="480000001400e702095f9f95274b0a0002845865400402000000000000006fab078a6a36d47a56aa68c6f8c36d96bd7c497626ff00034000d90000000000000000634310e68b0c89", 0x48}], 0x1}, 0x0) 16:14:12 executing program 4: r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, 0x0, 0x0) 16:14:12 executing program 3: unshare(0x20000400) r0 = mq_open(&(0x7f00005a1ffb)='eth0\x00', 0x42, 0x0, 0x0) mq_timedsend(r0, 0x0, 0x2000, 0x0, &(0x7f0000e0b000)) 16:14:12 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200100}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:12 executing program 2: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000300)={@in, 0x0, 0x0, 0x4d, 0x0, "8b6fc41d2266cfd75c1c9c6bf34d4d9009868e78d1bb922175bde91df9601ba7b77ea13ffb1cbf1171205b28575f02aa6e38a75c76a3a816c8ff61dfd17f1732d8d508310cf88a6fa2e5b7bd88dc7ef8"}, 0xd8) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x6}, 0xd8) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x0, @local}, 0x10) 16:14:12 executing program 1: r0 = socket$inet6(0xa, 0x401000000001, 0x0) close(r0) socket$inet6(0xa, 0x3, 0xff) connect$inet6(r0, &(0x7f0000000380)={0xa, 0x0, 0x0, @empty}, 0x1c) r1 = open(&(0x7f0000000100)='./bus\x00', 0x11250c2, 0x0) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) ftruncate(r2, 0x208200) sendfile(r0, r1, 0x0, 0x8000fffffffe) open(&(0x7f0000000280)='./bus\x00', 0x0, 0x0) [ 2141.943752][ T32] audit: type=1800 audit(1611159253.056:262): pid=11635 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.1" name="bus" dev="sda1" ino=16356 res=0 errno=0 16:14:13 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_IRQCHIP(r1, 0x4020aeb2, &(0x7f0000000040)={0x2, 0x0, @ioapic}) 16:14:13 executing program 5: r0 = socket$inet6(0xa, 0x3, 0x5) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f00000000c0)={@remote, 0x800, 0x0, 0x3, 0x9}, 0x20) setsockopt$inet6_int(r0, 0x29, 0x1000000000021, &(0x7f0000000180)=0xffffffc6, 0x4) setsockopt$inet6_int(r0, 0x29, 0x24, &(0x7f0000000040)=0x9, 0x4) sendmmsg(r0, &(0x7f0000004480)=[{{&(0x7f0000000180)=@l2tp6={0xa, 0x0, 0x80000, @mcast2}, 0x80, 0x0}}], 0x1, 0x0) 16:14:13 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_TIMEOUT_NEW(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000040)={0x20, 0x0, 0x8, 0x201, 0x0, 0x0, {}, [@CTA_TIMEOUT_NAME={0x9, 0x1, 'syz1\x00'}]}, 0x20}}, 0x0) [ 2142.169747][ T32] audit: type=1804 audit(1611159253.146:263): pid=11636 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir160602862/syzkaller.ML5unk/39/bus" dev="sda1" ino=16356 res=1 errno=0 16:14:13 executing program 2: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000300)={@in, 0x0, 0x0, 0x4d, 0x0, "8b6fc41d2266cfd75c1c9c6bf34d4d9009868e78d1bb922175bde91df9601ba7b77ea13ffb1cbf1171205b28575f02aa6e38a75c76a3a816c8ff61dfd17f1732d8d508310cf88a6fa2e5b7bd88dc7ef8"}, 0xd8) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x6}, 0xd8) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x0, @local}, 0x10) 16:14:13 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200200}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:14 executing program 5: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000000)={0x26, 'hash\x00', 0x0, 0x0, 'hmac(sha224)\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000080)="06f2381d06a782cbad577d75e567ee3f01e5ee7711295d0da73d0b4714a7f6991ca207b8597953fa15106350cb860c8766ef4219d9f0b42c31571826eeaad79d8c", 0x41) 16:14:14 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200300}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:14 executing program 4: openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000040)='cgroup.controllers\x00', 0x0, 0x0) r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000080)='/dev/net/tun\x00', 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000040)={'syzkaller1\x00'}) ioctl$TUNSETTXFILTER(r0, 0x400454d1, &(0x7f0000000000)={0x0, 0x9, [@multicast, @random="6a16a40abf29", @random="39673edcea37", @random="72ddfda30963", @broadcast, @multicast, @link_local, @multicast, @remote]}) 16:14:14 executing program 3: r0 = socket$inet6(0xa, 0x1, 0x0) ioctl$sock_SIOCETHTOOL(r0, 0x89f3, &(0x7f0000000080)={'sit0\x00', &(0x7f0000000140)=ANY=[@ANYBLOB="000000fe42f5b60f9b305f46c791000000000000cd611944407766ad7587f02d45720900000004009389"]}) 16:14:14 executing program 2: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000300)={@in, 0x0, 0x0, 0x4d, 0x0, "8b6fc41d2266cfd75c1c9c6bf34d4d9009868e78d1bb922175bde91df9601ba7b77ea13ffb1cbf1171205b28575f02aa6e38a75c76a3a816c8ff61dfd17f1732d8d508310cf88a6fa2e5b7bd88dc7ef8"}, 0xd8) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x6}, 0xd8) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x0, @local}, 0x10) 16:14:15 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200400}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2144.836528][ T32] audit: type=1800 audit(1611159255.946:264): pid=11636 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed comm="syz-executor.1" name="bus" dev="sda1" ino=16356 res=0 errno=0 16:14:16 executing program 1: r0 = socket$inet6(0xa, 0x401000000001, 0x0) close(r0) socket$inet6(0xa, 0x3, 0xff) connect$inet6(r0, &(0x7f0000000380)={0xa, 0x0, 0x0, @empty}, 0x1c) r1 = open(&(0x7f0000000100)='./bus\x00', 0x11250c2, 0x0) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) ftruncate(r2, 0x208200) sendfile(r0, r1, 0x0, 0x8000fffffffe) open(&(0x7f0000000280)='./bus\x00', 0x0, 0x0) 16:14:16 executing program 4: r0 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_mreqn(r0, 0x0, 0x13, 0x0, 0x0) 16:14:16 executing program 5: r0 = syz_open_dev$sg(&(0x7f0000000000)='/dev/sg#\x00', 0x0, 0x2) r1 = dup(r0) write$UHID_SET_REPORT_REPLY(r1, &(0x7f00000001c0)={0xe, {0x0, 0x0, 0x0, 0x24, "85208366970bab1f09e9d3c259e9bceb36741fa4015a2ea0a581643c77ad7a3d83d15d67"}}, 0x30) ioctl$SG_SET_FORCE_PACK_ID(r1, 0x227b, &(0x7f00000000c0)=0x1) read$FUSE(r1, &(0x7f0000002280)={0x2020}, 0x2020) 16:14:16 executing program 3: r0 = socket$inet6(0xa, 0x1, 0x0) ioctl$sock_SIOCETHTOOL(r0, 0x89f3, &(0x7f0000000080)={'sit0\x00', &(0x7f0000000140)=ANY=[@ANYBLOB="000000fe42f5b60f9b305f46c791000000000000cd611944407766ad7587f02d45720900000004009389"]}) 16:14:16 executing program 2: syz_usb_control_io$cdc_ecm(0xffffffffffffffff, &(0x7f0000000100)={0xc, 0x0, 0x0}, &(0x7f0000000240)={0x10, &(0x7f0000000140)={0x20}, 0x0, 0x0}) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r1, 0x0) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) 16:14:16 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200500}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:16 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200600}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:16 executing program 3: r0 = socket$inet6(0xa, 0x1, 0x0) ioctl$sock_SIOCETHTOOL(r0, 0x89f3, &(0x7f0000000080)={'sit0\x00', &(0x7f0000000140)=ANY=[@ANYBLOB="000000fe42f5b60f9b305f46c791000000000000cd611944407766ad7587f02d45720900000004009389"]}) 16:14:16 executing program 4: r0 = gettid() prctl$PR_SET_PTRACER(0x59616d61, r0) clone(0x3102002dfe, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r1 = gettid() rt_sigtimedwait(&(0x7f0000000040), 0x0, &(0x7f0000000000)={0x0, 0x1c9c380}, 0x8) ptrace$setopts(0x4206, r1, 0x0, 0x200044) wait4(0x0, 0x0, 0x0, 0x0) seccomp$SECCOMP_SET_MODE_STRICT(0x0, 0x0, 0x0) syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x0) [ 2145.615974][ T32] audit: type=1800 audit(1611159256.726:265): pid=11700 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.1" name="bus" dev="sda1" ino=16367 res=0 errno=0 [ 2145.767913][ T32] audit: type=1804 audit(1611159256.826:266): pid=11701 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir160602862/syzkaller.ML5unk/40/bus" dev="sda1" ino=16367 res=1 errno=0 16:14:17 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) sendto$inet6(r0, 0x0, 0xfffffffffffffc47, 0x20010001, &(0x7f0000000280)={0xa, 0x0, 0x0, @remote, 0x2}, 0x1c) r1 = dup2(r0, r0) r2 = gettid() timer_create(0x0, &(0x7f0000044000)={0x0, 0x12}, &(0x7f0000000080)) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x9}}, 0x0) write$P9_RSETATTR(r1, 0x0, 0x0) close(r0) socket$packet(0x11, 0x2, 0x300) tkill(r2, 0x16) 16:14:17 executing program 5: r0 = syz_open_dev$sg(&(0x7f0000000000)='/dev/sg#\x00', 0x0, 0x2) r1 = dup(r0) write$UHID_SET_REPORT_REPLY(r1, &(0x7f00000001c0)={0xe, {0x0, 0x0, 0x0, 0x24, "85208366970bab1f09e9d3c259e9bceb36741fa4015a2ea0a581643c77ad7a3d83d15d67"}}, 0x30) ioctl$SG_SET_FORCE_PACK_ID(r1, 0x227b, &(0x7f00000000c0)=0x1) read$FUSE(r1, &(0x7f0000002280)={0x2020}, 0x2020) 16:14:17 executing program 3: r0 = socket$inet6(0xa, 0x1, 0x0) ioctl$sock_SIOCETHTOOL(r0, 0x89f3, &(0x7f0000000080)={'sit0\x00', &(0x7f0000000140)=ANY=[@ANYBLOB="000000fe42f5b60f9b305f46c791000000000000cd611944407766ad7587f02d45720900000004009389"]}) [ 2148.433171][ T32] audit: type=1800 audit(1611159259.546:267): pid=11701 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed comm="syz-executor.1" name="bus" dev="sda1" ino=16367 res=0 errno=0 16:14:19 executing program 1: r0 = socket$inet6(0xa, 0x401000000001, 0x0) close(r0) socket$inet6(0xa, 0x3, 0xff) connect$inet6(r0, &(0x7f0000000380)={0xa, 0x0, 0x0, @empty}, 0x1c) r1 = open(&(0x7f0000000100)='./bus\x00', 0x11250c2, 0x0) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) ftruncate(r2, 0x208200) sendfile(r0, r1, 0x0, 0x8000fffffffe) open(&(0x7f0000000280)='./bus\x00', 0x0, 0x0) 16:14:19 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200800}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:19 executing program 2: syz_usb_control_io$cdc_ecm(0xffffffffffffffff, &(0x7f0000000100)={0xc, 0x0, 0x0}, &(0x7f0000000240)={0x10, &(0x7f0000000140)={0x20}, 0x0, 0x0}) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r1, 0x0) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) 16:14:19 executing program 4: sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000940)=ANY=[@ANYBLOB="a010000030003deb0000000000000000000000008c100100881001000b000100706f6c6963650000581002800404020000040000030000000180000007000000080000000200000000000000070000000000000000000000070000000000000001040000fbffffff000000000010000001010000ffff000001000000070000000900000005000000030000000700000006000000020000001f0000007f00000000b6f6000500000004000000ff63ffff060000000800000005000000050000000700000080000000ff00000008000000060000000000000000000000020000001803000001000000000000000700000006000000080000000900000007000000020000000700000009000000ffffffff070000000104000000000080e71000001f0000000500000000000000ff000000ffffffff03000000070000f3e42300000700000000000000ff07000009000000050000000100000005000000060000000000008081000000000000001f0000000000008006000000ff7f0000010000003f00000008000000000000000200000009000000400000006bca2d072f070000060000000900000008000000d1b20000ad0a00000600000006000000060000007f0000008100000047000000ff000000e6c1939affff000001000000f7050000ffff000009000000aa000000180200000700000001800000a7230000000000000400000007000000010000000200000006000000f7ffffff02000000ff0100002d000000060000007f00000009000000a00b000004000000feffffff3f0000000400000001f2ffff03000000780a00003f000000d65900000700000000040000dc7500000900000083000000734f000000000000050000000100000000010000070000001700000007000000290000008000000007000000000800008ccc000007000000ff0f00000010000003000000030000000300000006000000400000000400000079d60000ff7f0000090000001f000000ffffff7f08000000000000006b0000001f00000006000000080000000200000007000000a50500008d88000006000000010000000300000025b500000600000000040000ffffff7f0400000009000000020000000000008100000000ff7f0000ffffffff04000000070000003000000000010000ff07000001000000040000000400000000880000000001000800000004000000200000000300000005000000000100000300000008000000080000000300000000020000070000000300000004000000f7ffffff05000000b300000005000000070000000700000082c6000008000000050000000200000001000000000000000080000041a50000020000004600ff7106000000c300000003000000050000000300000008000000070000008100000067ee0000080000009f7b7e2a01010000a30e0000d580000007000000080000004000000003000000fd0000000459000008000400000000003c00010037d053a118e6babc31faabce81958f6eeca9a4c877b20789dfff842e66"], 0x10a0}}, 0x0) r0 = socket(0x1000000010, 0x80002, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 16:14:19 executing program 3: r0 = socket(0x10, 0x2, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmsg(r0, &(0x7f0000001300)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f0000000140)="240000001a0003041dfffd946f6105000200000a1f000003875f08000800030003200000280000001100ffffba16a072e70091fa76a04200120000000000eff24d", 0x41}, {&(0x7f0000000100)="af8956da", 0x4}], 0x2}, 0x4000890) 16:14:19 executing program 5: r0 = syz_open_dev$sg(&(0x7f0000000000)='/dev/sg#\x00', 0x0, 0x2) r1 = dup(r0) write$UHID_SET_REPORT_REPLY(r1, &(0x7f00000001c0)={0xe, {0x0, 0x0, 0x0, 0x24, "85208366970bab1f09e9d3c259e9bceb36741fa4015a2ea0a581643c77ad7a3d83d15d67"}}, 0x30) ioctl$SG_SET_FORCE_PACK_ID(r1, 0x227b, &(0x7f00000000c0)=0x1) read$FUSE(r1, &(0x7f0000002280)={0x2020}, 0x2020) [ 2148.712401][T11742] netlink: 32 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2148.722159][T11742] netlink: 3092 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2148.986049][T11748] netlink: 32 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2148.995761][T11748] netlink: 3092 bytes leftover after parsing attributes in process `syz-executor.4'. 16:14:20 executing program 3: creat(&(0x7f0000000100)='./file0\x00', 0x0) perf_event_open(&(0x7f000000a000)={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_config_ext, 0x8000000200000000, 0x5}, 0x0, 0x0, 0xffffffffffffffff, 0x0) sendmsg$can_raw(0xffffffffffffffff, &(0x7f0000001fc8)={0x0, 0x0, &(0x7f0000000080)={&(0x7f000000a000)=@canfd={{0x4}, 0x0, 0x0, 0x0, 0x0, "0327e1b22b020000009c699f5ff986ca08990039576a7d5cb2bdac3fa80acf584ecb5fee496e6866856b76630518fa1efd9b0b00"}, 0x48}}, 0x0) mount(&(0x7f0000000280)=ANY=[@ANYBLOB="14a931672441026e0beda111ba9247841ce6a190c5140ce8334d2e3fa427b94ac8c0593c4b1f34201c9aaf97d21740b21e465f243f679e242365ec4e6e51fa3bf4bd664d6d658503433d1054e86b3cfc7dac635f3c171703f966650d3637935c2bbfd1f5e843cdf76ff2ca9f06bdb84e4d92aca6bc6eed8daea9d36a64dbf029b973e37226442228da54f34a4fbd6606ee89eaa09ef2c48fb05dfdd8dc6d82317ac49b0224dd9c2b0ef0f5be8ca049fa9112a4bd0abb7969e2eddb4285f968ff8c248815a5fd1cf62526d7674cb370d4cf067b5fb248abbf7e773deb26755073318aaef7dec9a3b3088f8c531b8c798c3cdd1a97cd96ae9802f54edcafae8491b9f6570116d3f8409bbcfc526557ab27f1d1294c164ad0f690722408580ccf06550313249e73df36b2f70dd0500d2f7d05eccab49890a33d151fe3913445eafb3a"], &(0x7f0000343ff8)='./file0\x00', &(0x7f0000fb5ffc)='nfs\x00', 0x0, &(0x7f000000a000)) 16:14:20 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200b00}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2149.158121][ T32] audit: type=1800 audit(1611159260.276:268): pid=11750 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.1" name="bus" dev="sda1" ino=16383 res=0 errno=0 [ 2149.282387][ T32] audit: type=1804 audit(1611159260.396:269): pid=11751 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir160602862/syzkaller.ML5unk/41/bus" dev="sda1" ino=16383 res=1 errno=0 16:14:20 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f00000002c0)={'macvlan0\x00', 0x0}) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000740)=ANY=[@ANYBLOB="500000001000010400"/20, @ANYRES32=r1, @ANYBLOB="0000000000000000280037800b0001006970367674690000180002801400040000000000000000000000000000000001050027"], 0x50}}, 0x0) [ 2149.715402][T21655] unregister_netdevice: waiting for lo to become free. Usage count = 1 16:14:20 executing program 5: r0 = syz_open_dev$sg(&(0x7f0000000000)='/dev/sg#\x00', 0x0, 0x2) r1 = dup(r0) write$UHID_SET_REPORT_REPLY(r1, &(0x7f00000001c0)={0xe, {0x0, 0x0, 0x0, 0x24, "85208366970bab1f09e9d3c259e9bceb36741fa4015a2ea0a581643c77ad7a3d83d15d67"}}, 0x30) ioctl$SG_SET_FORCE_PACK_ID(r1, 0x227b, &(0x7f00000000c0)=0x1) read$FUSE(r1, &(0x7f0000002280)={0x2020}, 0x2020) 16:14:21 executing program 3: creat(&(0x7f0000000100)='./file0\x00', 0x0) perf_event_open(&(0x7f000000a000)={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_config_ext, 0x8000000200000000, 0x5}, 0x0, 0x0, 0xffffffffffffffff, 0x0) sendmsg$can_raw(0xffffffffffffffff, &(0x7f0000001fc8)={0x0, 0x0, &(0x7f0000000080)={&(0x7f000000a000)=@canfd={{0x4}, 0x0, 0x0, 0x0, 0x0, "0327e1b22b020000009c699f5ff986ca08990039576a7d5cb2bdac3fa80acf584ecb5fee496e6866856b76630518fa1efd9b0b00"}, 0x48}}, 0x0) mount(&(0x7f0000000280)=ANY=[@ANYBLOB="14a931672441026e0beda111ba9247841ce6a190c5140ce8334d2e3fa427b94ac8c0593c4b1f34201c9aaf97d21740b21e465f243f679e242365ec4e6e51fa3bf4bd664d6d658503433d1054e86b3cfc7dac635f3c171703f966650d3637935c2bbfd1f5e843cdf76ff2ca9f06bdb84e4d92aca6bc6eed8daea9d36a64dbf029b973e37226442228da54f34a4fbd6606ee89eaa09ef2c48fb05dfdd8dc6d82317ac49b0224dd9c2b0ef0f5be8ca049fa9112a4bd0abb7969e2eddb4285f968ff8c248815a5fd1cf62526d7674cb370d4cf067b5fb248abbf7e773deb26755073318aaef7dec9a3b3088f8c531b8c798c3cdd1a97cd96ae9802f54edcafae8491b9f6570116d3f8409bbcfc526557ab27f1d1294c164ad0f690722408580ccf06550313249e73df36b2f70dd0500d2f7d05eccab49890a33d151fe3913445eafb3a"], &(0x7f0000343ff8)='./file0\x00', &(0x7f0000fb5ffc)='nfs\x00', 0x0, &(0x7f000000a000)) 16:14:21 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x200f00}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2150.284201][T11760] netlink: 'syz-executor.4': attribute type 1 has an invalid length. [ 2150.292768][T11760] netlink: 'syz-executor.4': attribute type 2 has an invalid length. [ 2152.116476][ T32] audit: type=1800 audit(1611159263.236:270): pid=11751 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed comm="syz-executor.1" name="bus" dev="sda1" ino=16383 res=0 errno=0 16:14:23 executing program 1: r0 = socket$inet6(0xa, 0x401000000001, 0x0) close(r0) socket$inet6(0xa, 0x3, 0xff) connect$inet6(r0, &(0x7f0000000380)={0xa, 0x0, 0x0, @empty}, 0x1c) r1 = open(&(0x7f0000000100)='./bus\x00', 0x11250c2, 0x0) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) ftruncate(r2, 0x208200) sendfile(r0, r1, 0x0, 0x8000fffffffe) open(&(0x7f0000000280)='./bus\x00', 0x0, 0x0) 16:14:23 executing program 2: syz_usb_control_io$cdc_ecm(0xffffffffffffffff, &(0x7f0000000100)={0xc, 0x0, 0x0}, &(0x7f0000000240)={0x10, &(0x7f0000000140)={0x20}, 0x0, 0x0}) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r1, 0x0) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) 16:14:23 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f00000002c0)={'macvlan0\x00', 0x0}) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000740)=ANY=[@ANYBLOB="500000001000010400"/20, @ANYRES32=r1, @ANYBLOB="0000000000000000280037800b0001006970367674690000180002801400040000000000000000000000000000000001050027"], 0x50}}, 0x0) 16:14:23 executing program 3: creat(&(0x7f0000000100)='./file0\x00', 0x0) perf_event_open(&(0x7f000000a000)={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_config_ext, 0x8000000200000000, 0x5}, 0x0, 0x0, 0xffffffffffffffff, 0x0) sendmsg$can_raw(0xffffffffffffffff, &(0x7f0000001fc8)={0x0, 0x0, &(0x7f0000000080)={&(0x7f000000a000)=@canfd={{0x4}, 0x0, 0x0, 0x0, 0x0, "0327e1b22b020000009c699f5ff986ca08990039576a7d5cb2bdac3fa80acf584ecb5fee496e6866856b76630518fa1efd9b0b00"}, 0x48}}, 0x0) mount(&(0x7f0000000280)=ANY=[@ANYBLOB="14a931672441026e0beda111ba9247841ce6a190c5140ce8334d2e3fa427b94ac8c0593c4b1f34201c9aaf97d21740b21e465f243f679e242365ec4e6e51fa3bf4bd664d6d658503433d1054e86b3cfc7dac635f3c171703f966650d3637935c2bbfd1f5e843cdf76ff2ca9f06bdb84e4d92aca6bc6eed8daea9d36a64dbf029b973e37226442228da54f34a4fbd6606ee89eaa09ef2c48fb05dfdd8dc6d82317ac49b0224dd9c2b0ef0f5be8ca049fa9112a4bd0abb7969e2eddb4285f968ff8c248815a5fd1cf62526d7674cb370d4cf067b5fb248abbf7e773deb26755073318aaef7dec9a3b3088f8c531b8c798c3cdd1a97cd96ae9802f54edcafae8491b9f6570116d3f8409bbcfc526557ab27f1d1294c164ad0f690722408580ccf06550313249e73df36b2f70dd0500d2f7d05eccab49890a33d151fe3913445eafb3a"], &(0x7f0000343ff8)='./file0\x00', &(0x7f0000fb5ffc)='nfs\x00', 0x0, &(0x7f000000a000)) 16:14:23 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x201300}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:23 executing program 5: r0 = socket$inet6(0xa, 0x1, 0x0) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r0, 0x6, 0x9, 0x0, &(0x7f0000000040)) [ 2152.494930][T11784] netlink: 'syz-executor.4': attribute type 1 has an invalid length. [ 2152.503583][T11784] netlink: 'syz-executor.4': attribute type 2 has an invalid length. 16:14:23 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID2(r2, 0x4008ae90, &(0x7f0000000300)={0x2, 0x0, [{0x40000001, 0x5}, {0x80000008}]}) 16:14:23 executing program 3: creat(&(0x7f0000000100)='./file0\x00', 0x0) perf_event_open(&(0x7f000000a000)={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_config_ext, 0x8000000200000000, 0x5}, 0x0, 0x0, 0xffffffffffffffff, 0x0) sendmsg$can_raw(0xffffffffffffffff, &(0x7f0000001fc8)={0x0, 0x0, &(0x7f0000000080)={&(0x7f000000a000)=@canfd={{0x4}, 0x0, 0x0, 0x0, 0x0, "0327e1b22b020000009c699f5ff986ca08990039576a7d5cb2bdac3fa80acf584ecb5fee496e6866856b76630518fa1efd9b0b00"}, 0x48}}, 0x0) mount(&(0x7f0000000280)=ANY=[@ANYBLOB="14a931672441026e0beda111ba9247841ce6a190c5140ce8334d2e3fa427b94ac8c0593c4b1f34201c9aaf97d21740b21e465f243f679e242365ec4e6e51fa3bf4bd664d6d658503433d1054e86b3cfc7dac635f3c171703f966650d3637935c2bbfd1f5e843cdf76ff2ca9f06bdb84e4d92aca6bc6eed8daea9d36a64dbf029b973e37226442228da54f34a4fbd6606ee89eaa09ef2c48fb05dfdd8dc6d82317ac49b0224dd9c2b0ef0f5be8ca049fa9112a4bd0abb7969e2eddb4285f968ff8c248815a5fd1cf62526d7674cb370d4cf067b5fb248abbf7e773deb26755073318aaef7dec9a3b3088f8c531b8c798c3cdd1a97cd96ae9802f54edcafae8491b9f6570116d3f8409bbcfc526557ab27f1d1294c164ad0f690722408580ccf06550313249e73df36b2f70dd0500d2f7d05eccab49890a33d151fe3913445eafb3a"], &(0x7f0000343ff8)='./file0\x00', &(0x7f0000fb5ffc)='nfs\x00', 0x0, &(0x7f000000a000)) 16:14:23 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x201400}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2152.867451][ T32] audit: type=1800 audit(1611159263.986:271): pid=11788 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.1" name="bus" dev="sda1" ino=15953 res=0 errno=0 16:14:24 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f00000002c0)={'macvlan0\x00', 0x0}) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000740)=ANY=[@ANYBLOB="500000001000010400"/20, @ANYRES32=r1, @ANYBLOB="0000000000000000280037800b0001006970367674690000180002801400040000000000000000000000000000000001050027"], 0x50}}, 0x0) [ 2153.018134][ T32] audit: type=1804 audit(1611159264.116:272): pid=11790 uid=0 auid=0 ses=4 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir160602862/syzkaller.ML5unk/42/bus" dev="sda1" ino=15953 res=1 errno=0 16:14:25 executing program 5: r0 = openat$procfs(0xffffff9c, &(0x7f00000002c0)='/proc/partitions\x00', 0x0, 0x0) mmap$IORING_OFF_SQES(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x0, 0x4012, r0, 0x10000000) 16:14:25 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x201d00}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2155.720019][ T32] audit: type=1800 audit(1611159266.836:273): pid=11790 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed comm="syz-executor.1" name="bus" dev="sda1" ino=15953 res=0 errno=0 16:14:27 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f00000002c0)={'macvlan0\x00', 0x0}) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000740)=ANY=[@ANYBLOB="500000001000010400"/20, @ANYRES32=r1, @ANYBLOB="0000000000000000280037800b0001006970367674690000180002801400040000000000000000000000000000000001050027"], 0x50}}, 0x0) 16:14:27 executing program 3: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$IPT_SO_SET_REPLACE(r0, 0x4000000000000, 0x40, &(0x7f00000012c0)=@raw={'raw\x00', 0x8, 0x3, 0x1254, 0x0, 0x10e8, 0x10e8, 0x0, 0x0, 0x11c0, 0x11a0, 0x11a0, 0x11c0, 0x11a0, 0x3, 0x0, {[{{@ip={@dev, @local, 0x0, 0x0, 'syzkaller0\x00', 'netpci0\x00'}, 0x0, 0x10a0, 0x1108, 0x0, {}, [@common=@unspec=@cgroup1={{0x1030, 'cgroup\x00'}, {0x0, 0x2, 0x0, 0x0, './cgroup/syz0\x00'}}]}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x6, 'syz0\x00', 'syz1\x00'}}}, {{@ip={@remote, @empty, 0x0, 0x0, 'batadv_slave_0\x00', 'bridge_slave_0\x00'}, 0x0, 0x70, 0xb8}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'syz0\x00'}}}], {{[], 0x0, 0x70, 0x94}, {0x24}}}}, 0x12b0) 16:14:27 executing program 2: syz_usb_control_io$cdc_ecm(0xffffffffffffffff, &(0x7f0000000100)={0xc, 0x0, 0x0}, &(0x7f0000000240)={0x10, &(0x7f0000000140)={0x20}, 0x0, 0x0}) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r1, 0x0) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) 16:14:27 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x202000}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:27 executing program 5: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$netlink(r0, &(0x7f0000000600)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f0000000240)={0x10}, 0x10}, {&(0x7f00000002c0)={0x10, 0x3f2}, 0x10}], 0x2}, 0x0) 16:14:27 executing program 1: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x2, 0x0) r1 = syz_init_net_socket$bt_l2cap(0x1f, 0x5, 0x0) bind$bt_l2cap(r1, &(0x7f00000000c0), 0xe) listen(r1, 0x0) dup2(r0, r1) [ 2156.076534][T11821] netlink: 'syz-executor.4': attribute type 1 has an invalid length. [ 2156.084850][T11821] netlink: 'syz-executor.4': attribute type 2 has an invalid length. [ 2156.116216][T11822] xt_CT: You must specify a L4 protocol and not use inversions on it 16:14:27 executing program 5: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000700)={0x0, 0x0, &(0x7f00000006c0)={&(0x7f0000000540)=@updsa={0x140, 0x1a, 0x1, 0x0, 0x0, {{@in6=@private0, @in=@initdev={0xac, 0x1e, 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, {@in=@remote, 0x0, 0x32}, @in6=@mcast1, {}, {}, {}, 0x0, 0x0, 0xa}, [@extra_flags={0x8}, @algo_auth={0x48, 0x1, {{'crc32c\x00'}}}]}, 0x140}}, 0x0) 16:14:27 executing program 3: unshare(0x4020400) r0 = socket$xdp(0x2c, 0x3, 0x0) bind$xdp(r0, &(0x7f0000000280), 0x10) 16:14:27 executing program 4: set_mempolicy(0x4003, &(0x7f0000000140)=0x101, 0x2) ioperm(0x0, 0x3, 0x2) 16:14:27 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x202100}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:28 executing program 1: 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_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = syz_io_uring_setup(0x93, &(0x7f0000000080), &(0x7f0000ee6000/0x2000)=nil, &(0x7f0000ffa000/0x4000)=nil, &(0x7f0000000000)=0x0, &(0x7f00000015c0)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000380)=0x307e, 0x0, 0x4) r3 = socket$nl_route(0x10, 0x3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_ACCEPT={0xd, 0x0, 0x0, r3, 0x0}, 0x0) io_uring_enter(r0, 0x450c, 0x0, 0x0, 0x0, 0x0) [ 2157.051562][T11834] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.5'. 16:14:28 executing program 3: syz_usb_connect$cdc_ecm(0x0, 0x4e, &(0x7f0000000000)=ANY=[@ANYBLOB="12011001020000202505a1a440000102030109023c00010108a07f09"], 0x0) 16:14:28 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r1, 0x8933, &(0x7f0000000300)={'team0\x00', 0x0}) r3 = syz_genetlink_get_family_id$team(&(0x7f0000000180)='team\x00') sendmsg$TEAM_CMD_OPTIONS_SET(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)={0x58, r3, 0x1, 0x0, 0x0, {0x1, 0x6c00000000000000}, [{{0x8, 0x1, r2}, {0x3c, 0x2, 0x0, 0x1, [{0x38, 0x1, @mcast_rejoin_interval={{0x24, 0x1, 'mcast_rejoin_interval\x00'}, {0x5}, {0x8}}}]}}]}, 0x58}}, 0x0) 16:14:28 executing program 5: r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r1, 0xee01) r2 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r2, 0x6, 0x10000000013, &(0x7f0000000040), 0x4) 16:14:29 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x202200}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:29 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)={0x54, 0x2, 0x6, 0x201, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_CADT_FLAGS={0x8, 0x6}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x54}}, 0x0) 16:14:29 executing program 2: r0 = openat$vicodec0(0xffffffffffffff9c, &(0x7f0000001600)='/dev/video36\x00', 0x2, 0x0) ioctl$VIDIOC_QUERY_EXT_CTRL(r0, 0xc0e85667, &(0x7f0000000040)={0x40000000, 0x0, "c87de5b6c2df255dd8f7c7db0c225286c076d362d63912c2fa9405bf8eb3a320"}) 16:14:29 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r1, 0x8933, &(0x7f0000000300)={'team0\x00', 0x0}) r3 = syz_genetlink_get_family_id$team(&(0x7f0000000180)='team\x00') sendmsg$TEAM_CMD_OPTIONS_SET(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)={0x58, r3, 0x1, 0x0, 0x0, {0x1, 0x6c00000000000000}, [{{0x8, 0x1, r2}, {0x3c, 0x2, 0x0, 0x1, [{0x38, 0x1, @mcast_rejoin_interval={{0x24, 0x1, 'mcast_rejoin_interval\x00'}, {0x5}, {0x8}}}]}}]}, 0x58}}, 0x0) 16:14:29 executing program 5: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$TIOCL_SETSEL(r0, 0x541c, 0x0) [ 2158.205371][T29213] usb 4-1: new high-speed USB device number 28 using dummy_hcd [ 2158.446060][T29213] usb 4-1: Using ep0 maxpacket: 32 16:14:29 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x202900}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) [ 2158.566715][T29213] usb 4-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 2158.577169][T29213] usb 4-1: config 1 has 0 interfaces, different from the descriptor's value: 1 16:14:29 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)={0x54, 0x2, 0x6, 0x201, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_CADT_FLAGS={0x8, 0x6}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x54}}, 0x0) 16:14:30 executing program 5: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$TIOCL_SETSEL(r0, 0x541c, 0x0) [ 2158.816623][T29213] usb 4-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 2158.825956][T29213] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2158.834049][T29213] usb 4-1: Product: syz [ 2158.838670][T29213] usb 4-1: Manufacturer: syz [ 2158.843363][T29213] usb 4-1: SerialNumber: syz 16:14:30 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r1, 0x8933, &(0x7f0000000300)={'team0\x00', 0x0}) r3 = syz_genetlink_get_family_id$team(&(0x7f0000000180)='team\x00') sendmsg$TEAM_CMD_OPTIONS_SET(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)={0x58, r3, 0x1, 0x0, 0x0, {0x1, 0x6c00000000000000}, [{{0x8, 0x1, r2}, {0x3c, 0x2, 0x0, 0x1, [{0x38, 0x1, @mcast_rejoin_interval={{0x24, 0x1, 'mcast_rejoin_interval\x00'}, {0x5}, {0x8}}}]}}]}, 0x58}}, 0x0) [ 2159.241508][T29213] usb 4-1: USB disconnect, device number 28 [ 2159.806050][T21655] unregister_netdevice: waiting for lo to become free. Usage count = 1 [ 2159.986106][T31196] usb 4-1: new high-speed USB device number 29 using dummy_hcd [ 2160.256096][T31196] usb 4-1: Using ep0 maxpacket: 32 [ 2160.415962][T31196] usb 4-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 2160.426438][T31196] usb 4-1: config 1 has 0 interfaces, different from the descriptor's value: 1 [ 2160.618912][T31196] usb 4-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 2160.628495][T31196] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2160.636891][T31196] usb 4-1: Product: syz [ 2160.641153][T31196] usb 4-1: Manufacturer: syz [ 2160.646011][T31196] usb 4-1: SerialNumber: syz 16:14:31 executing program 3: r0 = socket(0x11, 0x3, 0x0) getsockopt$packet_int(r0, 0x107, 0xf, 0x0, &(0x7f0000000040)) 16:14:31 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)={0x54, 0x2, 0x6, 0x201, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_CADT_FLAGS={0x8, 0x6}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x54}}, 0x0) 16:14:31 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x202c00}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:31 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r1, 0x8933, &(0x7f0000000300)={'team0\x00', 0x0}) r3 = syz_genetlink_get_family_id$team(&(0x7f0000000180)='team\x00') sendmsg$TEAM_CMD_OPTIONS_SET(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)={0x58, r3, 0x1, 0x0, 0x0, {0x1, 0x6c00000000000000}, [{{0x8, 0x1, r2}, {0x3c, 0x2, 0x0, 0x1, [{0x38, 0x1, @mcast_rejoin_interval={{0x24, 0x1, 'mcast_rejoin_interval\x00'}, {0x5}, {0x8}}}]}}]}, 0x58}}, 0x0) 16:14:31 executing program 2: io_setup(0x20, &(0x7f0000000540)=0x0) io_cancel(r0, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_submit(r0, 0x0, 0x0) 16:14:31 executing program 5: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$TIOCL_SETSEL(r0, 0x541c, 0x0) [ 2160.857456][T31196] usb 4-1: USB disconnect, device number 29 16:14:32 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)={0x54, 0x2, 0x6, 0x201, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_CADT_FLAGS={0x8, 0x6}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x54}}, 0x0) 16:14:32 executing program 4: r0 = openat$nullb(0xffffff9c, &(0x7f0000000540)='/dev/nullb0\x00', 0x0, 0x0) ioctl$BLKGETSIZE(r0, 0x1260, 0x0) 16:14:32 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) r4 = fcntl$dupfd(r3, 0x0, r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_SET_LAPIC(r2, 0xc008ae88, &(0x7f0000001a40)={"06000000dd245c8476010000c9c8dc1964325fa96fa42b76010201c02bec0ba41f0100003a40c8a49d0000403b00041f01000000003c5ca2c2000000ee377abaece6b88378e3d63a03000040361d264ffa8b46485f02baee010100c04252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525a72f44500a1f0db500800000000000008f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa006a832d309fcda5bb5a6baa41d614f6c8941bee805954a62d196a4e8d4bf6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478fbe65449b404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e69aff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684364673dcfa9235ea5a2ff23c4bb5c5acb2e8976dcac779ff000000000000003d4e185afe28b774b99d38c90937428617de4cdd6f53c419ce31054182fd898af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e9605ab8c3c43840abd17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba16f70f558b2246ad95ccf7d3f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3efb254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f47692613e28387e955722908dd88b56163be8312ff47c5b6f070072975af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047666865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffb7e7603970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d819164300"}) 16:14:32 executing program 5: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$TIOCL_SETSEL(r0, 0x541c, 0x0) 16:14:32 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x203500}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:32 executing program 3: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000040)={0x3, &(0x7f0000000000)=[{0x6c}, {0x7}, {0x6}]}) 16:14:33 executing program 4: mknod$loop(&(0x7f00000000c0)='./file0\x00', 0x400002200006007, 0x0) unshare(0x600) r0 = openat(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$BLKRRPART(r0, 0x1262, 0x0) [ 2162.028581][ T32] audit: type=1326 audit(1611159273.146:274): auid=0 uid=0 gid=0 ses=4 subj==unconfined pid=11935 comm="syz-executor.3" exe="/root/syz-executor.3" sig=31 arch=40000003 syscall=265 compat=1 ip=0xf7f8c549 code=0x0 16:14:33 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) r4 = fcntl$dupfd(r3, 0x0, r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_SET_LAPIC(r2, 0xc008ae88, &(0x7f0000001a40)={"06000000dd245c8476010000c9c8dc1964325fa96fa42b76010201c02bec0ba41f0100003a40c8a49d0000403b00041f01000000003c5ca2c2000000ee377abaece6b88378e3d63a03000040361d264ffa8b46485f02baee010100c04252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525a72f44500a1f0db500800000000000008f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa006a832d309fcda5bb5a6baa41d614f6c8941bee805954a62d196a4e8d4bf6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478fbe65449b404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e69aff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684364673dcfa9235ea5a2ff23c4bb5c5acb2e8976dcac779ff000000000000003d4e185afe28b774b99d38c90937428617de4cdd6f53c419ce31054182fd898af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e9605ab8c3c43840abd17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba16f70f558b2246ad95ccf7d3f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3efb254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f47692613e28387e955722908dd88b56163be8312ff47c5b6f070072975af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047666865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffb7e7603970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d819164300"}) 16:14:33 executing program 1: r0 = socket(0x10, 0x2, 0x0) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000000100)={'syztnl1\x00', 0x0}) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f00000000c0)={'ip6_vti0\x00', &(0x7f0000000000)={'syztnl1\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @mcast2={0xff, 0x5}, @ipv4={[0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2], [], @remote}}}) 16:14:33 executing program 5: r0 = syz_open_dev$video(&(0x7f0000000880)='/dev/video#\x00', 0xed, 0x0) ioctl$VIDIOC_G_PARM(r0, 0xc0cc5615, &(0x7f0000000080)={0x3}) 16:14:33 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x203700}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:33 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00') sendmsg$NL80211_CMD_SET_BEACON(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000003c0)={0xb0, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8}, @val={0xc}}}, [@NL80211_ATTR_FTM_RESPONDER={0xc, 0x10e, 0x0, 0x1, [@NL80211_FTM_RESP_ATTR_LCI={0x4}, @NL80211_FTM_RESP_ATTR_ENABLED={0x4}]}, @NL80211_ATTR_BEACON_HEAD={0x79, 0xe, {@wo_ht={{}, {}, @device_b, @device_a, @random="a01f8ee08e4c"}, 0x0, @random, 0x0, @val={0x0, 0x67, @default_ap_ssid}, @val, @void, @val={0x4, 0x6}, @val={0x6, 0x2}, @val={0x5, 0x3}, @void, @val={0x2a, 0x1}, @val={0x3c, 0x4}, @val={0x2d, 0x1a}, @void, @val={0x71, 0x7}, @val={0x76, 0x6}}}]}, 0xb0}}, 0x0) 16:14:33 executing program 5: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) r0 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) r1 = open(&(0x7f0000000040)='./bus\x00', 0x8001145042, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x12, r1, 0x0) getdents64(r0, &(0x7f0000000540)=""/188, 0x724) 16:14:33 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) r4 = fcntl$dupfd(r3, 0x0, r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_SET_LAPIC(r2, 0xc008ae88, &(0x7f0000001a40)={"06000000dd245c8476010000c9c8dc1964325fa96fa42b76010201c02bec0ba41f0100003a40c8a49d0000403b00041f01000000003c5ca2c2000000ee377abaece6b88378e3d63a03000040361d264ffa8b46485f02baee010100c04252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525a72f44500a1f0db500800000000000008f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa006a832d309fcda5bb5a6baa41d614f6c8941bee805954a62d196a4e8d4bf6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478fbe65449b404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e69aff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684364673dcfa9235ea5a2ff23c4bb5c5acb2e8976dcac779ff000000000000003d4e185afe28b774b99d38c90937428617de4cdd6f53c419ce31054182fd898af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e9605ab8c3c43840abd17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba16f70f558b2246ad95ccf7d3f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3efb254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f47692613e28387e955722908dd88b56163be8312ff47c5b6f070072975af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047666865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffb7e7603970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d819164300"}) [ 2162.855500][ T32] audit: type=1326 audit(1611159273.966:275): auid=0 uid=0 gid=0 ses=4 subj==unconfined pid=11935 comm="syz-executor.3" exe="/root/syz-executor.3" sig=31 arch=40000003 syscall=265 compat=1 ip=0xf7f8c549 code=0x0 16:14:34 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x203800}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:34 executing program 3: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000040)={0x3, &(0x7f0000000000)=[{0x6c}, {0x7}, {0x6}]}) 16:14:34 executing program 1: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f00000001c0)=0x580, 0x4) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e21, 0x0, @ipv4={[], [], @empty}}, 0x1c) setsockopt$inet6_int(r0, 0x29, 0x31, &(0x7f0000000080)=0x8, 0x4) recvmsg(r0, &(0x7f00000000c0)={0x0, 0x0, 0x0}, 0x2022) [ 2163.263745][ T32] audit: type=1800 audit(1611159274.376:276): pid=11970 uid=0 auid=0 ses=4 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=15750 res=0 errno=0 16:14:34 executing program 4: unshare(0x20600) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_RUN(r2, 0x4090ae82, 0xffffffff00000000) [ 2163.474364][ T32] audit: type=1326 audit(1611159274.586:277): auid=0 uid=0 gid=0 ses=4 subj==unconfined pid=11978 comm="syz-executor.3" exe="/root/syz-executor.3" sig=31 arch=40000003 syscall=265 compat=1 ip=0xf7f8c549 code=0x0 16:14:34 executing program 5: recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000900)={&(0x7f00000004c0)=@isdn, 0x80, 0x0}, 0x0) r0 = socket$kcm(0x11, 0x8000000000000003, 0x0) setsockopt$sock_attach_bpf(r0, 0x107, 0xf, &(0x7f0000001640), 0xff5f) sendmsg(r0, &(0x7f0000000440)={&(0x7f00000006c0)=@nfc={0x103, 0x9}, 0x60, &(0x7f0000000140)=[{&(0x7f00000027c0)="11840200903c08233e496d5671dc71ff04291b2c1501772502bb867063f70647862a15257781bcf1d1e498104d082833914ee68afc14ac7cb85975751b8c31271948ee303aa2a34be964b8c1b95638607b2e7ec7fda28fea4caada028a39bf259538214e80b9b5c9b58b1cb36a933d64a25324566f7733ea93fc91c98fec268cb1e2148198e2ccf2463d2ae56c61ac436c336b2d421c6b512a600955c6ede3e5820165eabf2dda9e2294300485327a6d28f7913f19d79e5f478626bb6a607c2f5085c68749edc417da6cc4db8c605215575067836f62b0b3e0b49e8c321240c1b1b54babad07a7000c4eb99200b9d016f1554683b7b3323ab37f066b973d584345792feba5b719ec0413d1c37689ce927de538b4ac16687f6595120220e5205f79227e43a8eaa610c8c232bcb811b4a63eab1b87da214700408e830774dcd6318bec9ef28b9171b0492bddb09009a8d26f797713d81548e0c547b8aa7bcd844c2cfa69560deaa6188b576792cccdc09a1f94da4e4c4f05e4d053d6a2fcdb253dce696d6cd85a1aee740c2a84e3d63aa558d3db42531e2303c6e8cfc0b6e31950fcbf3021f708d47c05edcf3fcdd66226d99f1f132d73f698e0820c395f343e0d69042b6b06bf40b45ea6a8f52a32255f3c40d4e9fb93084421a6235116be29125e5afe2d8c418cedb2548db2fcade80c118af8a6be1e650517519721a5920f842662aad37473f2ba60f7ee8466f8dba829c3e17d3e618ef5768b1b0a8991c64f2e592e726bb4636d13fbd04ed71b031e1c1a27fe30325e521a9845ef1abae620cefb216c47a1e3b4db8cb1287006b9fed827fa5a944b8045a3397ba4208c5cb67117393b2f836e4e79196e05ebd7488fa76619ea0521982b9cb76a63bed4f0ffe48ceb4b2bbe4e590dec80eca4740027f855dad06313a2a0188932a2069fc70b8af0e4294a7b51b552ad72ccd5625fd2a971354bad2930eec5f41e0ae271224b8a9160d96965d372c65e4a0adcee1e8bb84406b6a5c5e4d6ed7ff529afdffcdbea58f43e7c39f8aa9845fc92c84aa8bc0eef238d19b2cd3dd0c6d52694c99f2f493b7064076b62d139837eda3d11e43ae52fb771c1585974bcc6e2adb24096fd3d5ac867afb9cfb6ed07cb34e227f00ed5541499d2e7e3b4f3da831a3b9c32de8be0f5b45e8248b5a2811bb452ca6dc7d56d87531347ad316e6e8c6bf887f70f455cdeae8dcfff004b0ed1b8fd63d1d5e55cbdf1541b87821f3c90f7d47e542ec75b132f5285862d3e9fd84f841e4d137e2735d5f23c87108bcaa591a14ab2ab43802ffb176453312420fe0e79af7236850104bc3e925b16fd0a57ee9959ae8ccc13c843365442bb462d86ead8a20c41e064e0ad286f4aa4c69d0046e5012cecf425b0df11c0b458e31804d8ffe98554afc69b475ca03cbe926806b276e19aa47b3e101b95ee2fd32b9f06a3fcf6f078ce694f9ed8fe03425446bcdd0e7c1f4d3e109bbe30020cb81b64bb0cdfd8a0d33e1143c4fbb7fef15d1059e1f20b394f69d482a1da5fd49508808c80c824a843698386b4d3c3885f063aa3c047624f93298040fbc706020d295cf3f363d42f21d327d91d101cc4758c67195a49c3b3002e14cf28a5b8899b7ef08b6713d89c7049ef594361b1d8a0c5838ff30a6a3f1b0f9f947c76d5f1629d3df215975b498bd33ddbc44798a9f76ba0c41e9ad565e44ebf3c333fade1d4306b1042c5e2e855f3e5fdcd64ce7fdf73b09044bec8a2f0cecbb00c6c76c85891478aa4bae6282541cff613f2b461cce115ba0b78c6f50f4593efe5c2ae558f6c0534db14d5b44416b08abe45c6ddf5c749aae8141e427a0a2f42b903ac71caa09e5098cc2c07d79145c7408415d8f937108d6becdbb38a2b3250c0fdf36297375aa3212c9bc8483e8d629c54a79ca55cdda720496753f27fd9e88e203594c1e28514e0d22b9c34c3e1f10253217abed40b09a533fad16c7b9b8e89d7dfd3b27d579bfc813ad2895543ada10f886c7c75010bc70345b727513fa3b7c6aa677a22e037e2bd7731148996f3a8c424075fd12aa8eb9d8f6a8fe7b2eb68934799f5063c58c1816caa4b400bb0914fc7300111c063e5c01910b0b01803a1a348f387542236d82bef6d926ba571ca0e7745e586eddf2334baeafd7b1149502e781ec45299c3f3cd34c3628057def3c012878123224e33828b216022dfebdc6a284e503868a1e4369af819fcfd4124d801386dbb123ce88d54712f6351c77aad6039b2f5ff3d0d1903c74043864fa9f801847ac8446280a31739e0215bce77c08c2477e9079f62225cf179da445e9f220560d995238f17e87dd4ce0f7ebe5f8941d5d130c2d6398e08bb893b5dd8e58701e41e75fd0182d3ebac8920aad7f4777b4e096eb5c5a17e440c0a5b95ca92bbaec63130bbc41d0cbfccb03eb6c1cffc8558bd255c2096a285346dd9600f33554acf62aef19d2776bd5d8a5a9f0a4976022b8ac1400e3f0a7fa227ebc0ad80187939562492154c708739f865a9803512a6213d5026b1febd0a20ce4b3a4d7d90dc5af3f5beaa06b8af1d19556655ac578f9266f5d3b393f24a2d112eee90f749e1f0a6e27ff2469f1cc21d5bcbf355168c62044fd1cc4861544a8175f640ad3c5bb6c81efa331822efb70b57f4110deebe68794211ee4a95c259b4eb519d887b6cfdee178758382f4f63c80b1f0b9f2337dd5a11a5b1fb04c3315ff942cf7f5d7da36c088a65f86529d003c8c9bf74392f9d897b53a422cb3b3f9e09f9936514ac100fecf3c9a573aae041ce3c86cce6dc2884053bc56a510791392bda454aa7dc580a3a7cf71c18dd57bec21c0eb143deb654d8b0fc642bbc7484dc9943c2102169a6aca278f0fd81b1b6b082b355443c8198284e3b01e9fff1c8df1895e9c9593f16438c7f737f2ab56c0f57eadfcd570c5b04b5218fc7d2c0cdca5c7ba5ff428b4fe541d4c8f6fe274d2a3290343f3d6944c918571e350caf2ec3cc9601cd5b71e8f22ff401024c51c592bf476f255b200962e2ed014ce551376235e8d220763f8c9c904570d6b6227c94d62e08b0c9bd3557b96c8ed227685fc54d43e4a05ca5996c4d8e3e5076f394b0c0bc7cdf972f996c45987ffb2d6a138a1772b7ffbeaa66ceddd34839051c61f9d87153f23823f9178b56eb016524ba862cdca9d147b5bda79553ade825d5a1b8ea3acf8c7cad88cd11b68625d367931b9a0296b228fd2c52da32d050d746942fb38dbb3d5e2ad75b7243f7340a8c0d4c7b156e030b6eb154ec6c47c1b6af307ea0e8916e21166572632321f8b4978ecd1f8b4029a6baba4da2dd984d245d1b6dd4a6f2a72acc4d90f480de489826130dd7b2a9ad79938ed6de65c7a56e0515d84302a8a8ee98c20ea32db20b231b9d00e03dd74b804e15c70ce8a6b169ffa79db7e24062b2dd3560502337bb03c8506a25ce77eaa06f9fb54aff0bab9545c32bb9a35a700361f46a3995ef929af7698bf16df9d8965f4d939f5dba6eb238c1089c25617568b29760ecbfef273b8070c3853a652d30da91cb00e0afa1c663589158711984cfe38869974c30e9b51333091cb0f5d72f5ddb0f3bc550b2787ff6fdfe0b90764f8ec319a2674d6e16ca2417b7a2144b5a4ad248fc4b2b8f74ed1957bd4f52f0db0ac4eb8f6dc62c51e16a803bff507359abdbd0ce1ee0fb936a4a060954c1a939b4b197b61311d079ef09e57e60f94fd796c12cf7e62e11bbdc11e04fc79736e42d6d2dcb02e705dc4e8e17addcc0902af4ebbf0a2f57db53cbe99bb0797137c903195de282ed02c37634181936e351f383fb590eb453e539b80c6935185ac40890c1ba70b5e2eb53235f3a983ce4608929d2609354f89fc22f80a0aa9fc0ea9af7f06e46d8b5f5d47dbd2efe1f2d0f4edee09f11b57c257ff5ecfe96ada3c5f37e1d766c5c85490d14f297e1ce65ae34909f04492e7cc955faabb205491a096147d0930ffa70b68055523e360328f26f28ff160cdb8b4785a22110191c9ecfd187267c1a4300e9370a41c73fe224f3a9c54493780b1a4ff96398f0a60f66e48ef4ad7183f71c0c4d6d9d1a57e19a56d9ed426cd4143de82ceb33011988ed079b52ab30300255e066a84959a10676c7b58515ff9bed194c784072af1062734f5d497f2be9b0ea1228f5a981e8d5d78da49da90b040d4e3a93b7f71360b25cf75fca36a4068748e1bc171dd40fa31d6f9c4c926a635f4ea4faf7511146bc5782606966aaab13a30d67cf182751149f678852da30d0f9b6ea5524a1f5ea01e77d7a74ac588ab2251cdbc9f4f8aa2cf367f0ad2178e66fbd7ab447aae12a7bc6cf3925fe99dcdf8ec95cf4576520b781dc12fe6d310978315d2e3d7dbc49c9be2fa40788ebd5fc02c6c7f566a64b7f4af7a96353265dc9e4c74c909b9a385966f4d7312fdcdfa8f5d0632c6db4a19ce696416a04e937d4a994e757eae59c07e5d3228254b35003eba32ed448516e9aa77b5b92c9ce7fff06a8f4f652d27971a46c621a6b2ee3c1adaf60d5cdfb381a4e4ac9ab7d7d72fcb2d6aa7e104255345f1e15dec8299c9c75735a01338d20f72d8b359803becef76d9ca6da029d0a795e6d4a652bf3880efeee074c81774b2971da03eff6d9516ac8a0c34b686aa1afbcb2befc79618a3dbb2bcd53da0075cdba0ddd975fd4e833291005f0fbf7b167922dc85b109e1381431e0fdc50f80b8592edd57f50f9dd950205e1a21cd3026cb30abe6d06dbec6c7cdb76d90c0e85a69aa1522281bcb3f4fc54ee443e76c7d9bf82e313f2dc3e277c699e079a847635780a5b724aca0ede72febba648de12fd14e3a78b29e9df82a19f4ed9c712e5b313c05e6908f6d4601d076afda5cf77eab4ea7c44c9d40f463fe8cde79f18170de9b087b113cfc7d467bd164564c2a8a99e4566d6f9eb1a8d5393700158fe84c109735cfe0ab45d9eb6fe61619d8538512730e015ffac07279973126e9087b209144c8797dd6b65381e616256a9cbf7771222c41618eb82d3539e7750ef0614acb4c901f88f31589d9d6d87c4b2a5361ad44155bf5476f2bc42cd2e758d478a1bcaf27c6c5607f025c8ff75913cb95eb631a690e3e6201204e616a4482a6eae323dadc0a9c22a7de1567ec3f45380bbde304cc76efd4bb0ac9f28475534eb973fc02f3f5dc73a862052f82f6d40c0821012589925ce3f2274ff2a8097b8464b44068c1505b967679bcc6b5d7e7ece9bd1880fc32531fe5d7bac9c5262a709239e477ecf44915a70aa7f984ec1bed047f3ec92a55714403c7c7503a3ac87cec792e072eefa623c56b6b33beb5ae7f5066a952cf6b0b25ab74841e5d2a9b20b1fe0cd83c3aae37eac0dd08d6a65410af956767766f2c6c12d13e87f363052e1e645c2dccd42948be835a9fe1c8892453b73cbcaa7c9222ccece11f86fba52d29d64a609da597e226e5f59e9a8301297c1e9881557a860df15ee14cf4bf70988e2cf90359587bc378adba5aa610db3cc1d6ae5fba9390b4c", 0x5}, {&(0x7f0000000840)="e6", 0xc9ed}], 0x2, 0x0, 0x0, 0x1a0}, 0x80) 16:14:34 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) r4 = fcntl$dupfd(r3, 0x0, r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) ioctl$KVM_SET_LAPIC(r2, 0xc008ae88, &(0x7f0000001a40)={"06000000dd245c8476010000c9c8dc1964325fa96fa42b76010201c02bec0ba41f0100003a40c8a49d0000403b00041f01000000003c5ca2c2000000ee377abaece6b88378e3d63a03000040361d264ffa8b46485f02baee010100c04252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525a72f44500a1f0db500800000000000008f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa006a832d309fcda5bb5a6baa41d614f6c8941bee805954a62d196a4e8d4bf6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478fbe65449b404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e69aff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684364673dcfa9235ea5a2ff23c4bb5c5acb2e8976dcac779ff000000000000003d4e185afe28b774b99d38c90937428617de4cdd6f53c419ce31054182fd898af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e9605ab8c3c43840abd17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba16f70f558b2246ad95ccf7d3f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3efb254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f47692613e28387e955722908dd88b56163be8312ff47c5b6f070072975af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047666865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffb7e7603970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d819164300"}) 16:14:34 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x203900}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:35 executing program 1: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f00000001c0)=0x580, 0x4) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e21, 0x0, @ipv4={[], [], @empty}}, 0x1c) setsockopt$inet6_int(r0, 0x29, 0x31, &(0x7f0000000080)=0x8, 0x4) recvmsg(r0, &(0x7f00000000c0)={0x0, 0x0, 0x0}, 0x2022) 16:14:35 executing program 4: r0 = bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0xe, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x61, 0x10, 0x60}, [@ldst={0x6, 0x0, 0x6}]}, &(0x7f0000003ff6)='GPL\x00', 0x4, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x366, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) r1 = bpf$MAP_CREATE(0x100000000000000, &(0x7f00000000c0)={0xf, 0x4, 0x8, 0x4, 0x0, 0xffffffffffffffff, 0x0, [0x0, 0x0, 0x0, 0x0, 0x2000000]}, 0x40) bpf$BPF_PROG_DETACH(0x8, &(0x7f0000000080)={@map=r1, r0, 0x4}, 0x10) bpf$BPF_PROG_DETACH(0x9, &(0x7f0000000080)={@map=r1, r0, 0x4}, 0x2d) 16:14:35 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x2ba) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)=ANY=[@ANYBLOB="3c000000100085060002b4aa9bf211d328000000", @ANYRES32=r3, @ANYBLOB="fe2f0000001e00001c0012000c000100626f6e64000000000c00020008"], 0x3c}}, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000003c0)=ANY=[@ANYBLOB="5000000010001fff000700000008000000000000", @ANYRES32=0x0, @ANYBLOB="00f9ffffffffffff27001200090001007665746800000000180002001400f5a287690000", @ANYRES32, @ANYBLOB="200002000010000008000a00", @ANYRES32=r3], 0x50}}, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = syz_open_dev$vcsa(&(0x7f0000000380)='/dev/vcsa#\x00', 0x3, 0x0) bind$unix(r5, &(0x7f0000000540)=@file={0x0, './file0\x00'}, 0x6e) r6 = openat$vcsu(0xffffff9c, &(0x7f0000000940)='/dev/vcsu\x00', 0x4000, 0x0) ioctl$RTC_EPOCH_SET(r6, 0x4004700e, 0x5) perf_event_open(&(0x7f0000000080)={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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_open_procfs(0x0, 0x0) sendmsg$NLBL_MGMT_C_REMOVEDEF(0xffffffffffffffff, &(0x7f0000000900)={&(0x7f0000000840)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f00000008c0)={&(0x7f00000005c0)=ANY=[@ANYRES16=0x0, @ANYBLOB="010028bd7000fbdbdf250500000008000700ac141814bb02000500fc0200000000000000000000000000000800020005000000080008000a0101011e734252dd146eac7b8f42a393c6f4808e9fb2b1bde8423bcc5f4a4ea35905bfc9c092bd8cb3ad13ebdbb7a721c0dde2f2addabee7100638b51074401644cf9def4ef4cc112022127f07800d19f443afa3ffd91af52b80568cc977f843d24d15832b046a3a646105af1990d728460d7d6935519a86192c1b25a2a4c19a9f0ebf0cd079fde90bfbdf09d167e3c1b0c8bb3595"], 0x40}}, 0x0) sendto(0xffffffffffffffff, &(0x7f00000001c0)="b29c1778536f66", 0x7, 0x814, 0x0, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000000300)) sendmsg$nl_route(r4, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000500)=@newlink={0x20, 0x11, 0x40d, 0x0, 0x0, {0x10, 0x0, 0x0, r3}}, 0x20}}, 0x0) 16:14:35 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x203c00}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:35 executing program 5: recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000900)={&(0x7f00000004c0)=@isdn, 0x80, 0x0}, 0x0) r0 = socket$kcm(0x11, 0x8000000000000003, 0x0) setsockopt$sock_attach_bpf(r0, 0x107, 0xf, &(0x7f0000001640), 0xff5f) sendmsg(r0, &(0x7f0000000440)={&(0x7f00000006c0)=@nfc={0x103, 0x9}, 0x60, &(0x7f0000000140)=[{&(0x7f00000027c0)="11840200903c08233e496d5671dc71ff04291b2c1501772502bb867063f70647862a15257781bcf1d1e498104d082833914ee68afc14ac7cb85975751b8c31271948ee303aa2a34be964b8c1b95638607b2e7ec7fda28fea4caada028a39bf259538214e80b9b5c9b58b1cb36a933d64a25324566f7733ea93fc91c98fec268cb1e2148198e2ccf2463d2ae56c61ac436c336b2d421c6b512a600955c6ede3e5820165eabf2dda9e2294300485327a6d28f7913f19d79e5f478626bb6a607c2f5085c68749edc417da6cc4db8c605215575067836f62b0b3e0b49e8c321240c1b1b54babad07a7000c4eb99200b9d016f1554683b7b3323ab37f066b973d584345792feba5b719ec0413d1c37689ce927de538b4ac16687f6595120220e5205f79227e43a8eaa610c8c232bcb811b4a63eab1b87da214700408e830774dcd6318bec9ef28b9171b0492bddb09009a8d26f797713d81548e0c547b8aa7bcd844c2cfa69560deaa6188b576792cccdc09a1f94da4e4c4f05e4d053d6a2fcdb253dce696d6cd85a1aee740c2a84e3d63aa558d3db42531e2303c6e8cfc0b6e31950fcbf3021f708d47c05edcf3fcdd66226d99f1f132d73f698e0820c395f343e0d69042b6b06bf40b45ea6a8f52a32255f3c40d4e9fb93084421a6235116be29125e5afe2d8c418cedb2548db2fcade80c118af8a6be1e650517519721a5920f842662aad37473f2ba60f7ee8466f8dba829c3e17d3e618ef5768b1b0a8991c64f2e592e726bb4636d13fbd04ed71b031e1c1a27fe30325e521a9845ef1abae620cefb216c47a1e3b4db8cb1287006b9fed827fa5a944b8045a3397ba4208c5cb67117393b2f836e4e79196e05ebd7488fa76619ea0521982b9cb76a63bed4f0ffe48ceb4b2bbe4e590dec80eca4740027f855dad06313a2a0188932a2069fc70b8af0e4294a7b51b552ad72ccd5625fd2a971354bad2930eec5f41e0ae271224b8a9160d96965d372c65e4a0adcee1e8bb84406b6a5c5e4d6ed7ff529afdffcdbea58f43e7c39f8aa9845fc92c84aa8bc0eef238d19b2cd3dd0c6d52694c99f2f493b7064076b62d139837eda3d11e43ae52fb771c1585974bcc6e2adb24096fd3d5ac867afb9cfb6ed07cb34e227f00ed5541499d2e7e3b4f3da831a3b9c32de8be0f5b45e8248b5a2811bb452ca6dc7d56d87531347ad316e6e8c6bf887f70f455cdeae8dcfff004b0ed1b8fd63d1d5e55cbdf1541b87821f3c90f7d47e542ec75b132f5285862d3e9fd84f841e4d137e2735d5f23c87108bcaa591a14ab2ab43802ffb176453312420fe0e79af7236850104bc3e925b16fd0a57ee9959ae8ccc13c843365442bb462d86ead8a20c41e064e0ad286f4aa4c69d0046e5012cecf425b0df11c0b458e31804d8ffe98554afc69b475ca03cbe926806b276e19aa47b3e101b95ee2fd32b9f06a3fcf6f078ce694f9ed8fe03425446bcdd0e7c1f4d3e109bbe30020cb81b64bb0cdfd8a0d33e1143c4fbb7fef15d1059e1f20b394f69d482a1da5fd49508808c80c824a843698386b4d3c3885f063aa3c047624f93298040fbc706020d295cf3f363d42f21d327d91d101cc4758c67195a49c3b3002e14cf28a5b8899b7ef08b6713d89c7049ef594361b1d8a0c5838ff30a6a3f1b0f9f947c76d5f1629d3df215975b498bd33ddbc44798a9f76ba0c41e9ad565e44ebf3c333fade1d4306b1042c5e2e855f3e5fdcd64ce7fdf73b09044bec8a2f0cecbb00c6c76c85891478aa4bae6282541cff613f2b461cce115ba0b78c6f50f4593efe5c2ae558f6c0534db14d5b44416b08abe45c6ddf5c749aae8141e427a0a2f42b903ac71caa09e5098cc2c07d79145c7408415d8f937108d6becdbb38a2b3250c0fdf36297375aa3212c9bc8483e8d629c54a79ca55cdda720496753f27fd9e88e203594c1e28514e0d22b9c34c3e1f10253217abed40b09a533fad16c7b9b8e89d7dfd3b27d579bfc813ad2895543ada10f886c7c75010bc70345b727513fa3b7c6aa677a22e037e2bd7731148996f3a8c424075fd12aa8eb9d8f6a8fe7b2eb68934799f5063c58c1816caa4b400bb0914fc7300111c063e5c01910b0b01803a1a348f387542236d82bef6d926ba571ca0e7745e586eddf2334baeafd7b1149502e781ec45299c3f3cd34c3628057def3c012878123224e33828b216022dfebdc6a284e503868a1e4369af819fcfd4124d801386dbb123ce88d54712f6351c77aad6039b2f5ff3d0d1903c74043864fa9f801847ac8446280a31739e0215bce77c08c2477e9079f62225cf179da445e9f220560d995238f17e87dd4ce0f7ebe5f8941d5d130c2d6398e08bb893b5dd8e58701e41e75fd0182d3ebac8920aad7f4777b4e096eb5c5a17e440c0a5b95ca92bbaec63130bbc41d0cbfccb03eb6c1cffc8558bd255c2096a285346dd9600f33554acf62aef19d2776bd5d8a5a9f0a4976022b8ac1400e3f0a7fa227ebc0ad80187939562492154c708739f865a9803512a6213d5026b1febd0a20ce4b3a4d7d90dc5af3f5beaa06b8af1d19556655ac578f9266f5d3b393f24a2d112eee90f749e1f0a6e27ff2469f1cc21d5bcbf355168c62044fd1cc4861544a8175f640ad3c5bb6c81efa331822efb70b57f4110deebe68794211ee4a95c259b4eb519d887b6cfdee178758382f4f63c80b1f0b9f2337dd5a11a5b1fb04c3315ff942cf7f5d7da36c088a65f86529d003c8c9bf74392f9d897b53a422cb3b3f9e09f9936514ac100fecf3c9a573aae041ce3c86cce6dc2884053bc56a510791392bda454aa7dc580a3a7cf71c18dd57bec21c0eb143deb654d8b0fc642bbc7484dc9943c2102169a6aca278f0fd81b1b6b082b355443c8198284e3b01e9fff1c8df1895e9c9593f16438c7f737f2ab56c0f57eadfcd570c5b04b5218fc7d2c0cdca5c7ba5ff428b4fe541d4c8f6fe274d2a3290343f3d6944c918571e350caf2ec3cc9601cd5b71e8f22ff401024c51c592bf476f255b200962e2ed014ce551376235e8d220763f8c9c904570d6b6227c94d62e08b0c9bd3557b96c8ed227685fc54d43e4a05ca5996c4d8e3e5076f394b0c0bc7cdf972f996c45987ffb2d6a138a1772b7ffbeaa66ceddd34839051c61f9d87153f23823f9178b56eb016524ba862cdca9d147b5bda79553ade825d5a1b8ea3acf8c7cad88cd11b68625d367931b9a0296b228fd2c52da32d050d746942fb38dbb3d5e2ad75b7243f7340a8c0d4c7b156e030b6eb154ec6c47c1b6af307ea0e8916e21166572632321f8b4978ecd1f8b4029a6baba4da2dd984d245d1b6dd4a6f2a72acc4d90f480de489826130dd7b2a9ad79938ed6de65c7a56e0515d84302a8a8ee98c20ea32db20b231b9d00e03dd74b804e15c70ce8a6b169ffa79db7e24062b2dd3560502337bb03c8506a25ce77eaa06f9fb54aff0bab9545c32bb9a35a700361f46a3995ef929af7698bf16df9d8965f4d939f5dba6eb238c1089c25617568b29760ecbfef273b8070c3853a652d30da91cb00e0afa1c663589158711984cfe38869974c30e9b51333091cb0f5d72f5ddb0f3bc550b2787ff6fdfe0b90764f8ec319a2674d6e16ca2417b7a2144b5a4ad248fc4b2b8f74ed1957bd4f52f0db0ac4eb8f6dc62c51e16a803bff507359abdbd0ce1ee0fb936a4a060954c1a939b4b197b61311d079ef09e57e60f94fd796c12cf7e62e11bbdc11e04fc79736e42d6d2dcb02e705dc4e8e17addcc0902af4ebbf0a2f57db53cbe99bb0797137c903195de282ed02c37634181936e351f383fb590eb453e539b80c6935185ac40890c1ba70b5e2eb53235f3a983ce4608929d2609354f89fc22f80a0aa9fc0ea9af7f06e46d8b5f5d47dbd2efe1f2d0f4edee09f11b57c257ff5ecfe96ada3c5f37e1d766c5c85490d14f297e1ce65ae34909f04492e7cc955faabb205491a096147d0930ffa70b68055523e360328f26f28ff160cdb8b4785a22110191c9ecfd187267c1a4300e9370a41c73fe224f3a9c54493780b1a4ff96398f0a60f66e48ef4ad7183f71c0c4d6d9d1a57e19a56d9ed426cd4143de82ceb33011988ed079b52ab30300255e066a84959a10676c7b58515ff9bed194c784072af1062734f5d497f2be9b0ea1228f5a981e8d5d78da49da90b040d4e3a93b7f71360b25cf75fca36a4068748e1bc171dd40fa31d6f9c4c926a635f4ea4faf7511146bc5782606966aaab13a30d67cf182751149f678852da30d0f9b6ea5524a1f5ea01e77d7a74ac588ab2251cdbc9f4f8aa2cf367f0ad2178e66fbd7ab447aae12a7bc6cf3925fe99dcdf8ec95cf4576520b781dc12fe6d310978315d2e3d7dbc49c9be2fa40788ebd5fc02c6c7f566a64b7f4af7a96353265dc9e4c74c909b9a385966f4d7312fdcdfa8f5d0632c6db4a19ce696416a04e937d4a994e757eae59c07e5d3228254b35003eba32ed448516e9aa77b5b92c9ce7fff06a8f4f652d27971a46c621a6b2ee3c1adaf60d5cdfb381a4e4ac9ab7d7d72fcb2d6aa7e104255345f1e15dec8299c9c75735a01338d20f72d8b359803becef76d9ca6da029d0a795e6d4a652bf3880efeee074c81774b2971da03eff6d9516ac8a0c34b686aa1afbcb2befc79618a3dbb2bcd53da0075cdba0ddd975fd4e833291005f0fbf7b167922dc85b109e1381431e0fdc50f80b8592edd57f50f9dd950205e1a21cd3026cb30abe6d06dbec6c7cdb76d90c0e85a69aa1522281bcb3f4fc54ee443e76c7d9bf82e313f2dc3e277c699e079a847635780a5b724aca0ede72febba648de12fd14e3a78b29e9df82a19f4ed9c712e5b313c05e6908f6d4601d076afda5cf77eab4ea7c44c9d40f463fe8cde79f18170de9b087b113cfc7d467bd164564c2a8a99e4566d6f9eb1a8d5393700158fe84c109735cfe0ab45d9eb6fe61619d8538512730e015ffac07279973126e9087b209144c8797dd6b65381e616256a9cbf7771222c41618eb82d3539e7750ef0614acb4c901f88f31589d9d6d87c4b2a5361ad44155bf5476f2bc42cd2e758d478a1bcaf27c6c5607f025c8ff75913cb95eb631a690e3e6201204e616a4482a6eae323dadc0a9c22a7de1567ec3f45380bbde304cc76efd4bb0ac9f28475534eb973fc02f3f5dc73a862052f82f6d40c0821012589925ce3f2274ff2a8097b8464b44068c1505b967679bcc6b5d7e7ece9bd1880fc32531fe5d7bac9c5262a709239e477ecf44915a70aa7f984ec1bed047f3ec92a55714403c7c7503a3ac87cec792e072eefa623c56b6b33beb5ae7f5066a952cf6b0b25ab74841e5d2a9b20b1fe0cd83c3aae37eac0dd08d6a65410af956767766f2c6c12d13e87f363052e1e645c2dccd42948be835a9fe1c8892453b73cbcaa7c9222ccece11f86fba52d29d64a609da597e226e5f59e9a8301297c1e9881557a860df15ee14cf4bf70988e2cf90359587bc378adba5aa610db3cc1d6ae5fba9390b4c", 0x5}, {&(0x7f0000000840)="e6", 0xc9ed}], 0x2, 0x0, 0x0, 0x1a0}, 0x80) 16:14:35 executing program 3: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000040)={0x3, &(0x7f0000000000)=[{0x6c}, {0x7}, {0x6}]}) 16:14:35 executing program 1: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f00000001c0)=0x580, 0x4) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e21, 0x0, @ipv4={[], [], @empty}}, 0x1c) setsockopt$inet6_int(r0, 0x29, 0x31, &(0x7f0000000080)=0x8, 0x4) recvmsg(r0, &(0x7f00000000c0)={0x0, 0x0, 0x0}, 0x2022) [ 2164.687722][T12041] netlink: 23 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2164.716907][T12041] device veth76 entered promiscuous mode [ 2164.732161][T12041] bond3: (slave veth76): Enslaving as an active interface with an up link [ 2164.768747][ T32] audit: type=1326 audit(1611159275.886:278): auid=0 uid=0 gid=0 ses=4 subj==unconfined pid=12044 comm="syz-executor.3" exe="/root/syz-executor.3" sig=31 arch=40000003 syscall=265 compat=1 ip=0xf7f8c549 code=0x0 16:14:36 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x203f00}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:36 executing program 4: openat$vicodec0(0xffffffffffffff9c, &(0x7f0000000080)='/dev/video36\x00', 0x2, 0x0) r0 = openat$vimc2(0xffffffffffffff9c, &(0x7f00000003c0)='/dev/video2\x00', 0x2, 0x0) ioctl$VIDIOC_REQBUFS(r0, 0xc058560f, &(0x7f0000000040)={0x0, 0x9}) [ 2165.086413][T12054] bond3 (unregistering): (slave veth76): Releasing backup interface 16:14:36 executing program 5: recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000900)={&(0x7f00000004c0)=@isdn, 0x80, 0x0}, 0x0) r0 = socket$kcm(0x11, 0x8000000000000003, 0x0) setsockopt$sock_attach_bpf(r0, 0x107, 0xf, &(0x7f0000001640), 0xff5f) sendmsg(r0, &(0x7f0000000440)={&(0x7f00000006c0)=@nfc={0x103, 0x9}, 0x60, &(0x7f0000000140)=[{&(0x7f00000027c0)="11840200903c08233e496d5671dc71ff04291b2c1501772502bb867063f70647862a15257781bcf1d1e498104d082833914ee68afc14ac7cb85975751b8c31271948ee303aa2a34be964b8c1b95638607b2e7ec7fda28fea4caada028a39bf259538214e80b9b5c9b58b1cb36a933d64a25324566f7733ea93fc91c98fec268cb1e2148198e2ccf2463d2ae56c61ac436c336b2d421c6b512a600955c6ede3e5820165eabf2dda9e2294300485327a6d28f7913f19d79e5f478626bb6a607c2f5085c68749edc417da6cc4db8c605215575067836f62b0b3e0b49e8c321240c1b1b54babad07a7000c4eb99200b9d016f1554683b7b3323ab37f066b973d584345792feba5b719ec0413d1c37689ce927de538b4ac16687f6595120220e5205f79227e43a8eaa610c8c232bcb811b4a63eab1b87da214700408e830774dcd6318bec9ef28b9171b0492bddb09009a8d26f797713d81548e0c547b8aa7bcd844c2cfa69560deaa6188b576792cccdc09a1f94da4e4c4f05e4d053d6a2fcdb253dce696d6cd85a1aee740c2a84e3d63aa558d3db42531e2303c6e8cfc0b6e31950fcbf3021f708d47c05edcf3fcdd66226d99f1f132d73f698e0820c395f343e0d69042b6b06bf40b45ea6a8f52a32255f3c40d4e9fb93084421a6235116be29125e5afe2d8c418cedb2548db2fcade80c118af8a6be1e650517519721a5920f842662aad37473f2ba60f7ee8466f8dba829c3e17d3e618ef5768b1b0a8991c64f2e592e726bb4636d13fbd04ed71b031e1c1a27fe30325e521a9845ef1abae620cefb216c47a1e3b4db8cb1287006b9fed827fa5a944b8045a3397ba4208c5cb67117393b2f836e4e79196e05ebd7488fa76619ea0521982b9cb76a63bed4f0ffe48ceb4b2bbe4e590dec80eca4740027f855dad06313a2a0188932a2069fc70b8af0e4294a7b51b552ad72ccd5625fd2a971354bad2930eec5f41e0ae271224b8a9160d96965d372c65e4a0adcee1e8bb84406b6a5c5e4d6ed7ff529afdffcdbea58f43e7c39f8aa9845fc92c84aa8bc0eef238d19b2cd3dd0c6d52694c99f2f493b7064076b62d139837eda3d11e43ae52fb771c1585974bcc6e2adb24096fd3d5ac867afb9cfb6ed07cb34e227f00ed5541499d2e7e3b4f3da831a3b9c32de8be0f5b45e8248b5a2811bb452ca6dc7d56d87531347ad316e6e8c6bf887f70f455cdeae8dcfff004b0ed1b8fd63d1d5e55cbdf1541b87821f3c90f7d47e542ec75b132f5285862d3e9fd84f841e4d137e2735d5f23c87108bcaa591a14ab2ab43802ffb176453312420fe0e79af7236850104bc3e925b16fd0a57ee9959ae8ccc13c843365442bb462d86ead8a20c41e064e0ad286f4aa4c69d0046e5012cecf425b0df11c0b458e31804d8ffe98554afc69b475ca03cbe926806b276e19aa47b3e101b95ee2fd32b9f06a3fcf6f078ce694f9ed8fe03425446bcdd0e7c1f4d3e109bbe30020cb81b64bb0cdfd8a0d33e1143c4fbb7fef15d1059e1f20b394f69d482a1da5fd49508808c80c824a843698386b4d3c3885f063aa3c047624f93298040fbc706020d295cf3f363d42f21d327d91d101cc4758c67195a49c3b3002e14cf28a5b8899b7ef08b6713d89c7049ef594361b1d8a0c5838ff30a6a3f1b0f9f947c76d5f1629d3df215975b498bd33ddbc44798a9f76ba0c41e9ad565e44ebf3c333fade1d4306b1042c5e2e855f3e5fdcd64ce7fdf73b09044bec8a2f0cecbb00c6c76c85891478aa4bae6282541cff613f2b461cce115ba0b78c6f50f4593efe5c2ae558f6c0534db14d5b44416b08abe45c6ddf5c749aae8141e427a0a2f42b903ac71caa09e5098cc2c07d79145c7408415d8f937108d6becdbb38a2b3250c0fdf36297375aa3212c9bc8483e8d629c54a79ca55cdda720496753f27fd9e88e203594c1e28514e0d22b9c34c3e1f10253217abed40b09a533fad16c7b9b8e89d7dfd3b27d579bfc813ad2895543ada10f886c7c75010bc70345b727513fa3b7c6aa677a22e037e2bd7731148996f3a8c424075fd12aa8eb9d8f6a8fe7b2eb68934799f5063c58c1816caa4b400bb0914fc7300111c063e5c01910b0b01803a1a348f387542236d82bef6d926ba571ca0e7745e586eddf2334baeafd7b1149502e781ec45299c3f3cd34c3628057def3c012878123224e33828b216022dfebdc6a284e503868a1e4369af819fcfd4124d801386dbb123ce88d54712f6351c77aad6039b2f5ff3d0d1903c74043864fa9f801847ac8446280a31739e0215bce77c08c2477e9079f62225cf179da445e9f220560d995238f17e87dd4ce0f7ebe5f8941d5d130c2d6398e08bb893b5dd8e58701e41e75fd0182d3ebac8920aad7f4777b4e096eb5c5a17e440c0a5b95ca92bbaec63130bbc41d0cbfccb03eb6c1cffc8558bd255c2096a285346dd9600f33554acf62aef19d2776bd5d8a5a9f0a4976022b8ac1400e3f0a7fa227ebc0ad80187939562492154c708739f865a9803512a6213d5026b1febd0a20ce4b3a4d7d90dc5af3f5beaa06b8af1d19556655ac578f9266f5d3b393f24a2d112eee90f749e1f0a6e27ff2469f1cc21d5bcbf355168c62044fd1cc4861544a8175f640ad3c5bb6c81efa331822efb70b57f4110deebe68794211ee4a95c259b4eb519d887b6cfdee178758382f4f63c80b1f0b9f2337dd5a11a5b1fb04c3315ff942cf7f5d7da36c088a65f86529d003c8c9bf74392f9d897b53a422cb3b3f9e09f9936514ac100fecf3c9a573aae041ce3c86cce6dc2884053bc56a510791392bda454aa7dc580a3a7cf71c18dd57bec21c0eb143deb654d8b0fc642bbc7484dc9943c2102169a6aca278f0fd81b1b6b082b355443c8198284e3b01e9fff1c8df1895e9c9593f16438c7f737f2ab56c0f57eadfcd570c5b04b5218fc7d2c0cdca5c7ba5ff428b4fe541d4c8f6fe274d2a3290343f3d6944c918571e350caf2ec3cc9601cd5b71e8f22ff401024c51c592bf476f255b200962e2ed014ce551376235e8d220763f8c9c904570d6b6227c94d62e08b0c9bd3557b96c8ed227685fc54d43e4a05ca5996c4d8e3e5076f394b0c0bc7cdf972f996c45987ffb2d6a138a1772b7ffbeaa66ceddd34839051c61f9d87153f23823f9178b56eb016524ba862cdca9d147b5bda79553ade825d5a1b8ea3acf8c7cad88cd11b68625d367931b9a0296b228fd2c52da32d050d746942fb38dbb3d5e2ad75b7243f7340a8c0d4c7b156e030b6eb154ec6c47c1b6af307ea0e8916e21166572632321f8b4978ecd1f8b4029a6baba4da2dd984d245d1b6dd4a6f2a72acc4d90f480de489826130dd7b2a9ad79938ed6de65c7a56e0515d84302a8a8ee98c20ea32db20b231b9d00e03dd74b804e15c70ce8a6b169ffa79db7e24062b2dd3560502337bb03c8506a25ce77eaa06f9fb54aff0bab9545c32bb9a35a700361f46a3995ef929af7698bf16df9d8965f4d939f5dba6eb238c1089c25617568b29760ecbfef273b8070c3853a652d30da91cb00e0afa1c663589158711984cfe38869974c30e9b51333091cb0f5d72f5ddb0f3bc550b2787ff6fdfe0b90764f8ec319a2674d6e16ca2417b7a2144b5a4ad248fc4b2b8f74ed1957bd4f52f0db0ac4eb8f6dc62c51e16a803bff507359abdbd0ce1ee0fb936a4a060954c1a939b4b197b61311d079ef09e57e60f94fd796c12cf7e62e11bbdc11e04fc79736e42d6d2dcb02e705dc4e8e17addcc0902af4ebbf0a2f57db53cbe99bb0797137c903195de282ed02c37634181936e351f383fb590eb453e539b80c6935185ac40890c1ba70b5e2eb53235f3a983ce4608929d2609354f89fc22f80a0aa9fc0ea9af7f06e46d8b5f5d47dbd2efe1f2d0f4edee09f11b57c257ff5ecfe96ada3c5f37e1d766c5c85490d14f297e1ce65ae34909f04492e7cc955faabb205491a096147d0930ffa70b68055523e360328f26f28ff160cdb8b4785a22110191c9ecfd187267c1a4300e9370a41c73fe224f3a9c54493780b1a4ff96398f0a60f66e48ef4ad7183f71c0c4d6d9d1a57e19a56d9ed426cd4143de82ceb33011988ed079b52ab30300255e066a84959a10676c7b58515ff9bed194c784072af1062734f5d497f2be9b0ea1228f5a981e8d5d78da49da90b040d4e3a93b7f71360b25cf75fca36a4068748e1bc171dd40fa31d6f9c4c926a635f4ea4faf7511146bc5782606966aaab13a30d67cf182751149f678852da30d0f9b6ea5524a1f5ea01e77d7a74ac588ab2251cdbc9f4f8aa2cf367f0ad2178e66fbd7ab447aae12a7bc6cf3925fe99dcdf8ec95cf4576520b781dc12fe6d310978315d2e3d7dbc49c9be2fa40788ebd5fc02c6c7f566a64b7f4af7a96353265dc9e4c74c909b9a385966f4d7312fdcdfa8f5d0632c6db4a19ce696416a04e937d4a994e757eae59c07e5d3228254b35003eba32ed448516e9aa77b5b92c9ce7fff06a8f4f652d27971a46c621a6b2ee3c1adaf60d5cdfb381a4e4ac9ab7d7d72fcb2d6aa7e104255345f1e15dec8299c9c75735a01338d20f72d8b359803becef76d9ca6da029d0a795e6d4a652bf3880efeee074c81774b2971da03eff6d9516ac8a0c34b686aa1afbcb2befc79618a3dbb2bcd53da0075cdba0ddd975fd4e833291005f0fbf7b167922dc85b109e1381431e0fdc50f80b8592edd57f50f9dd950205e1a21cd3026cb30abe6d06dbec6c7cdb76d90c0e85a69aa1522281bcb3f4fc54ee443e76c7d9bf82e313f2dc3e277c699e079a847635780a5b724aca0ede72febba648de12fd14e3a78b29e9df82a19f4ed9c712e5b313c05e6908f6d4601d076afda5cf77eab4ea7c44c9d40f463fe8cde79f18170de9b087b113cfc7d467bd164564c2a8a99e4566d6f9eb1a8d5393700158fe84c109735cfe0ab45d9eb6fe61619d8538512730e015ffac07279973126e9087b209144c8797dd6b65381e616256a9cbf7771222c41618eb82d3539e7750ef0614acb4c901f88f31589d9d6d87c4b2a5361ad44155bf5476f2bc42cd2e758d478a1bcaf27c6c5607f025c8ff75913cb95eb631a690e3e6201204e616a4482a6eae323dadc0a9c22a7de1567ec3f45380bbde304cc76efd4bb0ac9f28475534eb973fc02f3f5dc73a862052f82f6d40c0821012589925ce3f2274ff2a8097b8464b44068c1505b967679bcc6b5d7e7ece9bd1880fc32531fe5d7bac9c5262a709239e477ecf44915a70aa7f984ec1bed047f3ec92a55714403c7c7503a3ac87cec792e072eefa623c56b6b33beb5ae7f5066a952cf6b0b25ab74841e5d2a9b20b1fe0cd83c3aae37eac0dd08d6a65410af956767766f2c6c12d13e87f363052e1e645c2dccd42948be835a9fe1c8892453b73cbcaa7c9222ccece11f86fba52d29d64a609da597e226e5f59e9a8301297c1e9881557a860df15ee14cf4bf70988e2cf90359587bc378adba5aa610db3cc1d6ae5fba9390b4c", 0x5}, {&(0x7f0000000840)="e6", 0xc9ed}], 0x2, 0x0, 0x0, 0x1a0}, 0x80) 16:14:36 executing program 1: r0 = socket$inet6(0xa, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f00000001c0)=0x580, 0x4) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000140)={0xa, 0x4e21, 0x0, @ipv4={[], [], @empty}}, 0x1c) setsockopt$inet6_int(r0, 0x29, 0x31, &(0x7f0000000080)=0x8, 0x4) recvmsg(r0, &(0x7f00000000c0)={0x0, 0x0, 0x0}, 0x2022) 16:14:36 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0x2f}, [@ldst={0x6, 0x2, 0x5, 0x0, 0x0, 0x0, 0x204400}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:14:37 executing program 4: perf_event_open(&(0x7f0000000380)={0x2, 0x70, 0x69, 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, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SETSEL(r0, 0x541c, &(0x7f0000000000)={0x2, {0x3, 0x0, 0x0, 0x400}}) [ 2165.865370][T12054] bond3 (unregistering): Released all slaves 16:14:37 executing program 3: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000040)={0x3, &(0x7f0000000000)=[{0x6c}, {0x7}, {0x6}]}) [ 2166.227635][T12041] netlink: 23 bytes leftover after parsing attributes in process `syz-executor.2'. [ 2166.256500][T12041] device veth78 entered promiscuous mode [ 2166.366041][T12110] =====================================================