fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000", 0x40440, 0x100be0}, {&(0x7f000007db00)="eb52904e5446532020202000020200000000000000f8000000000000000000000000000080008000ff0f0000000000001000000000000000ff0300000000000001000000040000003daaf55af9830909000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ffe00}, {&(0x7f000007dc00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1fffe0}], 0x0, &(0x7f000007dd00)) 13:36:18 executing program 5: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/ip6_flowlabel\x00') sendmsg$GTP_CMD_DELPDP(r0, &(0x7f0000000140)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x50, 0x0, 0x2, 0x70bd26, 0x25dfdbfe, {}, [@GTPA_VERSION={0x8, 0x2, 0x1}, @GTPA_TID={0xc, 0x3, 0x3}, @GTPA_O_TEI={0x8, 0x9, 0x4}, @GTPA_O_TEI={0x8, 0x9, 0x2}, @GTPA_I_TEI={0x8, 0x8, 0x3}, @GTPA_O_TEI={0x8}, @GTPA_O_TEI={0x8, 0x9, 0x2}]}, 0x50}, 0x1, 0x0, 0x0, 0x20000000}, 0x4001) r1 = socket$can_raw(0x1d, 0x3, 0x1) ioctl$BTRFS_IOC_DEFRAG(r1, 0x50009402, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r1, 0x8933, &(0x7f0000000180)={'wg2\x00'}) ioctl$TCSETA(r0, 0x5406, &(0x7f00000001c0)={0x40, 0xf4, 0x80, 0x1ff, 0xc, "02b7b5183838d109"}) r2 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000200)='/dev/btrfs-control\x00', 0x113142, 0x0) ioctl$VIDIOC_ENCODER_CMD(r2, 0xc028564d, &(0x7f0000000240)={0x2, 0x1, [0x3e75, 0x4, 0x5, 0x0, 0x5, 0x1f, 0x100]}) lookup_dcookie(0x1f, &(0x7f0000000280)=""/112, 0x70) syz_open_dev$cec(&(0x7f0000000300)='/dev/cec#\x00', 0x1, 0x2) getsockopt$IPT_SO_GET_INFO(r2, 0x0, 0x40, &(0x7f0000000340)={'raw\x00'}, &(0x7f00000003c0)=0x54) fcntl$getown(r0, 0x9) epoll_ctl$EPOLL_CTL_MOD(0xffffffffffffffff, 0x3, r2, &(0x7f0000000400)) ioctl$sock_inet6_udp_SIOCINQ(r0, 0x541b, &(0x7f0000000440)) ioctl$VT_RESIZE(r2, 0x5609, &(0x7f0000000480)={0x1ff, 0x1ff, 0x3}) ioctl$VT_SETMODE(r0, 0x5602, &(0x7f00000004c0)={0x2, 0xff, 0x0, 0x3f, 0x3}) keyctl$restrict_keyring(0x1d, 0xfffffffffffffffc, &(0x7f0000000500)='.dead\x00', 0x0) pipe2(&(0x7f0000000540)={0xffffffffffffffff}, 0x800) sendfile(r3, 0xffffffffffffffff, &(0x7f0000000580)=0x4, 0x3ff) syz_open_dev$tty20(0xc, 0x4, 0x0) 13:36:18 executing program 5: write$char_usb(0xffffffffffffffff, &(0x7f0000000000)="c15c", 0x2) ioctl$BTRFS_IOC_START_SYNC(0xffffffffffffffff, 0x80089418, &(0x7f0000000040)) ioctl$VIDIOC_PREPARE_BUF(0xffffffffffffffff, 0xc058565d, &(0x7f0000000180)={0x0, 0x5, 0xfffffffffffffe5f, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00\n3\x00'}}) r0 = add_key$user(&(0x7f00000003c0)='user\x00', &(0x7f0000000440)={'syz'}, &(0x7f00000000c0), 0xc9, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000140)={0x0, r0}, &(0x7f00000000c0)=""/83, 0xfffffffffffffe4f, 0x0) 13:36:18 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$nl_audit(0x10, 0x3, 0x9) clone(0x22004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit(0x0) r0 = perf_event_open(&(0x7f0000000100)={0x5, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, @perf_config_ext={0x0, 0x1}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_MODIFY_ATTRIBUTES(r0, 0x4008240b, &(0x7f0000000080)={0x5, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, @perf_bp={0x0, 0x8}}) 13:36:18 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f00000001c0)={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)={&(0x7f0000000540)=ANY=[@ANYBLOB="3c000000100085060002b4aa9bf211d328000000", @ANYRES16=r2, @ANYBLOB="fe2f0000000000001c0012000c000100626f6e6400000e000c0002000800110001"], 0x3c}}, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000003c0)=ANY=[@ANYBLOB="5000000010001fff000000000008000000000000", @ANYRES32=0x0, @ANYBLOB="00f9ffffffffffff27001200090001007665746800000000180002001400f5a287690000", @ANYRES32, @ANYBLOB="200002000010000008000a00", @ANYRES32=r3], 0x50}}, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r4, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000080)=ANY=[@ANYBLOB="2000000011000d040000000000006f0010000000", @ANYRES32=r3], 0x20}}, 0x0) 13:36:18 executing program 5: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) recvmsg$can_raw(0xffffffffffffffff, &(0x7f00000012c0)={&(0x7f0000000180)=@pppol2tpv3={0x18, 0x1, {0x0, 0xffffffffffffffff, {0x2, 0x0, @multicast2}}}, 0x80, &(0x7f0000000000)=[{&(0x7f0000000200)=""/4096, 0x1000}, {&(0x7f0000001200)=""/121, 0x79}], 0x2, &(0x7f0000001280)=""/19, 0x13}, 0x3120) ioctl$sock_SIOCSIFVLAN_DEL_VLAN_CMD(r0, 0x8983, &(0x7f0000001300)={0x1, 'ip6_vti0\x00', {}, 0x7}) ioctl$SNDCTL_DSP_SPEED(0xffffffffffffffff, 0xc0045002, &(0x7f0000001380)=0x7) syz_mount_image$sysv(&(0x7f0000000040)='sysv\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x7, &(0x7f0000001d00)=[{&(0x7f0000001880)="03baf220dd7da24d312c53e86e71bb470fcbbaf614c34cded3307be74d40b9c9d3752689a56f97d18770cf642b365425c6584f80eba205db8f58a51c93fd4fba7fb69b7858950e3837ea1c7b0ebebe031757936f", 0x54, 0x1}, {&(0x7f0000001900)="0ac34c1911ff5f3c535e0a474c75c84e51aebb45a27155de79d6a341d4f1e1532d11a9c6eb817e9f024e1c816658f31795d95f7dbdc864fa15382efc9160c05da6345a1b", 0x44, 0x5ea4451e}, {&(0x7f0000001980)="a7b19da956eca65617d8b10d178235ca29f1fe29194a105fc403e728c72d54a5d45602b05cda0b2415af5af2a805c7fa642b139d6faaef60b7c53b8f8dd74b18cfc96fa0ddd72ffa6f9a666f155b6d87d41de4e1575a44cf0d715f20eb67b850109c9c1f60425b3020b9730ca5dc60681bf187e8379ce17f6424ea5bbc9330ff990a3683dbe3525de73b38707c", 0x8d}, {&(0x7f0000001a40)="b83025601298e62a5814f0acfe9e39612729b41ab014b15bb54f38293ae0e2393e91902dbcbda62bd9d0d375bc8ebda3e1886706861ad1315e3b08aeff30f5eac14f72a1e4dcf85993d8c0627fd246ee44fe4c7fc45b3bfab9213439916941c68e848187b252399e3b2788cb4acc6b76a77746712d445f0de0eb02409cdd106449fbd8eea8b1fb578b0fe5d144ef2943eacfeda5e8a784e3606fa715491c26aa2f8f4207aa86d474dc1aa2429a0afb489db9eccec5f126ddc809b05c188c539c5b2981dbfffaef5b420fcec5b64a2ef6f96dc029abb6b75768ae21563f87735abb02933602f705436e", 0xe9, 0x6}, {&(0x7f00000000c0)="b9d44253370173dfd6dea664f53fc808d6b7a64a3f29de04e2aa456a04", 0x1d, 0x1}, {&(0x7f0000001b40)="cdc559486bd2b861426bf33d1b194992975262e3870937a69bf627f104f988a4f1099c7a5c54b720b67657911908120d751deb58a12d9f34e45356bb4311d05e44e9b888b139f4535fce8cc5a4df77a515d29373e4d59c43f84f6d581d22f4427ba974e67580314c1863de6ad6e3caa57c7590d5d52e3db1fce28082ba2875ae92ea85ec39de3df67b0bdaabc189d23bc26a0ddcd678058174c6d9ee0f2aa47a36a717343539c1d79db6e7bbf4ca549b65643ef96b6fbb4d056f78f9f2730132e9167d25266c01cdeed0953f55be71a75172e30cfc3d", 0xd6, 0xffff}, {&(0x7f0000001c40)="ee29abfccc3dd397d82b144feb7e709a7ee2c5d8bef8a6a71604d316f80246510cba55854c8cb6c82a4c5b7c18d2a4e5aff6b92d12997b6f5481a3ae4e6d3bd3bd9f3c2fc24ba3fabf8fd2930971681d7300ad9dcd79f55eeea49159a9ee01434b7df132c79d1d0abb99c83d0eec6871e2f62a14109ca2e5f3f2982fb4ef59f927b9c72e48c21dfed724da88ace9ae4fb1ff21d54db648f5eedad507bff33ee950bf4da7ee11dedc3ce1f1cc42d12cca59", 0xb1, 0x90}], 0x0, &(0x7f0000001840)={[], [{@smackfshat={'smackfshat'}}, {@pcr={'pcr'}}]}) sendmsg$NLBL_UNLABEL_C_STATICLIST(r0, &(0x7f0000001480)={&(0x7f0000001340)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000001440)={&(0x7f00000014c0)=ANY=[@ANYBLOB="ac000000", @ANYRES16=0x0, @ANYBLOB="000427bd7000fddbdf25050000002900070073797374656d5f753a1253ba6263745f723a6b6c6f67645f7661725f72756e5f743a733000000000050001000000000014000600766972745f7769666930000000000000140006006873720f878f660e00070073797374656d5f753a6f626a6563745f723a68616c645f637d4c510b192ad55f743a733000000000080004000a01010608000500ffffffff916e33d5794ffccb6bcbf71348f3fc905992d942f70c3cdf1987cb79d05f"], 0xac}, 0x1, 0x0, 0x0, 0x20000094}, 0x0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x6}, 0x0, 0x2, 0x0, 0x2}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000001600)={0x0}) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, 0xffffffffffffffff, 0x0) ioctl$DRM_IOCTL_RES_CTX(0xffffffffffffffff, 0xc0106426, &(0x7f00000016c0)={0x4, &(0x7f0000001680)=[{}, {}, {}, {0x0}]}) ioctl$DRM_IOCTL_DMA(0xffffffffffffffff, 0xc0406429, &(0x7f0000001800)={r3, 0x1, &(0x7f0000001700)=[0x68], &(0x7f0000001740)=[0xfffffffc, 0xffff7fff, 0x4, 0x32, 0x1, 0x8ccc, 0x7, 0x10001, 0xd4, 0x8001], 0x41, 0x2, 0x0, &(0x7f0000001780)=[0x5581b76e, 0xfff], &(0x7f00000017c0)=[0x3, 0x632ce5e0]}) r4 = socket$isdn_base(0x22, 0x3, 0x0) ioctl$sock_SIOCSIFVLAN_ADD_VLAN_CMD(r4, 0x8983, &(0x7f0000000140)={0x0, 'bond_slave_1\x00', {}, 0x800}) ioctl$sock_SIOCSIFVLAN_ADD_VLAN_CMD(r4, 0x8983, &(0x7f0000000340)={0x0, 'vlan0\x00', {}, 0x1f}) r5 = getpid() capset(&(0x7f00000013c0)={0x20071026, r5}, &(0x7f0000001400)={0x4, 0x8000, 0x6, 0x80000000, 0x1, 0x20}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(0xffffffffffffffff, 0x40182103, &(0x7f0000000100)={r2, 0x0, r4, 0x8}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(0xffffffffffffffff, 0x40182103, &(0x7f0000000000)={r2, 0x0, r1, 0x481}) mmap$perf(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0xa, 0x810, r1, 0x8000) ioctl$sock_SIOCSIFVLAN_GET_VLAN_EGRESS_PRIORITY_CMD(r4, 0x8983, &(0x7f00000015c0)) 13:36:18 executing program 5: r0 = syz_open_dev$rtc(&(0x7f0000000080)='/dev/rtc#\x00', 0x0, 0x0) openat$sndseq(0xffffffffffffff9c, &(0x7f0000000580)='/dev/snd/seq\x00', 0x8040) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r2}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) r3 = syz_mount_image$squashfs(&(0x7f0000000000)='squashfs\x00', &(0x7f0000000040)='./file0\x00', 0x7fffffff, 0x6, &(0x7f0000000440)=[{&(0x7f00000000c0)="0ba4082d8e", 0x5, 0x1}, {&(0x7f0000000880)="1ee56db0582b16d4c2f4cb61aae4e56e08350b3d45bd18137f0f42635a4ed655437ba4524d402c47910ec1d95b74fd20d9e6e01632e3275c00080000606f09a2a1c8a803c0a2576f722184215006aab1c85b5b7b7f747a51758693cd9165ae1096c1bbd1afdbf5fd6a510072d6b4a5809e3eb3984a284f45cd56c71e0a7d45a64aa61ee6c657f7a108907a9103e962561db2bb77e91a47add2cde777a6a511ec9e4802fa88f4f06dc90d3190ed6da5096dc35c16b37e24ccaaa67a68962e0361b5fda964928b139e80f601dbf6507dd4f2e9e224e5b6dd6dad974036a56fd98111974bd263baf45f429cb2080aa9c1faf4315ae9e5c2777023df5ed835b02a1660e786c2ba5af8949d9aa8550a512ab452919a63ac293d3cdee1aa915559107c16d143184886a8a337403e95f2391a5af4ecc5f1d03002ebf3b80ece8801afa5d484ab4b5abd411dff067912d232", 0x14e, 0xd7}, {&(0x7f0000000180)="b3bc5574748c74ab205a542d6c993061944c83745cf61471e2880edd6dcbd4823b3e3ea850737fe35504285ee6d54ace38eb917a1baab651fac49ace4bcb8da6715340ba9c9c31a26d69ab64326720c8054b5f6eaba6491cb013c19037ac0f53a18a0e424413f552b94da08a56889eff21b31e692a72499c9a4ea9e6580eab8a67d32c004255bbd38d0a1d6f82730371fde0b8f7709b474c221eac3aac988eeb6979f4946ad2a7e77202b95097c3d509e17d26c55cb22cbb8025c6141a1b57bbb33c10038b325612a7b7b3e9cae251b7f906a4c4ae020e1183f608301b51", 0xde, 0x100000001}, {&(0x7f0000000280)="cfd7345c296a4f0abaa633f73b1f0348ba0cd3c5dfd84b3e747c3c02ee9b82b071bd71c6e95db3b3776fbd78329e1a4d33851b53365e2744649c77b2a106d8faa883cb3a0cd46a59869e7868ea35f8d5630cfb53a986cc0d354286a1f68bceaadef6594cb9546c61553cf6c3e553ee57691527005c0d3cbedc55220c51c851a172446626", 0x84, 0x2}, {&(0x7f0000000340)="c48481385755b09838ac4038b90a77f7f9496de5987335679b7272846f04f759da18d34ed6900b04c87be5f3764267415b4ea0069e5fac25295f009e07ee69bab5c2057fd88497a1282ecc7c4ab66de3137814242a23b0386d16107ca2828ee86d0a098048de8e1418b35cbc1659158df37be66935cce77b", 0x78, 0x9}, {&(0x7f00000003c0)="2c47cd9bf0d58c05e372a2e682638ac9e9975189f5598c35b125131f0593d0823d165d6398a389589d87f9cd8410a01cdafbd9a1a7bceefb2e1e14d9b696b686209903a8b0", 0x45, 0x6}], 0x2150400, &(0x7f0000000500)=ANY=[@ANYBLOB="2c282f5d2c28252a2d21ef7b2c2f6465762f72746323002c2f6465762f72746323002c2f6465762f72746323002c272b2c2f6465762f72746323002c666f776e65723d", @ANYRESDEC=r2, @ANYBLOB=',obj_ro\x00e=/dev/rtc#\x00,\x00']) sendfile(r0, r3, 0x0, 0x337) ioctl$RTC_SET_TIME(r0, 0x4024700a, &(0x7f0000000080)={0x0, 0x0, 0x0, 0x17, 0x0, 0x5b}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f00000005c0), &(0x7f0000000600)=0xc) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000640)='/proc/sysvipc/shm\x00', 0x0, 0x0) ioctl$DRM_IOCTL_MAP_BUFS(r4, 0xc0186419, &(0x7f0000000840)={0x2, &(0x7f0000000680)=""/171, &(0x7f0000000800)=[{0x4, 0x3b, 0x4f3, &(0x7f0000000740)=""/59}, {0x1, 0x46, 0x0, &(0x7f0000000780)=""/70}]}) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x2400, 0x9) 13:36:18 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r0, 0x0) mkdirat(r0, &(0x7f00000000c0)='./file0\x00', 0x8) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = getpid() prctl$PR_SET_PTRACER(0x59616d61, r3) r4 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sys/net/ipv4/vs/sync_ports\x00', 0x2, 0x0) getsockopt$sock_int(r4, 0x1, 0x22, &(0x7f0000000040), &(0x7f0000000080)=0x4) clone(0x2000000002000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r5 = gettid() r6 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r7 = dup(r6) setsockopt$IPT_SO_SET_REPLACE(r7, 0x4000000000000, 0x40, &(0x7f0000000280)=@raw={'raw\x00', 0x4001, 0x3, 0x300, 0x0, 0x0, 0x148, 0x150, 0x148, 0x268, 0x240, 0x240, 0x268, 0x240, 0x3, 0x0, {[{{@uncond, 0x0, 0x120, 0x150, 0x0, {}, [@common=@inet=@hashlimit1={{0x58, 'hashlimit\x00'}, {'bond_slave_1\x00', {0x0, 0x0, 0x23, 0x0, 0x0, 0x800, 0x7}}}, @common=@inet=@hashlimit1={{0x58, 'hashlimit\x00'}, {'rose0\x00', {0x0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x80000000}}}]}, @common=@unspec=@CONNMARK={0x30, 'CONNMARK\x00'}}, {{@uncond, 0x0, 0xb8, 0x118, 0x0, {}, [@common=@unspec=@nfacct={{0x48, 'nfacct\x00'}, {'syz1\x00'}}]}, @common=@SET={0x60, 'SET\x00'}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0x360) ptrace$setopts(0x4206, r5, 0x0, 0x0) tkill(r5, 0x12) wait4(0x0, 0x0, 0x0, 0x0) 13:36:18 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x400000000001, 0x0) close(r0) r1 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r1, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) r3 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r3, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r3, &(0x7f0000d83fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r4 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r4, 0x84, 0xd, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) getsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r3, 0x84, 0xf, &(0x7f0000000000)={r5, @in6={{0xa, 0x4e23, 0x0, @loopback}}}, &(0x7f0000000240)=0x9c) r6 = openat$cachefiles(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/cachefiles\x00', 0x10001, 0x0) setsockopt$inet_sctp6_SCTP_MAXSEG(r6, 0x84, 0xd, &(0x7f0000000140)=@assoc_value={r5, 0x839}, 0x8) ftruncate(r2, 0x200004) sendfile(r0, r2, 0x0, 0x80001d00c0d0) 13:36:18 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f00000000c0)=@newtaction={0x68, 0x30, 0x17b, 0x0, 0x0, {}, [{0x54, 0x1, [@m_bpf={0x50, 0x1, 0x0, 0x0, {{0x10, 0x1, 'bpf\x00'}, {0x28, 0x2, 0x0, 0x1, [@TCA_ACT_BPF_OPS_LEN={0x6}, @TCA_ACT_BPF_PARMS={0x18}, @TCA_ACT_BPF_OPS={0x4}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x68}}, 0x0) setxattr$security_capability(&(0x7f0000000000)='./file0\x00', &(0x7f0000000040)='security.capability\x00', &(0x7f0000000080)=@v2={0x2000000, [{0x4, 0x7f}, {0x9}]}, 0x14, 0x2) 13:36:19 executing program 5: r0 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000001180)={0x0, 0x0, &(0x7f0000000180)={0x0, 0xfffffffffffffe03}}, 0x200480d0) sendmsg$NFQNL_MSG_CONFIG(r0, &(0x7f0000000d80)={&(0x7f0000000cc0)={0x10, 0x0, 0x0, 0xf65aefe26d6901de}, 0xc, &(0x7f0000000d40)={&(0x7f0000000d00)=ANY=[@ANYBLOB="2400000002030500000000000000e6ffffffffff07000100040000180800034000007fff"], 0x24}, 0x1, 0x0, 0x0, 0x4}, 0x4004804) getsockname$packet(r0, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x3, 0x2, &(0x7f0000000400)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a6f4e0e4a9446ca2b5f1cc1a100a9af698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227ffff000000000000f07a72c2918451ebdcf4cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1083a30369d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8ed8fb7a68af2ad0000000000000006f803c6468972089b302d7bf6023cdcedb5e0125ebbcebdde510cb2364149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f40cfd7c3a1d37a6ab87b1586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660580800dbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd80a504cea9542e62d7f69667e3ddcd567b3aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d60532af9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb61e8caab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326efa31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c713ce69701919c326feccbf15711297e8d2016219848624b87cec2dbe98223a0eb4fa39f695c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc22941330000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f00000000df73be83bb7d5ad897ef3b7cda42013d53046da21b40216e14ba2d6af8656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b2633398631c7771429d120000de3241bf4a00fcffffffffffffffe09fec2271fe01589646efd1cf870cd7bb2366fde4a59429738fcc917a57f94f6c453cea793cc5ee0c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768fb40fe418ce970275d5bc8955778567bc79e13b78249788f11f7610b8b75d4fa32b561d46ea3abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0d4d1d4b405c37feaf3dd95f6ef2acd1fe582786105c7df8be5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e76003b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694da85bff9f5f4df9b3e90e5c708ce65cd6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb26e22a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d285b3b8a8c9ae3d14f93100c2e089b862eef552fcde2981f48c482bde6e4a4304e50c349f4f9ecee27de8f2a4ebb04b0c485b72d538ba4958ea8e4aa37094191e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b6000000000000000000d6d5210d7560eb92d6a97a27602b81f7636df1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d1a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e600263d9756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466ac96e0d4b3bb49faa5449209b085f3c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c7868c6da7eaa69eb7f7f80572fdd11bb1d0d1280fbc22bf73468788df51710d7d31c000000000000000000000000009bff5348dd9639a9f34b5f92b7646000e3053358f55cb9f97c269eaf7327c32ab116a303ae64c9c714217c"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], r1}, 0x48) ioctl$TUNSETIFINDEX(0xffffffffffffffff, 0x400454da, &(0x7f0000000080)=r1) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) syz_genetlink_get_family_id$nl80211(&(0x7f0000000300)='nl80211\x00') sendmsg$NL80211_CMD_DEL_KEY(0xffffffffffffffff, &(0x7f0000000c80)={&(0x7f00000002c0)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000340)=ANY=[@ANYRES16], 0x58}, 0x1, 0x0, 0x0, 0x40}, 0x810) 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, 0x2}, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x100000, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x0, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) sendmsg$IPCTNL_MSG_CT_NEW(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000240)={&(0x7f00000011c0)=ANY=[@ANYBLOB="70000000000119050301000008000000027d000024000100140001210800014bddc800ffffffff08000200ac1e00f70b0002000500010000000000240002000c00020005000100000000001400010008000100e000000208000200d58dd40008000700000000000c000649c5b00751b3e5733c42bf6b008b3e02270120bb4bf52595ae0e5a67e4be84bacc5a093d978782aae02c19d5173e8cd67d34317dac8a386c675b989f3f10d31e8dea7ffe4e4b3b40de"], 0x70}}, 0x0) r2 = fcntl$dupfd(r0, 0x0, r0) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000f80)={&(0x7f0000000dc0)="6dc498d926815ce1f94d904febac9ca30ae661ce43832912b4e9d5c04ec9d6aea2e68ae8b2dc682fbbf91c691f6e8f313ea0", &(0x7f0000000e00)=""/91, &(0x7f0000000e80)="e60137dce37b4f6ce1088cde2f3cd7b702a5bd18d9d7db341d890b37457b7955cc8b14e43fa321c5bde15569344573d6e4ae778c24a98f769dad31718ac785358ef0f2660f0e51d16cd5826a4aa857ea5c81bdb9939640dabbcf7cd07c6d6bf15f3aa2a6e7d7bee45b9c7adc378510b6dc3ca1a9f1a840ce18405b02616def135019b463824d5bb0a70c5d5004174ecd002bcc10b2ff2e21ca9fb55136ab63", &(0x7f0000000f40)="2a2385bf6d99497496c655041bc30ffdceb8287f1067d569b3", 0x9, r2}, 0x38) setsockopt$inet6_MRT6_ADD_MFC(0xffffffffffffffff, 0x29, 0xcc, &(0x7f0000000fc0)={{0xa, 0x4e24, 0x1000, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', 0x80}, {0xa, 0x4e20, 0x1f, @private2={0xfc, 0x2, [], 0x1}, 0x8001}, 0x5, [0x9, 0x0, 0x855, 0x1, 0x400, 0x0, 0x540, 0x874]}, 0x92) add_key$user(0x0, 0x0, &(0x7f0000000180), 0x0, 0xfffffffffffffffd) r3 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_MSG_GETCHAIN(r3, &(0x7f0000000580)={0x0, 0x60, &(0x7f0000000200)={0x0}, 0x8, 0x6000000}, 0x0) sendmsg$TIPC_NL_NET_SET(0xffffffffffffffff, &(0x7f0000001140)={&(0x7f0000001040)={0x10, 0x0, 0x0, 0x80208}, 0xc, &(0x7f0000001100)={&(0x7f0000001080)={0x48, 0x0, 0x8, 0x70bd27, 0x25dfdbfe, {}, [@TIPC_NLA_PUBL={0x34, 0x3, 0x0, 0x1, [@TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0x9}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x3ff}, @TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0x3}, @TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0x7}, @TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0xf197}, @TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0xfffffffe}]}]}, 0x48}, 0x1, 0x0, 0x0, 0x20004050}, 0x4000048) 13:36:19 executing program 5: mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x55) mkdir(&(0x7f0000000080)='./file0\x00', 0x0) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) mount$overlay(0x400002, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f0000000040)={[{@upperdir={'upperdir', 0x3d, './file1'}}, {@lowerdir={'lowerdir', 0x3d, './bus'}}, {@workdir={'workdir', 0x3d, './file0'}}, {@xino_on='xino=on'}]}) 13:36:19 executing program 5: socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000340)) 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}, 0x3000}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_dev$loop(&(0x7f0000000080)='/dev/loop#\x00', 0x0, 0x103382) r1 = memfd_create(&(0x7f0000000900)='.^\xe5\xce\xb2\xc1b#\xf4\x91\xfcS\x96(\xe2\x90\xba-L\xb1^\xe3\xa7\x9b0\xefHEG\x18\xcb\x15\xc1\x1b\x18\xbd\xb6\x14\xe9G\xa6\xbb*\xdff\xe4{2\xd0\x91\x874\xdc(\xa4\xa8?Q\xa6\xee\xb54\xd0\x05.`\xe7\x04@\xff\x83\n\xb9\x12\xaf\x83\x04\x1e\x8b\xca\x17Y\xb6\x94\x99\x90\x9f\xac\xcf\xc1\xb4\xfb\x9c)\xa0xY4\xaf\xe3\xd5R\x012\xd2R', 0x0) pwritev(r1, &(0x7f0000000840)=[{}, {0x0}, {&(0x7f0000000440)="813586c3c380fec40dc94a4d09e82dd7a0a184dec7457c0632b7b8579e01df2f81f7502a903cd6c54291697bd10fa884e68221a8d7ad4ea1092ee99085998b8a5f359aceb5bbc15bb908ec317011065dda3d60c897", 0x55}, {&(0x7f0000000580)="f374f709e40b01f33018c9f2efed195927a1c55e2bd180187bed43ec38a3d6e6e67b18a1448a70b138788112443abadf137a5eadb24b1d8cf4633334042fa371448ecb1d9f225f1b9d5c92bd1b1370f3936e7d72c9b29a602983ef01d1885aee9b327786fc484dcd751bf072985b4840900d5b5efc9137235c0c3dec77c27a81a57af8d9136309e9d04cc9eb204e125826b802250527ba721a6c84d10a8188212ce07c4c7c7542", 0xa7}, {&(0x7f0000000680)="fac09272f3a678fe517814e72ecca0d3ea20f45f9fd721f21d538362ffb021f4887cf1478b80b7efe6d4", 0x2a}, {&(0x7f00000004c0)}, {0x0}, {0x0}, {0x0}], 0x9, 0x81805, 0x0) ioctl$LOOP_CHANGE_FD(r0, 0x4c00, r1) sendfile(r0, r0, 0x0, 0x24002d00) ioctl$LOOP_SET_STATUS64(r0, 0x4c04, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0x0, "8c098d3b6438c1fbd8180b45d3cc9c164baaee13bf783eb1d66c353f731ae8174ad642085432430c390addf9b2f04d58d3b88e996e773c83fce60fa794a1cc81", "65f436ffca4a06b71c7a963ce778e03a4b090199add92ae18e13b1fbd14dade59e0dbdefaeb3d4c9755b165b06e58e929c10c5a54dbf780080ca9099661800", "e30e5a2a56a49f7cb627fa8ad4bb8aef75848f4aff2fc67a0ff75e1288f59ea9"}) socket$packet(0x11, 0x0, 0x300) openat$procfs(0xffffffffffffff9c, 0x0, 0x0, 0x0) r2 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r2, &(0x7f00000000c0), 0x492492492492627, 0x0) bind$packet(r2, 0x0, 0x0) socket$inet6(0xa, 0x2, 0xfffffffc) r3 = open(&(0x7f0000000000)='./bus\x00', 0x149842, 0x0) perf_event_open(&(0x7f00000000c0)={0x6, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1081}, 0x0, 0x0, 0xffffffffffffffff, 0x0) sendmsg$ETHTOOL_MSG_PAUSE_SET(r3, &(0x7f0000000300)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x8040000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000280)={0x1c, 0x0, 0x100, 0x70bd29, 0x25dfdbfc, {}, [@ETHTOOL_A_PAUSE_AUTONEG={0x5, 0x2, 0x1}]}, 0x1c}, 0x1, 0x0, 0x0, 0x10}, 0x68084) write$FUSE_DIRENTPLUS(0xffffffffffffffff, &(0x7f0000000340)=ANY=[@ANYBLOB='fct'], 0x5) 13:36:19 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$TIOCGPGRP(0xffffffffffffffff, 0x540f, &(0x7f0000000000)=0x0) fcntl$lock(r1, 0x4db1ea792fa4a5ab, &(0x7f0000000040)={0x0, 0x4, 0x8, 0x54, r3}) r4 = fcntl$dupfd(r2, 0x0, r1) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) sendmsg$NFT_BATCH(r0, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f000000c280)={&(0x7f0000000200)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a20000000000a01080000000000000000010000000900010073797a300000000040030000030a01020000000000000000010000000900010073797a30000000001400048008000240505579820800014000000000090003"], 0x9c}}, 0x0) 13:36:19 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000380)='/proc/asound/seq/clients\x00', 0x0, 0x0) sendmsg$NLBL_CIPSOV4_C_LISTALL(r2, &(0x7f0000000180)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000140)={&(0x7f00000000c0)={0x24, 0x0, 0x400, 0x70bd2b, 0x25dfdbfb, {}, [@NLBL_CIPSOV4_A_MTYPE={0x8, 0x2, 0x3}, @NLBL_CIPSOV4_A_DOI={0x8, 0x1, 0x2}]}, 0x24}, 0x1, 0x0, 0x0, 0x1}, 0x4000000) ioctl$KDGKBDIACR(r2, 0x4b4a, &(0x7f0000000280)=""/245) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000660000000f000000000000000100000001000000004000000040000020000000d3f4655fd4f4655f0100ffff53ef010001000000d3f4655f000000000000000001000000000000000b0000000002", 0x5a, 0x400}, {&(0x7f0000010300)="020000000300000004", 0x9, 0x800}, {&(0x7f0000011500)="ed41000000080000d3f4655fd3f4655fd3f4655f000000000000040004", 0x1d, 0x2200}], 0x0, &(0x7f00000001c0)=ANY=[@ANYBLOB="6d696e5f62617463685f74696d653d3078303030303030303000000004000000000000"]) 13:36:19 executing program 5: keyctl$instantiate(0xc, 0x0, 0x0, 0x0, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) setsockopt$packet_int(0xffffffffffffffff, 0x107, 0x0, 0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x4786}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x1) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) socket$inet_udp(0x2, 0x2, 0x0) r2 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_inet_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000000180)={0x0, {0x2, 0x0, @multicast1=0xe0008302}, {0x2, 0x0, @remote}, {0x2, 0x0, @empty}, 0x1b6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff}) ioctl$sock_inet_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000000100)={0x0, {0x2, 0x5e24, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x2, 0x4e21, @initdev={0xac, 0x1e, 0x0, 0x0}}, {0x2, 0x0, @broadcast}, 0x100, 0x0, 0x0, 0x0, 0x3e8e, &(0x7f0000000340)='vxcan1\x00', 0x20}) ioctl$sock_inet_SIOCADDRT(r2, 0x890b, &(0x7f0000000080)={0x750, {0x2, 0x0, @dev}, {0x2, 0x0, @loopback=0x7f000005}, {0x2, 0x0, @broadcast}, 0x0, 0x0, 0x2, 0x46a, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x8}) syz_open_dev$media(&(0x7f0000000200)='/dev/media#\x00', 0x6, 0x501700) openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000000140)='/dev/infiniband/rdma_cm\x00', 0x2, 0x0) write$RDMA_USER_CM_CMD_RESOLVE_IP(0xffffffffffffffff, 0x0, 0x0) setsockopt$IP_VS_SO_SET_ZERO(0xffffffffffffffff, 0x0, 0x48f, &(0x7f0000001240)={0x1c, @local, 0x4e60, 0x1, 'none\x00', 0xd, 0x1c, 0x2}, 0x2c) r3 = dup3(r1, 0xffffffffffffffff, 0x80000) ioctl$USBDEVFS_BULK(r3, 0xc0185502, 0x0) ioctl$sock_inet_SIOCADDRT(0xffffffffffffffff, 0x890b, 0x0) socket$inet(0x2, 0x4000000805, 0x953) r4 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r4, 0x84, 0x64, &(0x7f0000d6cff0)=[@in={0x2, 0x4e20, @loopback}], 0x10) sendto$inet(r3, &(0x7f0000fa3fff)='\t', 0x1, 0x20040881, &(0x7f00006f7000)={0x2, 0x2, @remote={0xac, 0x14, 0xffffffffffffffff}}, 0x10) sendto$inet(r4, &(0x7f0000000040)="dab4e32f5d0c37", 0x7, 0x4000040, &(0x7f0000618000)={0x2, 0x4e20, @loopback}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r4, 0x84, 0x1d, &(0x7f0000000240)=ANY=[@ANYBLOB="2e2de358de4e36aa663233b6c58184860892cc9acaa926bfdf3dc6aa5b3e4657da66159dce2ac2d90ae4e48734d59061e488eab79d7fa40f3ebfea0900000000000000458cf8724caac3a9af4e4554a1314c47f41fc1c9414c474a3a3747d7fb259cbfac10258a3f31490cb6f55d4f493a8f3b3e7a0e277ad1951466358af830a35b7a34b5e6f2b51f1ecb13c9ed2a57a580a629ffff27d499846c165213d3d7e5e42ca709f52fb19efd368c4c0e450164edef2477c8c084a9", @ANYRES32=0x0], &(0x7f0000a8a000)=0x2) 13:36:19 executing program 5: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000140)='/dev/zero\x00', 0x1, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x80000, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f0000010100)="0000000000000000000000006856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="03000000040000000500000016000f000300040000000000000000000f00698c", 0x20, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f000000000000040020", 0x1d, 0x1500}, {&(0x7f0000011000)="8081000000180000ddf4655fddf4655fddf4655f00000000000001002000000010000800000000000af302000400000000000000000000000200000030000000020000000400000032", 0x49, 0x1600}, {&(0x7f0000012700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0xc000}, {&(0x7f0000000040)="02", 0x1, 0xc400}, {&(0x7f0000012900)="03", 0x1, 0xc800}, {&(0x7f0000012a00)='\f', 0x1, 0xcc00}], 0x0, &(0x7f0000000500)) r1 = syz_mount_image$cramfs(&(0x7f0000000540)='cramfs\x00', &(0x7f0000000580)='./file0\x00', 0x0, 0x0, 0x0, 0x240038, &(0x7f0000001ec0)=ANY=[]) r2 = gettid() process_vm_writev(r2, &(0x7f0000c22000)=[{&(0x7f000034afa4)=""/1, 0x1f80}], 0x3de, &(0x7f0000c22fa0)=[{&(0x7f0000000040)=""/15, 0x2d77744}], 0x1, 0x0) ioctl$sock_SIOCSPGRP(r0, 0x8902, &(0x7f0000000180)=r2) ioctl$VIDIOC_ENUMOUTPUT(0xffffffffffffffff, 0xc0485630, &(0x7f0000000080)={0x10000, "4174181c97c55c07a22eb9c29115c6dd91987fa3ee1531c54d744ec8188a0434", 0x3, 0xfffffbff, 0x7, 0x8000, 0x2}) fchown(r1, 0xee00, 0x0) 13:36:19 executing program 5: syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0xfffffffffffffffc, 0x3, &(0x7f0000000280)=[{&(0x7f0000000000)="083d906d6b66732e66617400028001000240000004f801", 0x17, 0x200000000000}, {&(0x7f0000000140)="4a9668ae8762dd434753dfdd3c311b1958b93cf6b865e38cdd5b2449a2acbe10292eab87e2655d1bcbeb02dd4da08e56e02624885a2308fccb0ed4a17b6fa0cb93bae0548e4eed7ec5aca25a55bd1d51a67f0d1aae8ff1f0423dc5b085c1a35883", 0x61, 0x600}, {0x0, 0x0, 0x10e02}], 0xb60002, &(0x7f0000000080)=ANY=[@ANYBLOB="636f6465706147653d313234013e616d653d77696e39352c00"]) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = openat$vcs(0xffffffffffffff9c, &(0x7f00000005c0)='/dev/vcs\x00', 0x80001, 0x0) getsockopt$inet_sctp6_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000000600)=@assoc_value, &(0x7f0000000640)=0x8) r2 = dup2(r0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r3, 0x0) r4 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000200)='TIPCv2\x00') sendmsg$TIPC_NL_BEARER_DISABLE(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x8000}, 0xc, &(0x7f0000000300)={&(0x7f0000000240)={0x28, r4, 0x4, 0x70bd29, 0x25dfdbfc, {}, [@TIPC_NLA_BEARER={0x14, 0x1, 0x0, 0x1, [@TIPC_NLA_BEARER_DOMAIN={0x8, 0x3, 0x400}, @TIPC_NLA_BEARER_DOMAIN={0x8, 0x3, 0x64600000}]}]}, 0x28}, 0x1, 0x0, 0x0, 0x20000010}, 0x805) mkdirat(r3, &(0x7f0000000040)='./file0\x00', 0x44) 13:36:20 executing program 5: perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0xe3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x9}, 0x0, 0x0, 0xffffffffffffffff, 0x0) syz_mount_image$ubifs(0x0, 0x0, 0x0, 0x3, &(0x7f0000001840)=[{&(0x7f00000000c0)="b3", 0x1}, {0x0}, {0x0}], 0x0, 0x0) mlockall(0x5) 13:36:20 executing program 5: ioctl$sock_ipv6_tunnel_SIOCDEL6RD(0xffffffffffffffff, 0x89fa, &(0x7f0000000100)={'syztnl1\x00', 0x0}) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000240)='attr\x00') write$P9_ROPEN(r0, &(0x7f0000000280)={0x18, 0x71, 0x5, {{0x10, 0x4, 0x2}, 0x9}}, 0x18) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x1, 0x803, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f0000000080)={0x0, 0x382, &(0x7f0000000140)={0x0, 0xb7ff}}, 0x0) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r4, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000001280)=ANY=[@ANYBLOB="3400000010000104000009040000000000000000", @ANYRES32=r6, @ANYBLOB="0000000000000000140012000c000100627269646765"], 0x34}}, 0x0) shmctl$IPC_RMID(0x0, 0x0) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000001c0)=@newlink={0x44, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0xff0f}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @macvlan={{0xc, 0x1, 'macvlan\x00'}, {0x4}}}, @IFLA_LINK={0x8, 0x5, r6}, @IFLA_MASTER={0x8, 0xa, r3}]}, 0x44}}, 0x0) 13:36:20 executing program 5: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r2}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) r3 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r4) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000080)='9p\x00', 0x1000000, &(0x7f00000006c0)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r0}, 0x2c, {[{@fscache='fscache'}, {@access_user='access=user'}, {@dfltuid={'dfltuid', 0x3d, r4}}, {@access_client='access=client'}, {@posixacl='posixacl'}, {@access_any='access=any'}, {@fscache='fscache'}, {@access_user='access=user'}, {@version_9p2000='version=9p2000'}], [{@func={'func', 0x3d, 'FIRMWARE_CHECK'}}, {@appraise='appraise'}, {@obj_role={'obj_role', 0x3d, '/dev/vcsu\x00'}}, {@obj_role={'obj_role', 0x3d, '/!-:'}}, {@uid_gt={'uid>', 0xee01}}]}}) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r5, 0x0) ioctl$mixer_OSS_ALSAEMULVER(r5, 0x80044df9, &(0x7f0000000200)) clone(0x2000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) request_key(&(0x7f0000000040)='asymmetric\x00', &(0x7f0000001ffb)={'syz', 0x1}, &(0x7f0000001fee)='R\trust\xe3cusgrVex:De', 0x0) r6 = gettid() tkill(r6, 0x31) socket(0x0, 0x803, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f00000000c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @random}, &(0x7f0000000140)=0x14) r7 = syz_open_dev$tty20(0xc, 0x4, 0x1) ioctl$KDFONTOP_GET(r7, 0x4b72, &(0x7f0000000100)={0x1, 0x0, 0x5, 0x16, 0x0, &(0x7f00000002c0)}) openat$vcsu(0xffffffffffffff9c, &(0x7f0000000280)='/dev/vcsu\x00', 0x0, 0x0) 13:36:20 executing program 5: r0 = syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x8000000, 0x8e, &(0x7f0000000200)=[{&(0x7f0000010000)="7b3befe851dd91e500000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5000001000000000001000000000000005f42485266535f4d07000000000000000040d30100000000004050010000000000000000000000000000000000000000000000080000000000300200000000000600000000000000010000000000000000100000004000000040000000100000810000000500000000000000000000000000000000000000000000006103000000000000010000000001000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000085784719cdbc4fe28292f47cec16e5ba88cbc9ea67e04b3d8392b4c950cd68d500"/320, 0x140, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e400005001000000000000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000d0010000000085784719cdbc4fe28292f47cec16e5ba0000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000d0010000000085784719cdbc4fe28292f47cec16e5ba00"/256, 0x100, 0x10320}, {&(0x7f0000010400)="00000000000000000000000040d2010000000005000000000000000040500100000000050000000000000000c0d1010000000005000000000000000000d0010000000004000000000000000000d2010000000005000000000000000000d10100000000040000000000000000000008000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d2010000000006000000000000000040500100000000050000000000000000c0d0010000000006000000000000000080d2010000000006000000000000000000d3010000000006000000000000000080d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000005000000000000000080d3010000000007000000000000000080d2010000000006000000000000000000d3010000000006000000000000000080d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d001000000000400000000000000000050010000000004000000000000000080d0010000000004000000000000000000d00100000000040000000000000000c0d0010000000004000000000000000000d101000000000400000000000000000000080000000000000200000000000100"/640, 0x280, 0x10b20}, {&(0x7f0000010700)="17c99193df618a0400000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5000010000000000001000000000000011e231891710847aa8fc7eb21854383330300000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010800)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000085784719cdbc4fe28292f47cec16e5ba0000800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000085784719cdbc4fe28292f47cec16e5ba0000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000000800000000000040010000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000085784719cdbc4fe28292f47cec16e5ba88cbc9ea67e04b3d8392b4c950cd68d5bbe04566e49ea71e00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5004010000000000000000000000000011e231891710847aa8fc7eb2185438333010000000000000002000000000000000c000000000000100000000000a90000000000000000833f0000180000000000100000000000b00100000000000000833f0000000000000040100000000000a900000000000000006b3f0000180000000040100000000000b002000000000000006b3f0000000000000080100000000000a90000000000000000533f0000180000000080100000000000b00300000000000000533f00000000000000c0100000000000a900000000000000003b3f00001800000000c0100000000000b004000000000000003b3f0000000000000000110000000000a90000000000000000233f0000180000000000110000000000b00500000000000000233f0000000000000040110000000000a900000000000000000b3f0000180000000040110000000000b007000000000000000b3f00"/768, 0x300, 0x103ea0}, {&(0x7f0000010b00)="00000000000000000000000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000bc98f66467508ca400000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5008010000000000000000000000000011e231891710847aa8fc7eb21854383330100000000000000030000000000000002000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e00005000"/320, 0x140, 0x107f60}, {&(0x7f0000010d00)="00000000000000000000000000000000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000000800000000000040000000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000085784719cdbc4fe28292f47cec16e5ba88cbc9ea67e04b3d8392b4c950cd68d5672d69ff0f62488a00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d500c010000000000000000000000000011e231891710847aa8fc7eb21854383330100000000000000040000000000000001000000000100000000000000cc00001000000000006b3f0000300000000000", 0x140, 0x10bf40}, {&(0x7f0000010f00)="0000000000000000000000000000000003000000000000000001000000000000000010000000000000004000000000001e231891710847aa8fc7eb2185438333fce028777630f66700000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5000011000000000000000000000000011e231891710847aa8fc7eb218543833301000000000000000500000000000000", 0xa0, 0x10ffc0}, {&(0x7f0000011000)="2de521c47879ceac00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5004011000000000000000000000000011e231891710847aa8fc7eb218543833301000000000000000700000000000000", 0x60, 0x114000}, {&(0x7f0000011100)="1c4d5aa36aea98c700000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5008011000000000001000000000000011e231891710847aa8fc7eb2185438333020000000000000002000000000000000a000000000000100000000000c00000400000000000833f0000180000000000110000000000a900000000000000006b3f0000180000000000110000000000b005000000000000006b3f0000000000000040110000000000a90000000000000000533f0000180000000040110000000000b00700000000000000533f0000000000000080110000000000a90000000000000000323f00002100000000c0110000000000a90000000000000000113f0000210000000000120000000000a90000000000000000f03e0000210000000000500000000000a90000000000000000cf3e0000210000000000500000000000c00000800000000000b73e0000180000000000500000000000c00000800000000000d83e0000180000000000500000000000c000008000000000000b3f0000180000000040110000000000b007000000000000000b3f0000000000000000500000000000c00000800000000000f33e000018", 0x1c0, 0x118000}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000004000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000002000000000000000200000000000000b0020000000000000001000000000000000100000000000000020000000000000001000000000000000100000000000000020000000000000000400100000000000001000000000000020000000000000093f62dd8283baaac00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d500c011000000000001000000000000011e231891710847aa8fc7eb21854383330200000000000000040000000000000002000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f00003000"/416, 0x1a0, 0x11bf00}, {&(0x7f0000011500)="03000000000000000001000000000000000050000000000000008000000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000010000000000000004000000000001e231891710847aa8fc7eb218543833355acbfc4463e48e300000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5000012000000000001000000000000011e231891710847aa8fc7eb21854383330200000000000000030000000000000003000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e00005000"/288, 0x120, 0x11ffa0}, {&(0x7f0000011700)="800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000085784719cdbc4fe28292f47cec16e5ba0000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000085784719cdbc4fe28292f47cec16e5ba010000000000000000000008000000000000c0000000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000085784719cdbc4fe28292f47cec16e5ba88cbc9ea67e04b3d8392b4c950cd68d5", 0x100, 0x123f00}, {&(0x7f0000011800)="1b85ac61e485a59c00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5000050000000000001000000000000011e231891710847aa8fc7eb21854383330200000000000000010000000000000004000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b70100000500000000000000840000000000000000763a0000b70100000700000000000000840000000000000000bf380000b70100"/224, 0xe0, 0x500000}, {&(0x7f0000011900)="0000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000", 0x40, 0x503920}, {&(0x7f0000011a00)="00000000010000000000000000000000000000000040110000000000000000000000000000400000000000000000000000000000000000000000000001000000", 0x40, 0x5039c0}, {&(0x7f0000011b00)="00000000000000000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x503ac0}, {&(0x7f0000011c00)="000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000110000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000118c8498735645d495c4ba2fa423dfef00"/160, 0xa0, 0x503b60}, {&(0x7f0000011d00)="000054bc645f000000000000000054bc645f00"/32, 0x20, 0x503c20}, {&(0x7f0000011e00)="00000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x503c80}, {&(0x7f0000011f00)="0000000000000000000000000000000000000200000000000000000000000000000000c0110000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200"/128, 0x80, 0x503d20}, {&(0x7f0000012000)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x503e40}, {&(0x7f0000012100)="000000000000000000020000000000000000000000000000000080110000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200000000000000", 0x60, 0x503ee0}, {&(0x7f0000012200)="285754e9abb066d300000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5004050000000000001000000000000011e231891710847aa8fc7eb21854383330300000000000000040000000000000003000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f00003000"/192, 0xc0, 0x504000}, {&(0x7f0000012300)="00000000000000000000000000000000030000000000000000010000000000000000d0000000000000008000000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000050000000000000008000000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000010000000000000004000000000001e231891710847aa8fc7eb2185438333953d4e2b8704f90600000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5008050000000000001000000000000011e231891710847aa8fc7eb2185438333030000000000000002000000000000000a000000000000100000000000a900000000000000007a3f0000210000000000100000000000c00000400000000000623f0000180000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000c00000800000000000323f0000180000000040500000000000a90000000000000000113f0000210000000080500000000000a90000000000000000f03e00002100000000c0500000000000a90000000000000000cf3e0000210000000000510000000000a90000000000000000ae3e0000210000000000d00000000000c00000800000000000963e0000180000000000500000000000c00000800000000000ae3e0000180000000000d00000000000c00000800000000000963e0000180000000040110000000000b007000000000000000b3f0000000000000000500000000000c00000800000000000f33e000018", 0x260, 0x507f60}, {&(0x7f0000012600)="000000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000000001000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000008000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000ca29b42c4ef79e6300000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d500c050000000000001000000000000011e231891710847aa8fc7eb21854383330300000000000000010000000000000008000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b70100"/608, 0x260, 0x50bee0}, {&(0x7f0000012900)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x50f840}, {&(0x7f0000012a00)="00000100000000000000000000000000000000401100000000000000000000000000004000000000000000000000000000000000000000000000010000000000", 0x40, 0x50f8e0}, {&(0x7f0000012b00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x50f9e0}, {&(0x7f0000012d00)="00000000000000000000030000000000000000010000000000000000510000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000118c8498735645d495c4ba2fa423dfef00"/128, 0x80, 0x50fb60}, {&(0x7f0000012e00)="000000000000000000000000000000000054bc645f000000000000000054bc645f00"/64, 0x40, 0x50fc00}, {&(0x7f0000012f00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x50fc80}, {&(0x7f0000013000)="000000000000000000000000000000000000030000000000000000000000000000000040500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x50fd20}, {&(0x7f0000013100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x50fe40}, {&(0x7f0000013200)="000000000000000000030000000000000000000000000000000080500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x50fee0}, {&(0x7f0000013300)="18028153381ff63c00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5000051000000000001000000000000011e231891710847aa8fc7eb21854383330300000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x510000}, {&(0x7f0000013400)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f0000000000000000", 0xc0, 0x513f40}, {&(0x7f0000013500)="c49a39871ae187e800000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5000050010000000001000000000000011e231891710847aa8fc7eb21854383330400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000013600)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000085784719cdbc4fe28292f47cec16e5ba0100000000000000000050040000000085784719cdbc4fe28292f47cec16e5ba0000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000d0010000000085784719cdbc4fe28292f47cec16e5ba00008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000085784719cdbc4fe28292f47cec16e5ba0000800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000085784719cdbc4fe28292f47cec16e5ba0000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000000800000000000040060000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000085784719cdbc4fe28292f47cec16e5ba88cbc9ea67e04b3d8392b4c950cd68d5341d5bc7421a171700000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5004050010000000001000000000000011e231891710847aa8fc7eb21854383330500000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1503dc0}, {&(0x7f0000013a00)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000085784719cdbc4fe28292f47cec16e5ba0000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000085784719cdbc4fe28292f47cec16e5ba0000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000085784719cdbc4fe28292f47cec16e5ba0100000000000000000050040000000085784719cdbc4fe28292f47cec16e5ba0000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000d0010000000085784719cdbc4fe28292f47cec16e5ba00008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000085784719cdbc4fe28292f47cec16e5ba88cbc9ea67e04b3d8392b4c950cd68d5", 0x240, 0x1507dc0}, {&(0x7f0000013d00)="c49a39871ae187e800000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5000050010000000001000000000000011e231891710847aa8fc7eb21854383330400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f0000013e00)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000085784719cdbc4fe28292f47cec16e5ba0100000000000000000050040000000085784719cdbc4fe28292f47cec16e5ba0000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000d0010000000085784719cdbc4fe28292f47cec16e5ba00008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000085784719cdbc4fe28292f47cec16e5ba0000800000000000020000000000000000000100000000000400000000000000000001000000010000100000010001000100000000000000000050000000000085784719cdbc4fe28292f47cec16e5ba0000400000000000020000000000000000000100000000000200000000000000001000000010000000100000010000000100000000000000000010000000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000000800000000000040060000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000085784719cdbc4fe28292f47cec16e5ba88cbc9ea67e04b3d8392b4c950cd68d5341d5bc7421a171700000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5004050010000000001000000000000011e231891710847aa8fc7eb21854383330500000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1d03dc0}, {&(0x7f0000014200)="00000000000000000000000000000000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000085784719cdbc4fe28292f47cec16e5ba0000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000085784719cdbc4fe28292f47cec16e5ba0000000200000000020000000000000000000100000000002400000000000000000001000000010000100000020001000100000000000000000050020000000085784719cdbc4fe28292f47cec16e5ba0100000000000000000050040000000085784719cdbc4fe28292f47cec16e5ba0000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000d0010000000085784719cdbc4fe28292f47cec16e5ba00008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d0000000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000085784719cdbc4fe28292f47cec16e5ba88cbc9ea67e04b3d8392b4c950cd68d5", 0x240, 0x1d07dc0}, {&(0x7f0000014500)="f9304614b073962900000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50000d0010000000001000000000000011e231891710847aa8fc7eb21854383330400000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x2500000}, {&(0x7f0000014600)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f0000000000000000dbc196520368dea100000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50040d0010000000001000000000000011e231891710847aa8fc7eb2185438333060000000000000005000000000000001c000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007f3700003b0000000401000000000000010000000000000000df360000a000000004010000000000000c0001000000000000d03600000f00000004010000000000001822a8f12600000000a13600002f000000040100000000000018d65ba13500000000723600002f00000004010000000000006c0000000000000000533600001f0000000501000000000000010000000000000000b3350000a000000005010000000000000c0001000000000000953500001e00000005010000000000006c000000000000000060350000350000000601000000000000010000000000000000c0340000a000000006010000000000000c0001000000000000ad3400001300000006010000000000006c000000000000000034340000790000", 0x3e0, 0x2503f40}, {&(0x7f0000014a00)="0000000000000000000000000000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c0600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c06000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c0600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3030313737313638372f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c06000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c03010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c04010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f0000000000000000bdb2f8dff5d15c3c00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50080d0010000000001000000000000011e231891710847aa8fc7eb2185438333060000000000000007000000000000000100000000f6ffffffffffffff800000d00000000000833f0000180000000000", 0xc00, 0x2507480}, {&(0x7f0000015600)="0000000000000000dbbbd8326f9b86acdbbbd8326f9b86acdbbbd8326f9b86ac49866b01f52f272600000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d500c0d0010000000001000000000000011e231891710847aa8fc7eb2185438333060000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e00002100000000c0d00100000000a90000000000000000bb3e0000210000000040d10100000000a900000000000000009a3e0000210000000080d10100000000a90000000000000000793e0000210000000080d20100000000a90000000000000000583e00002100000000c0d20100000000a90000000000000000373e0000210000000000d30100000000a90000000000000000163e00002100"/448, 0x1c0, 0x250bfe0}, {&(0x7f0000015800)="000000000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b2050000000000000005010000000000000000000000000000010000009a71ed5c5b4ba10500000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50000d1010000000001000000000000011e231891710847aa8fc7eb218543833304000000000000000700000000000000", 0x200, 0x250fe60}, {&(0x7f0000015a00)="1d3322e65503c34800000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50040d1010000000001000000000000011e231891710847aa8fc7eb21854383330400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x2514000}, {&(0x7f0000015b00)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f00000000000000000000000000000000000000008e791b5dfdab0f6200000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50080d1010000000001000000000000011e231891710847aa8fc7eb2185438333040000000000000009000000000000000100000000118c8498735645d4fb95c4ba2fa423dfef933f0000080000000000", 0x140, 0x2517f40}, {&(0x7f0000015d00)="0000000000000000000000000000000000000000000000000500000000000000fccb2fa4fdc9844900000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d500c0d1010000000001000000000000011e231891710847aa8fc7eb2185438333050000000000000002000000000000000b000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000000d10100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e0000210000000080d10100000000a90000000000000000ae3e00002100000000c0d10100000000a900000000000000008d3e0000210000000000d20100000000a900000000000000006c3e0000210000000040d20100000000a900000000000000004b3e0000210000000080d10100000000a900000000000000004b3e0000210000000080d10100000000a90000000000000000333e0000210000000000500000000000c00000800000000000f33e000018", 0x1e0, 0x251bfe0}, {&(0x7f0000015f00)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b0030000000000000000400000000000000001000000000000220000000000000000000000000000000001000000000000010000000000000023bca371acfb382000000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50000d2010000000001000000000000011e231891710847aa8fc7eb21854383330500000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/672, 0x2a0, 0x251fe80}, {&(0x7f0000016200)="00000000000000000000000000000000030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000050010000000000008000000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000050010000000000008000000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0000000000000008000000000001e231891710847aa8fc7eb21854383331a72408480e3b52600000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50040d2010000000001000000000000011e231891710847aa8fc7eb2185438333050000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x2c0, 0x2523ea0}, {&(0x7f0000016500)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2527560}, {&(0x7f0000016600)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2527720}, {&(0x7f0000016700)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2527840}, {&(0x7f0000016800)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x25278e0}, {&(0x7f0000016900)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x25279e0}, {&(0x7f0000016b00)="00000000000000000000040000000000000000010000000000000000d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000118c8498735645d495c4ba2fa423dfef00"/128, 0x80, 0x2527b60}, {&(0x7f0000016c00)="000000000000000000000000000000000054bc645f000000000000000054bc645f00"/64, 0x40, 0x2527c00}, {&(0x7f0000016d00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2527c80}, {&(0x7f0000016e00)="000000000000000000000000000000000000050000000000000000000000000000000000d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x2527d20}, {&(0x7f0000016f00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2527e40}, {&(0x7f0000017000)="0000000000000000000500000000000000000000000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x2527ee0}, {&(0x7f0000017100)="088883374c14d20300000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50080d2010000000001000000000000011e231891710847aa8fc7eb21854383330600000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000863600003b0000000401000000000000010000000000000000e6350000a000000004010000000000000c0001000000000000d73500000f00000004010000000000001822a8f12600000000a83500002f000000040100000000000018d65ba13500000000793500002f00000004010000000000006c00000000000000005a3500001f0000000501000000000000010000000000000000ba340000a000000005010000000000000c00010000000000009c3400001e00000005010000000000006c000000000000000067340000350000000601000000000000010000000000000000c7330000a000000006010000000000000c0001000000000000b43300001300000006010000000000006c00000000000000003b3300007900"/992, 0x3e0, 0x2528000}, {&(0x7f0000017500)="06000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c0600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c06000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c0600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3030313737313638372f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c06000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c03010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c06010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f0000000000000000d394b13754bfea7700000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d500c0d2010000000001000000000000011e231891710847aa8fc7eb2185438333060000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0xdc0, 0x252b3a0}, {&(0x7f0000018300)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x252f560}, {&(0x7f0000018400)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x252f720}, {&(0x7f0000018500)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x252f840}, {&(0x7f0000018600)="0000060000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x252f8e0}, {&(0x7f0000018700)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x252f9e0}, {&(0x7f0000018900)="00000000000000000000060000000000000000010000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000118c8498735645d495c4ba2fa423dfef0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000054bc645f00000000ec83212d54bc645f00"/224, 0xe0, 0x252fb60}, {&(0x7f0000018a00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x252fc80}, {&(0x7f0000018b00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x252fd20}, {&(0x7f0000018c00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x252fe40}, {&(0x7f0000018d00)="0000000000000000000600000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x252fee0}, {&(0x7f0000018e00)="1632d5ef1ea2f21e00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50000d3010000000001000000000000011e231891710847aa8fc7eb21854383330600000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x2530000}, {&(0x7f0000018f00)="0000000000000000030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000050010000000000008000000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000050010000000000008000000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0000000000000008000000000001e231891710847aa8fc7eb218543833300000000000000000000000000000000000000000000000000000000000000000000000000000000d655e45a1211221600000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50040d3010000000001000000000000011e231891710847aa8fc7eb2185438333070000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x280, 0x2533ee0}, {&(0x7f0000019200)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x2537560}, {&(0x7f0000019300)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x2537720}, {&(0x7f0000019400)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2537840}, {&(0x7f0000019500)="0000060000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x25378e0}, {&(0x7f0000019600)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x25379e0}, {&(0x7f0000019800)="00000000000000000000060000000000000000010000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000118c8498735645d495c4ba2fa423dfef0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000054bc645f00000000ec83212d54bc645f00"/224, 0xe0, 0x2537b60}, {&(0x7f0000019900)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2537c80}, {&(0x7f0000019a00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x2537d20}, {&(0x7f0000019b00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2537e40}, {&(0x7f0000019c00)="000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x2537ee0}, {&(0x7f0000019d00)="e713f0cb41652ae500000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50080d3010000000001000000000000011e231891710847aa8fc7eb2185438333070000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e0000210000000040d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e0000210000000080d20100000000a90000000000000000793e0000210000000000d30100000000a90000000000000000583e0000210000000040d30100000000a90000000000000000373e0000210000000080d30100000000a90000000000000000163e00002100"/416, 0x1a0, 0x2538000}, {&(0x7f0000019f00)="000000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000", 0x1a0, 0x253be60}, {&(0x7f000001a100)="5d2a57312fea61b500000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d5000000040000000001000000000000005f42485266535f4d07000000000000000040d30100000000004050010000000000000000000000000000000000000000000000080000000000300200000000000600000000000000010000000000000000100000004000000040000000100000810000000500000000000000000000000000000000000000000000006103000000000000010000000001000000000000000000000800000000000080050000000000100000001000000010000000000000000000000000000000000000000000000000000000000000000085784719cdbc4fe28292f47cec16e5ba88cbc9ea67e04b3d8392b4c950cd68d500"/320, 0x140, 0x4000000}, {&(0x7f000001a300)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00'/32, 0x20, 0x4000220}, {&(0x7f000001a400)="00000000000000000000000001000000000000e400005001000000000000800000000000020000000000000000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000d0010000000085784719cdbc4fe28292f47cec16e5ba0000000100000000002200000000000000000001000000010000100000020001000100000000000000000050010000000085784719cdbc4fe28292f47cec16e5ba01000000000000000000d0010000000085784719cdbc4fe28292f47cec16e5ba00"/256, 0x100, 0x4000320}, {&(0x7f000001a500)="00000000000000000000000040d2010000000005000000000000000040500100000000050000000000000000c0d1010000000005000000000000000000d0010000000004000000000000000000d2010000000005000000000000000000d10100000000040000000000000000000008000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d2010000000006000000000000000040500100000000050000000000000000c0d0010000000006000000000000000080d2010000000006000000000000000000d3010000000006000000000000000080d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000005000000000000000080d3010000000007000000000000000080d2010000000006000000000000000000d3010000000006000000000000000080d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d001000000000400000000000000000050010000000004000000000000000080d0010000000004000000000000000000d00100000000040000000000000000c0d0010000000004000000000000000000d101000000000400000000000000000000080000000000000200000000000100"/640, 0x280, 0x4000b20}, {&(0x7f000001a800)="f9304614b073962900000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50000d0010000000001000000000000011e231891710847aa8fc7eb21854383330400000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x4500000}, {&(0x7f000001a900)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f0000000000000000dbc196520368dea100000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50040d0010000000001000000000000011e231891710847aa8fc7eb2185438333060000000000000005000000000000001c000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007f3700003b0000000401000000000000010000000000000000df360000a000000004010000000000000c0001000000000000d03600000f00000004010000000000001822a8f12600000000a13600002f000000040100000000000018d65ba13500000000723600002f00000004010000000000006c0000000000000000533600001f0000000501000000000000010000000000000000b3350000a000000005010000000000000c0001000000000000953500001e00000005010000000000006c000000000000000060350000350000000601000000000000010000000000000000c0340000a000000006010000000000000c0001000000000000ad3400001300000006010000000000006c000000000000000034340000790000", 0x3e0, 0x4503f40}, {&(0x7f000001ad00)="0000000000000000000000000000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c0600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c06000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c0600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3030313737313638372f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c06000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c03010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c04010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f0000000000000000bdb2f8dff5d15c3c00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50080d0010000000001000000000000011e231891710847aa8fc7eb2185438333060000000000000007000000000000000100000000f6ffffffffffffff800000d00000000000833f0000180000000000", 0xc00, 0x4507480}, {&(0x7f000001b900)="0000000000000000dbbbd8326f9b86acdbbbd8326f9b86acdbbbd8326f9b86ac49866b01f52f272600000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d500c0d0010000000001000000000000011e231891710847aa8fc7eb2185438333060000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e00002100000000c0d00100000000a90000000000000000bb3e0000210000000040d10100000000a900000000000000009a3e0000210000000080d10100000000a90000000000000000793e0000210000000080d20100000000a90000000000000000583e00002100000000c0d20100000000a90000000000000000373e0000210000000000d30100000000a90000000000000000163e00002100"/448, 0x1c0, 0x450bfe0}, {&(0x7f000001bb00)="000000000000000000000000000000000000000000000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b2050000000000000005010000000000000000000000000000010000009a71ed5c5b4ba10500000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50000d1010000000001000000000000011e231891710847aa8fc7eb218543833304000000000000000700000000000000", 0x200, 0x450fe60}, {&(0x7f000001bd00)="1d3322e65503c34800000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50040d1010000000001000000000000011e231891710847aa8fc7eb21854383330400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x4514000}, {&(0x7f000001be00)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f00000000000000000000000000000000000000008e791b5dfdab0f6200000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50080d1010000000001000000000000011e231891710847aa8fc7eb2185438333040000000000000009000000000000000100000000118c8498735645d4fb95c4ba2fa423dfef933f0000080000000000", 0x140, 0x4517f40}, {&(0x7f000001c000)="0000000000000000000000000000000000000000000000000500000000000000fccb2fa4fdc9844900000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d500c0d1010000000001000000000000011e231891710847aa8fc7eb2185438333050000000000000002000000000000000b000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000000d10100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e0000210000000080d10100000000a90000000000000000ae3e00002100000000c0d10100000000a900000000000000008d3e0000210000000000d20100000000a900000000000000006c3e0000210000000040d20100000000a900000000000000004b3e0000210000000080d10100000000a900000000000000004b3e0000210000000080d10100000000a90000000000000000333e0000210000000000500000000000c00000800000000000f33e000018", 0x1e0, 0x451bfe0}, {&(0x7f000001c200)="010000000000000004000000000000000200000000000000010000000000000004000000000000000200000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000004000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00500000000000000010000000000000005000000000000000200000000000000b0030000000000000000400000000000000001000000000000220000000000000000000000000000000001000000000000010000000000000023bca371acfb382000000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50000d2010000000001000000000000011e231891710847aa8fc7eb21854383330500000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/672, 0x2a0, 0x451fe80}, {&(0x7f000001c500)="00000000000000000000000000000000030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000050010000000000008000000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000050010000000000008000000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0000000000000008000000000001e231891710847aa8fc7eb21854383331a72408480e3b52600000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50040d2010000000001000000000000011e231891710847aa8fc7eb2185438333050000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x2c0, 0x4523ea0}, {&(0x7f000001c800)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4527560}, {&(0x7f000001c900)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4527720}, {&(0x7f000001ca00)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4527840}, {&(0x7f000001cb00)="0000040000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/96, 0x60, 0x45278e0}, {&(0x7f000001cc00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x45279e0}, {&(0x7f000001ce00)="00000000000000000000040000000000000000010000000000000000d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400000000000000118c8498735645d495c4ba2fa423dfef00"/128, 0x80, 0x4527b60}, {&(0x7f000001cf00)="000000000000000000000000000000000054bc645f000000000000000054bc645f00"/64, 0x40, 0x4527c00}, {&(0x7f000001d000)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4527c80}, {&(0x7f000001d100)="000000000000000000000000000000000000050000000000000000000000000000000000d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x4527d20}, {&(0x7f000001d200)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4527e40}, {&(0x7f000001d300)="0000000000000000000500000000000000000000000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500000000000000", 0x60, 0x4527ee0}, {&(0x7f000001d400)="088883374c14d20300000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50080d2010000000001000000000000011e231891710847aa8fc7eb21854383330600000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000863600003b0000000401000000000000010000000000000000e6350000a000000004010000000000000c0001000000000000d73500000f00000004010000000000001822a8f12600000000a83500002f000000040100000000000018d65ba13500000000793500002f00000004010000000000006c00000000000000005a3500001f0000000501000000000000010000000000000000ba340000a000000005010000000000000c00010000000000009c3400001e00000005010000000000006c000000000000000067340000350000000601000000000000010000000000000000c7330000a000000006010000000000000c0001000000000000b43300001300000006010000000000006c00000000000000003b3300007900"/992, 0x3e0, 0x4528000}, {&(0x7f000001d800)="06000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c0600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c06000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f000000008976dd2c0600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3030313737313638372f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c06000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c03010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c54bc645f000000006d6da02c06010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000008976dd2c54bc645f000000008976dd2c54bc645f0000000000000000d394b13754bfea7700000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d500c0d2010000000001000000000000011e231891710847aa8fc7eb2185438333060000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0xdc0, 0x452b3a0}, {&(0x7f000001e600)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x452f560}, {&(0x7f000001e700)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x452f720}, {&(0x7f000001e800)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x452f840}, {&(0x7f000001e900)="0000060000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x452f8e0}, {&(0x7f000001ea00)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x452f9e0}, {&(0x7f000001ec00)="00000000000000000000060000000000000000010000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000118c8498735645d495c4ba2fa423dfef0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000054bc645f00000000ec83212d54bc645f00"/224, 0xe0, 0x452fb60}, {&(0x7f000001ed00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x452fc80}, {&(0x7f000001ee00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x452fd20}, {&(0x7f000001ef00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x452fe40}, {&(0x7f000001f000)="0000000000000000000600000000000000000000000000000000c0d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x452fee0}, {&(0x7f000001f100)="1632d5ef1ea2f21e00000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50000d3010000000001000000000000011e231891710847aa8fc7eb21854383330600000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x4530000}, {&(0x7f000001f200)="0000000000000000030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0010000000000000002000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000050010000000000008000000000001e231891710847aa8fc7eb218543833303000000000000000001000000000000000050010000000000008000000000001e231891710847aa8fc7eb2185438333030000000000000000010000000000000000d0000000000000008000000000001e231891710847aa8fc7eb218543833300000000000000000000000000000000000000000000000000000000000000000000000000000000d655e45a1211221600000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50040d3010000000001000000000000011e231891710847aa8fc7eb2185438333070000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701000000", 0x280, 0x4533ee0}, {&(0x7f000001f500)="0000000000000000000000000000000000000000040000000000000000010000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000400"/128, 0x80, 0x4537560}, {&(0x7f000001f600)="0000000000000000000000040000000000000000000000000000000080d1010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000040000000000", 0x60, 0x4537720}, {&(0x7f000001f700)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4537840}, {&(0x7f000001f800)="0000060000000000000000000000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/96, 0x60, 0x45378e0}, {&(0x7f000001f900)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000054bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff00"/320, 0x140, 0x45379e0}, {&(0x7f000001fb00)="00000000000000000000060000000000000000010000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000118c8498735645d495c4ba2fa423dfef0000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000054bc645f00000000ec83212d54bc645f00"/224, 0xe0, 0x4537b60}, {&(0x7f000001fc00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4537c80}, {&(0x7f000001fd00)="000000000000000000000000000000000000060000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x4537d20}, {&(0x7f000001fe00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4537e40}, {&(0x7f000001ff00)="000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x4537ee0}, {&(0x7f0000020000)="e713f0cb41652ae500000000000000000000000000000000000000000000000088cbc9ea67e04b3d8392b4c950cd68d50080d3010000000001000000000000011e231891710847aa8fc7eb2185438333070000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e0000210000000040d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e0000210000000080d20100000000a90000000000000000793e0000210000000000d30100000000a90000000000000000583e0000210000000040d30100000000a90000000000000000373e0000210000000080d30100000000a90000000000000000163e00002100"/416, 0x1a0, 0x4538000}, {&(0x7f0000020200)="000000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b0070000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000", 0x1a0, 0x453be60}], 0x0, &(0x7f0000020400)=ANY=[@ANYBLOB="f9"]) readlinkat(r0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000140)=""/184, 0xb8) 13:36:20 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = syz_open_dev$tty1(0xc, 0x4, 0x1) chdir(&(0x7f0000000000)='./file0\x00') bpf$BPF_MAP_LOOKUP_AND_DELETE_BATCH(0x19, &(0x7f0000001280)={&(0x7f0000001400)="43b67ac3ed5d1ad361048496c88ae8185d69dd5687a09dea78884e15b88e8f9fd5b7d6dea0f9eb800e7185eacf271b16e79ba895a088add0536b4d244d8c1372d377ef871e3838e6ae1a195e9528306d69784874147fe51e5c828797524ae603b073f6905dadb3a2f5e5588192dcde1665de3ec79bde0aab0eed226f822b67af68d72a0c7f898f014f5b6f5640a894162d9e818b72c7d801547f02b8dc3a033e69883a89f30c977f39519b2c3d7d6c1644620384fbb0167bcf9a0402854d4155edf19ac37a774bc2567fc1a47b8a45188a376a67c3ca95e8499684", &(0x7f0000000140)=""/4096, &(0x7f0000001340)="e372088914cd83620d74544e938dcf8561f3eb049b87c123b496eb1d18a3788e461d2069a4d23e83d3553fa102355ed9b2647f1732d03f12a4c5e3de0ef56c5de837060cc4a8a3a55fc5488e9d1c150dd62884bea0e41f4d4ac17e8f89c9450ea1306c67c0431cd3da3d5f67535c0bffb101ae304e28a5ac0e8e5e38b5ee86904ff2277f9c9422cb7a4db2ca28c5a44aa3c70238255c60d86ab9", &(0x7f0000001140)="8ac1047830cce6242a73c4e0d3df23a2e6ddb0b8680a987c566f250e32caa03f592567a575f372d134c1d1bd67921c8f7ed2d28637b27b9797a04951c78a7729c65dd043241a4a1359103de64277fb18cb6b1afc4abe97ba4be80733c3899ed8", 0x800, r1, 0x4}, 0x38) ioctl$KDSETLED(r2, 0x4b32, 0x200) 13:36:20 executing program 5: 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) shmget(0x0, 0x1000, 0x0, &(0x7f0000ffa000/0x1000)=nil) syz_mount_image$udf(&(0x7f0000000000)='udf\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)='\x00BEA01', 0x6, 0x8000}, {&(0x7f0000010100)='\x00NSR02', 0x6, 0x8800}, {&(0x7f0000010300)="01000200a400010054fbf001600000000100000000000000084c696e757855444600000000000000000000000000000000000000000000090100010003000300010000000100000008313233343536373831323334353637384c696e7578554446", 0x61, 0xc000}, {&(0x7f0000010400)="0000000000000019004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000004f53544120436f6d7072657373656420556e69636f64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578206d6b756466667300000000000000000004050000000000007810e4070913142c16351c1d002a4c696e757820554446465300000000000000000000000405", 0xde, 0xc0c0}, {&(0x7f0000010500)="0000000000000000010000000000000000000000000000000000000000000000060002002d0001002caee8016100000002000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446", 0x7d, 0xc1e0}, {&(0x7f0000010600)="000000000000000000000000000000000000000900020000002a4f5354412055444620436f6d706c69616e74000000005001000000000000000200002000000000000000000000004000000001000000002a4c696e757820554446465300000000000000000000000405", 0x6a, 0xc2c0}, {&(0x7f0000010700)="00000000000000000000000000000000004000008000000002400000002a554446205370617261626c6520506172746974696f6e5001040500000000010000002000020038010000a0000000e0070000000000000000000000000000000000000500020055000100c535f001620000000500000001000000002b4e53523032000000000000000000000000000000000000000000000000000002", 0x9a, 0xc3a0}, {&(0x7f0000010800)="0000000000000000000000000000000000000000000000000300000020050000a0020000002a4c696e757820554446465300000000000000000000000405", 0x3e, 0xc4a0}, {&(0x7f0000011100)="02000200fd0001008f77f00100010000004000006000000000400000c007", 0x1e, 0x20000}, {&(0x7f0000011200)="07010200b3000100204840000000000000000000040000000100000100000000000000002800000000340040060000000012004037000000003e004041000000003e004061000000003e044081", 0x4d, 0xa4000}, {&(0x7f0000011a00)="0001020098000100e59ef001200000007810e4070913142c16351c1d0300030001000000010000000000000000000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446", 0x79, 0xa8000}, {&(0x7f0000011b00)="00000000000000000000000000000009004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446000000000000000000000000000000000000000000000908436f707972696768740000000000000000000000000000000000000000000a084162737472616374000000000000000000000000000000000000000000000900020000400000000000000000000000002a4f5354412055444620436f6d706c69616e74000000005001", 0xda, 0xa80e0}, {&(0x7f0000012200)="05010200cd0001005381b0004000000000000000040000000100000400000000000001000000000000000000a53c00000200000000000000440100000000000001000000000000000010e4070913122c16351c1d0010e4070913122c17130e360010e4070913122c17130e360100000000000000000000000000000000000000002a4c696e757820554446465300000000000000000000000405000000000000000000000000000000000000100000004401000060", 0xb5, 0xac000}], 0x0, &(0x7f0000000040)) futimesat(0xffffffffffffffff, 0x0, 0x0) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) sendmsg$NLBL_MGMT_C_PROTOCOLS(r0, &(0x7f0000000400)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x40000}, 0xb, &(0x7f0000000380)={0x0}, 0x1, 0x0, 0x0, 0x40004}, 0x4001) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x220007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) arch_prctl$ARCH_SET_GS(0x1001, &(0x7f0000000080)) recvmmsg(r0, &(0x7f0000005540)=[{{0x0, 0x28000000, &(0x7f0000000240)=[{&(0x7f0000001340)=""/4067, 0x20002323}], 0x1, 0x0, 0x983a0000, 0x103}, 0x2}], 0x1, 0x100, 0x0) setsockopt$sock_int(r0, 0x1, 0x8, 0x0, 0x0) sendto$inet(r0, &(0x7f00000012c0)="0c268a927f1f6588b967480a41ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf74", 0x49, 0x11, 0x0, 0x0) ioctl$F2FS_IOC_GET_FEATURES(r0, 0x8004f50c, &(0x7f00000001c0)) 13:36:20 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000280)={'syz_tun\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@setlink={0x28, 0x13, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r1}, [@IFLA_TXQLEN={0x8, 0xd, 0x132ec8d1}]}, 0x7d}}, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r2, 0x0) r3 = syz_genetlink_get_family_id$batadv(&(0x7f0000000080)='batadv\x00') sendmsg$BATADV_CMD_SET_HARDIF(r2, &(0x7f0000000200)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f00000001c0)={&(0x7f0000000140)={0x58, r3, 0x300, 0xe1bc, 0x25dfdbff, {}, [@BATADV_ATTR_HOP_PENALTY={0x5, 0x35, 0x1}, @BATADV_ATTR_ISOLATION_MARK={0x8, 0x2b, 0x5}, @BATADV_ATTR_TPMETER_TEST_TIME={0x8, 0xb, 0x40}, @BATADV_ATTR_ISOLATION_MASK={0x8, 0x2c, 0x10000}, @BATADV_ATTR_ORIG_ADDRESS={0xa, 0x9, @multicast}, @BATADV_ATTR_AGGREGATED_OGMS_ENABLED={0x5, 0x29, 0x1}, @BATADV_ATTR_VLANID={0x6, 0x28, 0x2}, @BATADV_ATTR_BONDING_ENABLED={0x5}]}, 0x58}, 0x1, 0x0, 0x0, 0x8080}, 0x20000806) 13:36:20 executing program 5: r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$sock_int(r0, 0x1, 0x29, &(0x7f0000000080)=0x1, 0x4) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r1, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, r1, 0x0) connect$inet(r0, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x0) 13:36:20 executing program 5: r0 = socket(0x40000000015, 0x5, 0x0) setsockopt$sock_int(r0, 0x1, 0x3c, &(0x7f0000000000)=0x40000001, 0x4) bind$inet(r0, &(0x7f00008a5ff0)={0x2, 0x0, @loopback}, 0x10) recvmmsg(r0, &(0x7f0000001180)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000003180)=""/102400, 0x19000}}], 0x1, 0x0, 0x0) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000000200)={0x2, 0x0, @loopback}, 0x10) 13:36:21 executing program 5: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000035000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f00000000c0)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8ddc74424008fc4bd87c7442402c43a727fc7442406000000000f011424f30f090f013a360f06c4c18d72d68366baa100ed", 0x51}], 0x1, 0x0, 0x0, 0x0) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r2, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x3d2}}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x3, 0x2, &(0x7f0000000400)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a6f4e0e4a9446ca2b5f1cc1a100a9af698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227ffff000000000000f07a72c2918451ebdcf4cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1083a30369d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8ed8fb7a68af2ad0000000000000006f803c6468972089b302d7bf6023cdcedb5e0125ebbcebdde510cb2364149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f40cfd7c3a1d37a6ab87b1586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660580800dbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd80a504cea9542e62d7f69667e3ddcd567b3aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d60532af9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb61e8caab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326efa31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c713ce69701919c326feccbf15711297e8d2016219848624b87cec2dbe98223a0eb4fa39f695c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc22941330000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f00000000df73be83bb7d5ad897ef3b7cda42013d53046da21b40216e14ba2d6af8656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b2633398631c7771429d120000de3241bf4a00fcffffffffffffffe09fec2271fe01589646efd1cf870cd7bb2366fde4a59429738fcc917a57f94f6c453cea793cc5ee0c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768fb40fe418ce970275d5bc8955778567bc79e13b78249788f11f7610b8b75d4fa32b561d46ea3abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0d4d1d4b405c37feaf3dd95f6ef2acd1fe582786105c7df8be5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e76003b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694da85bff9f5f4df9b3e90e5c708ce65cd6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb26e22a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d285b3b8a8c9ae3d14f93100c2e089b862eef552fcde2981f48c482bde6e4a4304e50c349f4f9ecee27de8f2a4ebb04b0c485b72d538ba4958ea8e4aa37094191e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b6000000000000000000d6d5210d7560eb92d6a97a27602b81f7636df1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d1a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e600263d9756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466ac96e0d4b3bb49faa5449209b085f3c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c7868c6da7eaa69eb7f7f80572fdd11bb1d0d1280fbc22bf73468788df51710d7d31c000000000000000000000000009bff5348dd9639a9f34b5f92b7646000e3053358f55cb9f97c269eaf7327c32ab116a303ae64c9c714217c"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], r4}, 0x48) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x3d2}}, 0x0) getsockname$packet(r5, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x3, 0x2, &(0x7f0000000400)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a6f4e0e4a9446ca2b5f1cc1a100a9af698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227ffff000000000000f07a72c2918451ebdcf4cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1083a30369d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8ed8fb7a68af2ad0000000000000006f803c6468972089b302d7bf6023cdcedb5e0125ebbcebdde510cb2364149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f40cfd7c3a1d37a6ab87b1586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660580800dbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd80a504cea9542e62d7f69667e3ddcd567b3aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d60532af9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb61e8caab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326efa31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c713ce69701919c326feccbf15711297e8d2016219848624b87cec2dbe98223a0eb4fa39f695c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc22941330000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f00000000df73be83bb7d5ad897ef3b7cda42013d53046da21b40216e14ba2d6af8656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b2633398631c7771429d120000de3241bf4a00fcffffffffffffffe09fec2271fe01589646efd1cf870cd7bb2366fde4a59429738fcc917a57f94f6c453cea793cc5ee0c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768fb40fe418ce970275d5bc8955778567bc79e13b78249788f11f7610b8b75d4fa32b561d46ea3abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0d4d1d4b405c37feaf3dd95f6ef2acd1fe582786105c7df8be5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e76003b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694da85bff9f5f4df9b3e90e5c708ce65cd6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb26e22a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d285b3b8a8c9ae3d14f93100c2e089b862eef552fcde2981f48c482bde6e4a4304e50c349f4f9ecee27de8f2a4ebb04b0c485b72d538ba4958ea8e4aa37094191e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b6000000000000000000d6d5210d7560eb92d6a97a27602b81f7636df1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d1a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e600263d9756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466ac96e0d4b3bb49faa5449209b085f3c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c7868c6da7eaa69eb7f7f80572fdd11bb1d0d1280fbc22bf73468788df51710d7d31c000000000000000000000000009bff5348dd9639a9f34b5f92b7646000e3053358f55cb9f97c269eaf7327c32ab116a303ae64c9c714217c"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], r6}, 0x48) sendmsg$FOU_CMD_GET(0xffffffffffffffff, &(0x7f00000003c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000280)={&(0x7f0000000c80)=ANY=[@ANYBLOB=',\x00\x00\x00', @ANYRES16=0x0, @ANYBLOB="04002dbd7000fedbdf250300000008000b00", @ANYRES32=r4, @ANYBLOB="050004000100000008000b00", @ANYRES32=r6, @ANYBLOB="4e516ebceb553a661ea396c53e7b09969f9f5784be89d4cace45d6649c16aceec5cb248804f0b1741f2f401b175656d2d0133487729f33a3e2fbcfcc245302493f4443dae07622b157d998a27bca37ea356bc65d078fbebd983b6ce50087d52271db7c926995ff2d1e02514bacb3706b8692d3aaac900338dc6f5c4fefbb77a50f90215292b8970bec9c7c896011dc86039cc70f19cc3337d2e49e0097b088ea89f205ed95e1882b88079fcbb61269182c3fba18798f41fa07258c9402a400cb1c691c8bfeadf8fcbc419ca6a4a9a5e7eb8e4e4e4f"], 0x2c}, 0x1, 0x0, 0x0, 0x800}, 0x800) ioctl$KVM_SET_REGS(r3, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc5e]}) ioctl$KVM_RUN(r3, 0xae80, 0x0) perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 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, 0x1, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) 13:36:21 executing program 5: getsockopt$inet_sctp_SCTP_CONTEXT(0xffffffffffffffff, 0x84, 0x11, &(0x7f0000000040)={0x0, 0x8000}, &(0x7f0000000080)=0x8) r0 = socket$inet6(0xa, 0x80002, 0x88) bind$inet6(r0, &(0x7f00000001c0)={0xa, 0x10010000004e20}, 0x1c) setsockopt$inet6_udp_int(r0, 0x11, 0xb, &(0x7f0000000000)=0x1004, 0x4) syz_emit_ethernet(0x83, &(0x7f0000000300)=ANY=[@ANYBLOB="aaaaaaaaaaaaaaaaaaaaaaaa86dd601bfc97004d8880fe800001000000000000000000000600ff02000000000000000000000000000101004e20004590"], 0x0) 13:36:21 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r0, 0x0) setsockopt$inet6_tcp_TCP_REPAIR(r0, 0x6, 0x13, &(0x7f0000000080)=0xffffffffffffffff, 0x4) 13:36:21 executing program 5: semget(0x0, 0x0, 0x0) 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, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x14, 0x4e0}, {&(0x7f0000010300)="03000000", 0x4, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000d4f4655fd5f4655fd5f4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000d4f4655fd4f4655fd4f4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d, 0x4800}, {&(0x7f0000000040)="8081000000180000d4f4655fd4f4655fd4f4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000040", 0x3d, 0x4c02}, {&(0x7f0000013900)="111fc0d901", 0x5, 0x200}, {&(0x7f0000013f00)="2719c0d901000000", 0x8, 0x40000}, {0x0, 0x0, 0x40400}], 0x0, &(0x7f0000000040)=ANY=[]) ioctl$EVIOCGVERSION(0xffffffffffffffff, 0x80044501, &(0x7f0000000300)=""/234) 13:36:21 executing program 5: mmap(&(0x7f0000011000/0x3000)=nil, 0x3000, 0x200000c, 0x10032, 0xffffffffffffffff, 0x0) r0 = userfaultfd(0x0) ioctl$UFFDIO_API(r0, 0xc018aa3f, &(0x7f0000000040)) ioctl$UFFDIO_REGISTER(r0, 0xc020aa00, &(0x7f0000000000)={{&(0x7f0000011000/0x3000)=nil, 0x3000}, 0x1}) r1 = socket$inet6_sctp(0xa, 0x1, 0x84) getsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(0xffffffffffffffff, 0x84, 0x13, &(0x7f0000000100)={0x0}, &(0x7f0000000140)=0x8) getsockopt$inet_sctp6_SCTP_DELAYED_SACK(r1, 0x84, 0x70, &(0x7f0000000180)=@sack_info={r2, 0x4b21d, 0x7fff}, &(0x7f00000000c0)=0xc) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) r4 = request_key(&(0x7f0000001240)='cifs.spnego\x00', &(0x7f0000001280)={'syz', 0x1}, &(0x7f00000012c0)='\'\xed*,\x00', 0xfffffffffffffffa) keyctl$restrict_keyring(0x1d, r4, &(0x7f00000001c0)='cifs.idmap\x00', &(0x7f0000000200)='\x00') r5 = dup2(r3, r3) setsockopt$inet6_IPV6_RTHDR(r1, 0x29, 0x39, &(0x7f0000000080)=ANY=[@ANYBLOB="00020200a6820000fe8000"/24], 0x18) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) r6 = socket$inet6_tcp(0xa, 0x1, 0x0) r7 = dup2(r6, r1) r8 = dup3(r7, r0, 0x0) ioctl$BTRFS_IOC_SUBVOL_CREATE_V2(0xffffffffffffffff, 0x50009418, &(0x7f0000000240)={{r8}, 0x0, 0x0, @unused=[0x7, 0x716e, 0x560, 0x3], @subvolid=0x9}) 13:36:22 executing program 5: socket(0x0, 0x0, 0x0) r0 = dup(0xffffffffffffffff) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000080)) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x5, &(0x7f0000000200)=[{&(0x7f0000010000)="2000000040000000030000002d0000000f00000000000000020000000200000000800000008000002000000028c4645f28c4645f0100ffff53ef", 0x3a, 0x400}, {&(0x7f0000010300)="020000000300000004", 0x9, 0x1000}, {&(0x7f0000012500)="ed4100000010000027c4645f28c4645f28c4645f000000000000040008000000000000000500000005", 0x29, 0x4080}, {&(0x7f0000012800)="ed4100000010000028c4645f28c4645f28c4645f00000000000002000800000000000000030000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000117f4ec4000000000000000000000000000000000000000000000000ed8100001a04000028c4645f28c4645f28c4645f00000000000001000800000000000000010000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004b9b4573000000000000000000000000000000000000000000000000ffa100002600000028c4645f28c4645f28c4645f00000000000001000000000000000000010000002f746d702f73797a2d696d61676567656e3730393530383731312f66696c65302f66696c653000000000000000000000000000000000000000000000df9530c1000000000000000000000000000000000000000000000000ed8100000a00000028c4645f28c4645f28c4645f00000000000001001000000000000000010000000d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a2a499770e", 0x1e9, 0x4580}, {&(0x7f0000012b00)="020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c65300000000f0000001000050166696c6531", 0x49, 0x5000}], 0x0, &(0x7f0000013a00)) r1 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vsock\x00', 0x40000, 0x0) ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT(r1, 0xc0bc5351, &(0x7f0000000140)={0x3ff, 0x2, 'client0\x00', 0x2, "5ed0bc73ffcebc39", "615b87af24cfb9de10e77c4448e487f00aad41521d11ee5c52cb4176cd4e28ca", 0x2351, 0x1000}) mq_notify(r1, &(0x7f00000000c0)={0x0, 0x3c, 0x2, @thr={&(0x7f0000000280)="d09f8b1a5ae83cb8d4c358bdd0d6edf927c13c2d9d8eab2102a360973c2feb44724e3e81ac71dcc80d133cc207054486606c1f870d1754c9d6295dfc46b96c79773a41c31a1efb67ef34560db76062ec77fb44671ac5a2a2121f40bc474776d663b1d09f1aab6fae0eb52e89dc5e4215a42d7475fb069a14e3c1e4c81e6c905aae175f2e395c3a213e3662140a48811dce8514efb5a16a5c4a0ef98f637a8a7dce498b49f39792f8e97c9a5228b9b888a61cbbdc276827b434c4bb333dddb31856c22e8d70e643", &(0x7f0000000380)="ff5c8afbde22bb024ad054aaa6c7beef02f0c83f03a885c02d50de5d236c7f9ad226bed9ae683098d24398822cd1d160a90016314681ea2c7cc9033c5bc561cbaa3ee99c45795b43c00b7617baad8ae7928c6d8c0b4edbd8d707375a4990032a20dc250247a64068df15ce42af4bd035175fee4c0bbde698d86b9d5b0ef3be269d2cc19ded99d1cd1c4c0a4705e84fc9ea2d863223631868bdbe131298989342ee327f45c4db112b00"}}) openat$dir(0xffffffffffffff9c, &(0x7f0000001ec0)='./file0/file1\x00', 0x86100, 0x120) 13:36:22 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r2 = gettid() write$sndseq(r1, &(0x7f0000000080), 0xf) wait4(0x0, 0x0, 0x80000000, 0x0) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r3}, 0x2c, {'wfdno', 0x3d, r4}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) vmsplice(r3, &(0x7f0000000100)=[{&(0x7f0000000040)}, {&(0x7f0000000000)="0832db97d383500400000021019511dc5df26e9a0b7ecb6974f527cc14538d1efb1ffe03284f6d33265be9c604b293f20e969eeb2aa4c457ac37a3a308000000500fcecd80fd5fe8f7e3648eb301f68c0e62358609dd57170c08b83cea0c327ab83f4dff2fb86b2b211e60bec3f48ddc34653f9d929faba5cf84258099be4d", 0x7f}], 0x2, 0x0) ptrace$setopts(0x4206, r2, 0x0, 0x0) tkill(r2, 0x17) ptrace$setregs(0xf, r2, 0x0, &(0x7f0000000080)) r5 = getpid() tkill(r5, 0x3d) 13:36:22 executing program 5: getuid() syz_mount_image$tmpfs(&(0x7f00000001c0)='tmpfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)=ANY=[]) r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x410481, 0x0) pwritev(r0, &(0x7f00000014c0)=[{&(0x7f0000000080)="d69f22713f08dc", 0xffffff30}], 0x1, 0x2, 0x20) fallocate(r0, 0x3, 0x0, 0xffe0) r1 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000180)='/dev/ubi_ctrl\x00', 0x50000, 0x0) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x3d, r3}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) ioctl$BTRFS_IOC_QUOTA_CTL(r3, 0xc0109428, &(0x7f0000000280)={0x3, 0x7fff}) r4 = syz_open_dev$vcsn(&(0x7f0000000100)='/dev/vcs#\x00', 0x88, 0x8000) getsockopt$inet_mreqn(r4, 0x0, 0x23, &(0x7f0000000200)={@remote, @initdev}, &(0x7f0000000240)=0xc) linkat(r0, &(0x7f00000000c0)='./file0\x00', r1, &(0x7f0000000140)='./file0\x00', 0x1000) 13:36:22 executing program 5: r0 = socket$inet6(0xa, 0x80003, 0x7) connect$inet6(r0, &(0x7f0000000040), 0x1c) sendmmsg(r0, &(0x7f00000092c0), 0x0, 0xc041) 13:36:22 executing program 5: bind$inet(0xffffffffffffffff, 0x0, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50c, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x7, 0x3}, 0x0, 0x7fffffff, 0x0, 0x0, 0x0, 0x7fffffff, 0x8000}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) shmget(0x0, 0x1000, 0x100, &(0x7f0000ffd000/0x1000)=nil) r2 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r2, &(0x7f0000000000)={0x40000000, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="0207000902"], 0x10}}, 0x0) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) r3 = syz_open_dev$vcsa(&(0x7f0000000180)='/dev/vcsa#\x00', 0x3, 0x0) setsockopt$TIPC_CONN_TIMEOUT(r3, 0x10f, 0x82, &(0x7f0000000200), 0x4) read$FUSE(0xffffffffffffffff, 0x0, 0x0) connect$inet(r0, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) setsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f0000000080)={{{@in6=@ipv4={[], [], @dev}, @in6=@remote, 0x0, 0x0, 0x0, 0x0, 0x2}, {}, {}, 0x0, 0x0, 0x1}, {{@in=@initdev={0xac, 0x1e, 0x0, 0x0}, 0x0, 0x33}, 0x0, @in6=@loopback, 0x0, 0x0, 0x0, 0xb7, 0x1ff}}, 0xe8) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x0) open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RWALK(0xffffffffffffffff, &(0x7f0000000280)=ANY=[], 0x12) 13:36:22 executing program 5: mkdirat(0xffffffffffffff9c, 0x0, 0x0) r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = getpid() sched_setscheduler(r1, 0x5, &(0x7f0000000380)) r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TCSETS(r2, 0x40045431, &(0x7f00005befdc)) ioctl$VFIO_GET_API_VERSION(0xffffffffffffffff, 0x3b64) r3 = signalfd4(r0, &(0x7f0000000000), 0x8, 0x800) r4 = socket$inet6_sctp(0xa, 0x10000000005, 0x84) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r4, 0x84, 0x1d, &(0x7f0000000900)={0x1, [0x0]}, &(0x7f0000000940)=0x8) getsockopt$inet_sctp_SCTP_AUTH_ACTIVE_KEY(r3, 0x84, 0x18, 0x0, &(0x7f00000000c0)) ioctl$PPPIOCSMRU(r3, 0x40047452, &(0x7f0000000080)=0x2) getsockopt$inet_sctp_SCTP_SOCKOPT_PEELOFF(r3, 0x84, 0x66, &(0x7f0000000100)={r5, 0x9}, &(0x7f0000000140)=0x8) getsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER(r4, 0x84, 0x7b, &(0x7f0000000180)={r6, 0x7}, &(0x7f0000000200)=0x8) r7 = syz_open_pts(r2, 0x0) ioctl$TIOCSETD(r7, 0x5423, &(0x7f0000000040)=0x15) mount$fuse(0x20000000, &(0x7f00000004c0)='./file0\x00', 0x0, 0x7a04, 0x0) 13:36:22 executing program 5: r0 = socket$inet6(0xa, 0x3, 0x20000000021) r1 = socket(0x11, 0x80002, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x4e22, 0x9, @mcast2, 0x4}, 0x1c) bind$packet(r1, &(0x7f0000000480)={0x11, 0x3, 0x0, 0x1, 0x0, 0x6, @local}, 0x14) setsockopt(r1, 0x107, 0x9, &(0x7f00000002c0)="b9ef5a74", 0x4) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r2, 0xfffffffd) syz_emit_ethernet(0x4a, &(0x7f0000000180)={@local, @link_local, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "0a3ff2", 0x14, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x4e22, 0x41424344, 0x41424344, 0x0, 0x0, 0x5, 0xc2}}}}}}}, 0x0) syz_emit_ethernet(0x56, &(0x7f0000000080)={@local, @link_local, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "0a3ff2", 0x20, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x4e22, 0x41424344, 0x41424344, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, {[@timestamp={0x8, 0xa}]}}}}}}}}, 0x0) connect$inet6(r0, &(0x7f0000000040)={0xa, 0x0, 0x0, @local, 0x9}, 0x1c) 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) sendto$inet6(r0, &(0x7f0000000000), 0xff77, 0x0, 0x0, 0x4d97) 13:36:22 executing program 5: socket$isdn(0x22, 0x3, 0x2) ioctl$DRM_IOCTL_MODE_GETPLANERESOURCES(0xffffffffffffffff, 0xc01064b5, &(0x7f0000000040)={&(0x7f0000000000)=[0x0, 0x0], 0x2}) 13:36:22 executing program 5: r0 = memfd_create(&(0x7f0000000140)='#! \x13\xdb\xb9\xdaU\xb1\xea\xa3\x8a\x91C\xd6\x9fA\xe9\xfb7\xb6\xe5,\x19\xb2y\x02MO&\xcb*p<\xa4\x84\xfa5\xd7YX]z<\xf3T\xf6\x80\xafm\xcfr\xe6\x17\xe1o\x81G\x00}[\xfaY-\x13K0 9\xb6\x7f*\xe8\xc6\xfe\xe7[\xb4\xb9\x00\x00\x00\x00\x00\x00\x00', 0x3) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[@ANYBLOB="0182570458cb0e4ab7d36b90e4786aa025058571bd3b0f505c02e7e67568747e222ab942075723ebea0959e71a05efece41fd5071a2f0e4343636e0c5ce4d679bda9de9f631300d01afefd0f93410f56ebaabdc35d1d4ff0e0c4bdcf7d3213cb3ef8f3a75fec3967a7c6bdf8a135f87ddb9ce7182526baacaac9af19eab4458cdd1559b4a1ab9d5bb7acee553d8a53fa3a16fbc80444bb0d813dfb28d0f79fa904dc7ba78f6f2027698524fd8965ba1fd0534ed6e8b5180728dfb3"], 0xb) execveat(r0, &(0x7f0000000000)='\x00', 0x0, 0x0, 0x1000) 13:36:23 executing program 5: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) sendmsg$NFQNL_MSG_VERDICT(0xffffffffffffffff, &(0x7f0000001bc0)={&(0x7f0000001800)={0x10, 0x0, 0x0, 0x400002}, 0xc, &(0x7f0000001b80)={&(0x7f0000001840)=ANY=[@ANYBLOB="280300000103010800000000000000000100000514010b800c000e8006000340000300009c00028014000180080001000a01010208000200e00000011400018008000100ffffffff08000200e00000010600034000040000060003400002000014000180080001000000000008000200ac1414aa0c00028005000100000000002c00018014000300fe80000000000000000000000000003c14000400fe8000000000000000000000000000420c000280050001003a00000006000340000000000c00108008000240000000135400068014000500ff02000000000000000000000000000114000400fc020000000000000000000000000001140005000000000000000000000000000000000114000400ff020000000000000000000000000001080008400000027b08010b80080008400000000906001240000300001c00170000000005000003ff000000090000ffff00000026000007ff1000058009000100736e6d7000000000080016400000000958000d8024000380060001004e240000060002004e230000060002004e230000060500ff0200000000000000000000000000011400040000000000000000000000ffff0000000008000200e0000002100005800b000100616d616e64610000480002800c00028005000100840000002c000180140003000000000000000000000000000000000014000400fe8800000000000000000000000000010c000280050001002100000008001540000000ed08000840ffff80013c000f803800028006000340000000002c00018014000300fe88000000000000000000000000010114000400fc0200000000000000000000000000015c000f801800038006000340000300000c000280050001003a0000000e0006007369702d32303030300000000900060073797a30000000000c000a8008000140000000011800038006000340000100000c00028005000100840000000c000200fffffffb0000800154001380060002400400000006000240800100000600024000090000060002400001000006000240000700000600014088a8000006000240003000000600024000090000060001408100000006000240000200"/808], 0x328}, 0x1, 0x0, 0x0, 0x40800}, 0x8000) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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_mount_image$nilfs2(&(0x7f0000000000)='nilfs2\x00', &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, &(0x7f00000001c0), 0x0, &(0x7f0000000200)) syz_read_part_table(0x1, 0x7, &(0x7f0000001740)=[{&(0x7f0000000340)="11332e2c0899d8c9b8f49c18cf2c3d87087bf0f3e3fe013e0a82f4705c907f383ab2c05a6a4c94eadaa10b5422a75c716dd3222cc0bb0a144d43914ffe1d7b6c7ecc7b48fc34fdd661e1bb85017db5f079177bd228f2a330434b80de5619c54d837b20a4f46b95f4b71fa012525b3690b6ecd9488fcb4350ec44e09ee12665", 0x7f, 0xd7}, {&(0x7f00000003c0)="efe53ac73b968939cff05829f445f3bb4e4617910003eb10a7bd1d471a3548d6fb5686e14fa22c312d76e27e24c3ad688695bd6a4786c264cbf42df50b5c185086fa5958dbcf4dedcdd8503584074dc500edcdb843fe5a86b11663edb52518b97346b7557c49ac15ac384da295acc95cf145a27d1f3b2b9c1b753f01dbc2409bfb579ca58a82de8b043531b792c3b9a91d06ca84cde8346567bc5335d59b17b1b8dd30e289255354450f608a01a8c1d4452a5742675cd79d3ca2092421f20736cdde05be77b343d6fa51d47088a497775639f39500d52fc34729a517fd668d9b36a2a371a444e4f1bd55c88c080054bd81f28e262cc1f5b5b3949b034eacd32a2a6f10c6336516b9336344236321f4663046b66de4b47eb6a02581414adcd86b0cda1d346ffcaa0d09739f9826916b1072b5ddd4cc2885ad7a918d442050aa6cd7673ad47eecc1047095489f1aaf22454845deccf62b95e35ddcc7a63c5b36bfd677bec1601041a9989c4bc2bccd768fa0f28258b0937825e7971b00f91188a156fd6fd84fa44262fa934e894eec4f474df346318bd089f9e4998440887c27bf5db0220e32aad09aaf6abd33c0b1f904b46badd033e7269d4ca919b95922830baebd05d860823950b46d852cbab711e32be3fa66759a32540a287ddd0a616d4f6bf252c3c23e5d383f371d8916ffa5971d2a130002247c1ea47eaf32d99ceb2e5e8d47b1ce89326289d6c05cbf58c1216ebcbe0fe3afd29585aeab405760f75647ebccb7ea99a4f7cd1bf7a934ed0d1bb78cb9734e35492e8829189303bc85222f13c7303003b83b9a53da1c1064a096b1b7051cfae3eefe2e61d60385be76112a830c1a62806465d4b606bcec2f168405ed09bec44c21e967b5e466f804a471e526d3d2fbdcc4a59bca1540c4a77a0f361467b65e12080d57278959e5673dd641a64b2101d8bd57d134cf0847d54227ac2b69660c8d3182b012587258d86a6d4b6bc0291adffcd2d5994bae65237e7451503a25138c1e54c5f46e60eefb530c3bc78884e95326368a3be00fa0c30a8b56357720abf6a4c4f5926df3242db15d744e0c9c265578c12e0508b1db9a713058b6cfae0da5276f0592fae24ec68f8fff737a35c22686cce65a1f33e4efd74e8f3a81cd8c1a5dec217333f510c18943be5afe5eb73227078350b6209457790715be3af4f125b86bd0365728c9e38fcb06c27d3982119c2161728439247a24a658e1f0f0cee036048a55f85099c49a225f232279bb6f592a5c064d0af863151726c3fba0fa808a3f37280e36906f14517771e8e5a21f1779a39fc6a30907ac861b2072414d96bc1b3499db0b637d95189f6aecca764e37c91ffcd5153fce680a5fcdc471bc9205e469f19a45c0eec4d572c0288ac955ee18e8137dbc4d3e42a0ff81f91355724c0acf0e7b688bc782683b7943a9ca7c91532fb2c62da41e3265c9221e40844cf2c56b48be62d45ea51fee5e8e303046f6dcdc8abfb59a60aaba72fadaf0d0f47b90f563372995523f4241e2fd430be9539c243ffd49f5b659a76ed25a00823450cb8633838fbd7f86d8955c6f087e24884142919216808b05fd87c4d160e854a722d00db3dc9a1cd06c922498db8a73d8042082ff2c3ea6e051af189770af059ee254759a51c67e85442beef32ba3b2bc259211451e9a3105c5087d8de3c9901e45da79a34c627f19d609283ad4c2b2fb90d13a55c83a7a019a06a929b11697379e7e0363cd1ae4404e31329fbf4d8138a0ae7f325fed3bfdfae9d976879cd2634640716d63248b1484464ba3faec12ca1e3f9f16c23ecdef2e93a5df5037fbfe426688241e060e8b7dd18a4b3820801ec85eb7f7238653d2f66f2983a1bc4f9bbcd04bebadb0ed6ce582fb7ec443f62b05cbd573d7ec9fdd9577b802a93aafae482e91322177a614cef57b6f8056faf67fd08fe55e292fb0de8e640b7cada5938dd43c73e1dd0f1a047102fa94876e218d7cef4197cb716a60a713f125f6e85ffa78537810eec7ea9facad764fa2d60c22330a962fa940859b0265e2e5505b1e8c5ce93a0f0229fc0b8885b610f566b280b85eb3c7c6862671b7fa1908b5f8b686e6c98aee8cd49c61be2823e42170c194a5cc0e5b302ffb66112cd39940d8c06fc9bdb5c2ce028c756cd2bf19a7b34b06e60715776ad0112fa4b98df091a82dfeb71baa7a40d3e58f997f70559e6fc41d3e3c9d64ed6f19ea4b95fb08cb256488b9f9fdb7124a2844b798b34cf7aa6884d04e0838ecf38d6c677b0fd3368f00fb13463dff9f6e07190fbb62cd25cb03ddfaf5bfd63fa90bdef014bbf3cd48c061c78ff2b9bdcf4e9e3d1c943cc3a482701793f20d4188ca8dff4cf2ca8902fe16f1b318d6e90ab4ab42a557fd0f49848339759c6dc6476f587106aef883f3a29356b79953ae2f181af8726d6109d89d601dee00ba9a082783d05ae69f649c88828d6b3b4de396f3b89550d5a47b8dfcd609e5f5c8956d264c795598d2e9bf521509401ed4d9b67427550557764cfcfd52810edc50f4d4c794f2f9b689aac6f9257f895377f684a61a58de8d4fa28d39fe380de3e5f4416eeb39c33187ecd60e4321a109b7482ebd4a1dea55498903c61308eb59eaf21045121e2e20501e5af1a8f63db12cc40077d4b70a76fbe601ae409a29097bcc8e9d9bbeee0b99c8240d6a651f13c5e5cb26dc683c4ddb73ec111f19beb2780c8fc6bec8c0be508b5f6053bc0341a3faae6d4c897e1035c0b407caec648b0576c6a02c63454e91acbd92b3156b971313db1665d3e08704f37a7272233b16c3835f0ea67f04ee1b079d66729d91d0decab50c9986caee6d0e862a0572cf0206bf4ef69acc8776cc8cdb87742a81f5e3907f0cd2faefa43ba9f6e18620a06fc7155f52778c37eaa8d26a89593cbb1ddf79f1e0501aa90aabef5c46b18433501afe1df65e1471e7424759141fc8c3fc70b991a22c145ca852f7ae6bb3102ffd3ae74494cf77f08495214a738fd0bdae27ec7f85b2e4de47c7046960d7af0bb51cfcd5301c8d45fb07a413ff655b45a4494eb21e371b2e44aa098d424ca603830135feb5717264451801d774ca181676c4c335d47d567c0db5fbf3e430a1c43c2d96881bd4c8985247c5c1af1a1029642a737edfafe7c512745db09b8ca8d441d7bc1fb907798fd4544db3db390115f4d393d1fe4bc31440b2bf890e7d058f9e126695420ce67895776f0d9c1cb88aa5ec1173fa393f24848616105fc0eac6efbc2b00d87ed9a8e8282e4b8a373dbaf41ef62d7a4ae9fa99f48170cba7483d76b8e7a175b0aa00486f4877ded41dbf8034b0f1d58bafea1563d044301d05bd8b92dde0dd1c82ac2f92124ac475f32e04d6f15b6bead5ce66d0911f9df49dad0da3fbb41477ac9a67f18efe8fe0600383aca0a3ef88fb1a949e95dd1238733e2a988bbd9e57fa4cb5308117d164eeb0bbcc2ff249d35cc7adcf1cc7ea7cb6710069d50947f2ac76cc2c10ec9cda6e53f0002d0e5cd3df3e93384873014a441aa530b911199e9df35fdb996a1b00abbc9a26a2e3fb2143c76b47405ed2f5f8b48d0162598fc60b8264cc1120ddca81473299c0d4e2cc8af6ad562c77d78880438f1cb3b19f5e7e8eb53143a8c3742c81da02974165ac5f61addba2a1bead73537e777d04d4f94ed716a092e7e26938191b416df43bfb7b986e57f5737c51a320c63f83a78ca21325b7a13f57b95a9ffba11c12eab2d80b27e8d889f3d0e41563f5193643d3f822bf77393b1b78dab0bb8d8794dc042e21b646564ed4b01413b11d81c9960204f9e35ddbf7a9fddafb70aee42a2de9b3b4a39faddfeccae193ebeaa210c4c2c0c3e05dcf198f56bb3a6599ede85abb2bd0f43ed19571c44be62370edd55e2ae918da46384b48d95c8fe963f4e3d74834cde19d6868dbb6c1042fbdcf2458556e8689e06c1fb529eb0b6e79513637d7e542193860c0f5507e8ebd74c922dca8aa64dc3e7317dc92e8b2e56e039a92618724900212e2df356b496d5997215049df3c33b6fa8e7edbc0c2672611487c4f980d8f8ad62aa065e8f8d72b82d6b00021731010de64928f35db490cd8b37de0cbc697abcdb19e18a3218eb7cc1ceb688b81f34f1624132b0d9f0982ec47b08ebcf2bbb4f8a907c2c11726737529098caf2f6a258fce2da9cdd394e5ce739e22b1ef0f462e2028c7029787038cc4084a6b5fe335b1f7a361be1098c2dbfe7cae978f29b1eeeeb684f469480995a2fcd267c638e5ccd02551244f69cf1191c5e62504ac78db165e804d9bb982efb1822e438183121f7f393fa571bffbedc26d2bb2353358fc330a32e05d0cd84e5a7e2a835c0f45484d5cd0bed27fbda2d77eaf87e8f81486e61826d70257162715b431fe7a836c9b7dfde0e127e394fb7b1d728ca6a77bf6586173d3745069896ad8425b1a725b9cf6076be62f2b70ec56b87c8a1821663d553b1a10796b66bf8a53db5f597bc9ef7575134425fb904f0e8197c7ed2ecff2b7e3c09e611d8000f01baadc94085b46e08b70fada3367e169640408479dc11a024b7e4ded9ad36875ff4036d6a6b08686d98366fe38a3157676e0559347bcbea5c888772206b1f81fd174d0570663ed09679134aff6cf9d71a72bf31d0c8e33a1803965d56ceb98a893c9e0096288708514387cbd499dac1c9a35e2e62130f10b4a1bd3905c610cb2842eee939203718c89c56d45f6fac0a816a9fb779be1dbb911a8b6e2426d93010168c7622e3060cfbf75b6c0664bf9ff5de8fee018ecd47733bfe410e5b3b953d08bf81586139aac824c7f42eea2a0c042be847452d31c924686faa4a4f492c8ff62e16756947e19e823cdf5e86f0052ebdafff05c8eabceaae05cb27e92b2a05761d3fba3285e7192a38306872ec97c40b4b76c1ede85e7457368d106b53d916a867818587b25ac91805a97fa7387e656cb06ce817362249e7da5f4b505bf00df026149e25ee0d2d1d52780a4f2f9a9ad8d678c0bff0cf4cb29a85a236bf9a7fd565a5d439b5c604b4e0df9bb3b5f36ca45b8ef5090a8994d16d003c0d661b4670695c61cd228956d092b6b53386088601cbd184481f128117d2fb54f8b9cbd7b7d70335d68b1000b36f720b153fe58e7276d74db0a47be4f0c106f4255fd7c2ea16a82f3376b0eb7d830a30bd376277e83c12c6e8346a4df62a98b1a3dfc1eeac61a94ba9a2179620558796147cb1178874bd97bdd7a9740bf26250b0f84b483ea55835cf80ba8ae8b0840467a0dcf13e4087b769a81bfe56618d3701199a1be9cce2ac8bad58c522ca39442f30cf60ef59e9a7f96d160c7a2fac5fdb9fddac2b625829771e9d737e3a3a08504134198a7ef9018d516c39270364401a4e3155389226fe752df9764c603dbc204d55eac059ef71f5d9ea7de983ca8cd24b15f77011b5fa0d616821db31509a6d64cd895bc99dd82db78f01de52b311d4b5732fd3173c37b318b59b9452d2585edfc43e86e9b7cc1910a313a710c640b49fb9221c830cffc4c8f5bf7cbca5a0def7297b210888bb2e443b62a8a698d051885fa556d165430df10d06a4ca8a085dbe613c8e53db6759554332119e79ae7f448cd7a3fe9790adbac3a0cf7808c71050ee29d82ca6e6f316f3f67929beef3ffcdde5b0cf98f8e1146030c64a8067610d2db5f431120fee44d1c124dd04889d5bb0c58ef5cf42efeb0b9849597e235fd0be8b5c2a68111423f93b89396213337a56aa36ca293b87646a9671677be73ca2023c90bf6", 0x1000, 0x6}, {&(0x7f00000013c0)="970a91009540e4251ef673440a3028382f361b540b072a7ecf9dd203fab500c2a8ca0f65d72bdbf7067c3c63ad4ac64465cf2416f404c064bd7ec38726578262a050917e94fa9942ccde181ef25580476bc89f6a80c6d8dab88060a5e6dd72c8cf8b306fa4d99e47d7a45eda79b1bf56f6bcc565a1e61612855bd52208214e9902f72b2298619138199b1e26966069193998eee64d30f5e7b3c583519afc461d67c2e26e813c830804bda6db4027189836a7c169274c621c386812d5b52665b6f0c344722ebca27ad7cbbb1f5d", 0xcd, 0x5}, {&(0x7f00000014c0)="e63493a3c8d8d1a995f179abbaa2f2b9b28fd20b4503791cebee1fc1d4dc9b4007b84eabe7192d3a362b0f7feae7cf0d6cdfbf9735befb23fa8c51af62dafd9ef6a33682bf9e8c44a5d2d223fe2cef182fcdbe5001", 0x55, 0xeffd}, {&(0x7f00000001c0)="a770d3cb871f5152263fbafd896774072b488ee2d4a5d0a21f8a1d863e635467dc41", 0x22, 0x3}, {&(0x7f0000001540)="d1eebcf038ec50c9f8c7f33a59567627039087d275617c4739963825597fd7cb9796ea8813081d979e178ad6018d617bc2677bbf87e4286581d02cb4db2c2858d0d2767d44e2ea786ff825b7b01213ad92c8117774b25506334d0b93b7a2e9916ab282263bc047647cb97870694723a620730e56769e2a86f7a2e0304d6010527fc90906ae27d82361737d1dd3b47ee3a1e8f9382ba8009c4f129d79b534e95c5381bbb0c7dc691f62c4483b762a743e4290b88660f8a1e9cb22d0b734a2483f0dd922f7ebaf", 0xc6, 0xbc6}, {&(0x7f0000001640)="2a676905342afb01e48f64d112a94e4f94c62ec59666748d4adc755e409598fb8e5531bbfc31942af453842323130ac82b58b590cf63e9a8c0661f2ead3047e6ef0a1df30b8df758f47697910d5d512b27c53951e1db39a823309cb561bc2c2191dbfcbaac2afd225703d5089988b3b8fe2408cb51067923ffc49d0bcdfa1f7ed8183d3e1daf63b05149b1a61755f8f01f5a979ca7e4562ea47b24b0f2921c9b51c0a83eeba0612d7b8f3fd4468b5044f4ba75058298378b172fbc7b4f73f770bc9802a2f494740918482742a1254e7b2abe4fbc1a99293d2058175a2091741074ebb763723103b6817efdb04e4ce09aa4f8807bcad3275e8b46fa9c7353", 0xfe, 0x8000}]) sendmsg$IPCTNL_MSG_EXP_NEW(0xffffffffffffffff, &(0x7f0000000180)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x4010}, 0xc, &(0x7f0000000140)={&(0x7f0000000240)={0xd4, 0x0, 0x2, 0x3, 0x0, 0x0, {0x7, 0x0, 0x7}, [@CTA_EXPECT_TIMEOUT={0x8, 0x4, 0x1, 0x0, 0x9}, @CTA_EXPECT_NAT={0xb0, 0xa, 0x0, 0x1, [@CTA_EXPECT_NAT_TUPLE={0xa4, 0x2, 0x0, 0x1, [@CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5, 0x1, 0x21}}, @CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @mcast2}, {0x14, 0x4, @empty}}}, @CTA_TUPLE_ZONE={0x6, 0x3, 0x1, 0x0, 0x2}, @CTA_TUPLE_ZONE={0x6}, @CTA_TUPLE_IP={0x14, 0x1, 0x0, 0x1, @ipv4={{0x8, 0x1, @dev={0xac, 0x14, 0x14, 0x39}}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x0, 0x0}}}}, @CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @local}, {0x14, 0x4, @loopback}}}, @CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5, 0x1, 0x1}}, @CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5, 0x1, 0x11}}]}, @CTA_EXPECT_NAT_DIR={0x8}]}, @CTA_EXPECT_ID={0x8}]}, 0xd4}, 0x1, 0x0, 0x0, 0x22040800}, 0x20000000) 13:36:23 executing program 5: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) write$binfmt_elf64(r0, &(0x7f0000000080)=ANY=[@ANYBLOB="1b5b07073f0037680000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000b033296cf1723e00"/127], 0x78) r1 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ttyS3\x00', 0x10080, 0x0) ioctl$KDGKBENT(r1, 0x4b46, &(0x7f0000000040)={0x80, 0x80, 0x3}) 13:36:23 executing program 5: prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() keyctl$dh_compute(0x17, &(0x7f0000000140), 0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={'mcryptd(crc32c)\x00'}}) ptrace$setopts(0x4206, r0, 0x0, 0x0) tkill(r0, 0x19) wait4(0xffffffffffffffff, 0x0, 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) 13:36:23 executing program 5: r0 = syz_init_net_socket$rose(0xb, 0x5, 0x0) ioctl$SIOCRSSL2CALL(r0, 0x890c, &(0x7f0000000080)=@null) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r1, 0x0) sendmsg$ETHTOOL_MSG_LINKMODES_SET(r1, &(0x7f0000000280)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x80000000}, 0xc, &(0x7f0000000040)={&(0x7f00000000c0)={0x164, 0x0, 0x200, 0x70bd27, 0x25dfdbfc, {}, [@ETHTOOL_A_LINKMODES_SPEED={0x8, 0x5, 0x9}, @ETHTOOL_A_LINKMODES_SPEED={0x8, 0x5, 0x80}, @ETHTOOL_A_LINKMODES_OURS={0x140, 0x3, 0x0, 0x1, [@ETHTOOL_A_BITSET_SIZE={0x8}, @ETHTOOL_A_BITSET_MASK={0xce, 0x5, "27e51b4072bf6c00d08ffcbf98f92b997e756319e387cb35f64cd0e13b8112c348f946844e4b5e35c70bdbe5d98908418777d7dd17d6f9226a7f34af60d5e4d00a624342e95c5fb8fb27994d6dff1b668ed5c0fa1ffbb4fae7170b2aa070ef28ee628723897497bbbd34f07b144ca862900fdbb3605cbd5ce3e5fb50876b2b187b1dfd53231d3ed5d2dbe2c4292ea0abd03bf1748e66f04e8ff92d5b6a03dfd695be7e96a4e27a59e29ebd564bb656187f19dcfe9df7d07f38bc4ae0dc46dbacfd5da99eb4f7f58bda58"}, @ETHTOOL_A_BITSET_BITS={0x5c, 0x3, 0x0, 0x1, [{0x30, 0x1, 0x0, 0x1, [@ETHTOOL_A_BITSET_BIT_INDEX={0x8, 0x1, 0xb}, @ETHTOOL_A_BITSET_BIT_VALUE={0x4}, @ETHTOOL_A_BITSET_BIT_INDEX={0x8, 0x1, 0x7}, @ETHTOOL_A_BITSET_BIT_INDEX={0x8, 0x1, 0xff}, @ETHTOOL_A_BITSET_BIT_INDEX={0x8, 0x1, 0xfffffffa}, @ETHTOOL_A_BITSET_BIT_VALUE={0x4}, @ETHTOOL_A_BITSET_BIT_VALUE={0x4}]}, {0x28, 0x1, 0x0, 0x1, [@ETHTOOL_A_BITSET_BIT_VALUE={0x4}, @ETHTOOL_A_BITSET_BIT_VALUE={0x4}, @ETHTOOL_A_BITSET_BIT_INDEX={0x8, 0x1, 0x7}, @ETHTOOL_A_BITSET_BIT_NAME={0x8, 0x2, '*@]\x00'}, @ETHTOOL_A_BITSET_BIT_NAME={0x6, 0x2, '.\x00'}, @ETHTOOL_A_BITSET_BIT_VALUE={0x4}]}]}, @ETHTOOL_A_BITSET_SIZE={0x8, 0x2, 0x9}]}]}, 0x164}, 0x1, 0x0, 0x0, 0x4000000}, 0x400c010) 13:36:23 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) semctl$IPC_STAT(0x0, 0x0, 0x2, &(0x7f0000000080)=""/175) syz_mount_image$hfs(&(0x7f0000000000)='hfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, &(0x7f0000000140), 0x0, &(0x7f0000000140)=ANY=[@ANYBLOB="7569643d44c808c1fa45781d232fafc7fb0d4245054f8e2d41dd9365c548bebcdc4325223fd8bc72af5c15ac0c1523a3be18b66b6ecc64c62c36ae826e3a72a27609f54832363c08b5db1609", @ANYRESHEX, @ANYBLOB=',\x00']) 13:36:23 executing program 5: r0 = socket(0x10, 0x3, 0x0) sendto(r0, &(0x7f0000000000)="120000001ad5f3c99c000000000000000000", 0x12, 0x0, 0x0, 0x0) recvmmsg(r0, &(0x7f00000037c0)=[{{&(0x7f0000000140)=@ethernet={0x0, @random}, 0x80, &(0x7f0000000380)=[{&(0x7f0000000040)=""/95, 0x3cb}, {&(0x7f00000000c0)=""/85, 0x4e4}, {&(0x7f00000024c0)=""/4096, 0x1048}, {&(0x7f0000000400)=""/120, 0x78}, {&(0x7f0000000480)=""/60, 0xc6}, {&(0x7f0000000280)=""/77, 0x7}, {&(0x7f0000000540)=""/154, 0x9a}, {&(0x7f0000000340)=""/22, 0x21}], 0x8, &(0x7f0000002400)=""/191, 0x1f9}}], 0x4000000000001de, 0x6, &(0x7f0000003700)={0x77359400}) r1 = socket(0x2, 0x3, 0x67) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r4, 0x0) ioctl$BLKBSZGET(r4, 0x80081270, &(0x7f0000000240)) ioctl$sock_inet_SIOCGIFADDR(r1, 0x8915, &(0x7f0000000600)={'veth0\x00', {0x2, 0x0, @private}}) r5 = fcntl$dupfd(r3, 0x0, r2) ioctl$VIDIOC_G_STD(r4, 0x80085617, &(0x7f0000000640)) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r6, 0x0) setsockopt$IPT_SO_SET_REPLACE(r6, 0x0, 0x40, &(0x7f0000000700)=@mangle={'mangle\x00', 0x1f, 0x6, 0x538, 0x278, 0x278, 0x0, 0x278, 0x278, 0x4a0, 0x4a0, 0x4a0, 0x4a0, 0x4a0, 0x6, &(0x7f0000000680), {[{{@ip={@broadcast, @remote, 0xffffffff, 0xffffff00, 'ip_vti0\x00', 'veth0_to_bond\x00', {}, {0xff}, 0x8, 0x0, 0x64}, 0x0, 0xa0, 0xc8, 0x0, {}, [@common=@ah={{0x30, 'ah\x00'}, {[0x0, 0x9460]}}]}, @ECN={0x28, 'ECN\x00', 0x0, {0x20, 0x5, 0x3}}}, {{@ip={@local, @local, 0xff000000, 0xff000000, 'lo\x00', 'batadv_slave_0\x00', {}, {0xff}, 0x89, 0x0, 0x1}, 0x0, 0xc0, 0xe8, 0x0, {}, [@inet=@rpfilter={{0x28, 'rpfilter\x00'}}, @inet=@rpfilter={{0x28, 'rpfilter\x00'}, {0xc}}]}, @inet=@DSCP={0x28, 'DSCP\x00', 0x0, {0x23}}}, {{@uncond, 0x0, 0xa0, 0xc8, 0x0, {}, [@common=@ah={{0x30, 'ah\x00'}, {[0x1ff, 0x22d5]}}]}, @ECN={0x28, 'ECN\x00', 0x0, {0x1, 0x0, 0x3}}}, {{@ip={@multicast1, @local, 0xff, 0xffffff00, 'wg1\x00', 'ip_vti0\x00', {}, {0xff}, 0x67, 0x2, 0x42}, 0x0, 0x100, 0x140, 0x0, {}, [@common=@set={{0x40, 'set\x00'}, {{0x4, [0x1, 0x0, 0x2, 0x1, 0x3, 0x5], 0x3, 0x2}}}, @common=@osf={{0x50, 'osf\x00'}, {'syz1\x00', 0x0, 0x4, 0x2, 0x2}}]}, @inet=@TPROXY1={0x40, 'TPROXY\x00', 0x1, {0xffffffff, 0x1, @ipv6=@mcast2, 0x4e24}}}, {{@ip={@rand_addr=0x64010100, @initdev={0xac, 0x1e, 0x0, 0x0}, 0x0, 0xff000000, 'bond_slave_0\x00', 'veth0_to_batadv\x00', {0xff}, {0xff}, 0x88, 0x2, 0x42}, 0x0, 0xc0, 0xe8, 0x0, {}, [@inet=@rpfilter={{0x28, 'rpfilter\x00'}, {0xf}}, @inet=@rpfilter={{0x28, 'rpfilter\x00'}, {0xc}}]}, @TTL={0x28, 'TTL\x00', 0x0, {0x1, 0x6}}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0x598) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000140)='bridge0\x00', 0x52c) sendto$unix(r1, 0x0, 0x0, 0x20008000, &(0x7f00000002c0)=@abs={0x0, 0x0, 0x4e20}, 0x5e) sendto$unix(r1, &(0x7f0000000180)="210000d9", 0xff25, 0x4008000, &(0x7f00000001c0)=@abs, 0x6e) sendto$unix(r1, 0x0, 0x0, 0x0, &(0x7f00000004c0)=@abs={0x0, 0x0, 0xd0000e0}, 0x6e) 13:36:23 executing program 5: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x81}, 0x0, 0xfffffffdffffffff, 0xffffffffffffffff, 0x0) fcntl$lock(r0, 0x26, &(0x7f0000000000)) preadv(0xffffffffffffffff, &(0x7f0000001380)=[{&(0x7f0000000180)=""/148, 0x94}], 0x1, 0x0, 0x0) r1 = syz_open_procfs(0x0, &(0x7f0000000100)='fdinfo/3\x00') preadv(r1, &(0x7f0000000480), 0x10000000000002a1, 0x0, 0x0) 13:36:23 executing program 5: write$P9_RLERRORu(0xffffffffffffffff, &(0x7f0000000200)={0x12, 0x7, 0x1, {{0x5, '.(--\\'}}}, 0x12) write$RDMA_USER_CM_CMD_BIND(0xffffffffffffffff, &(0x7f0000000040)={0x14, 0x88, 0xfa00, {0xffffffffffffffff, 0x10, 0x0, @ib={0x1b, 0x800, 0x9124, {"9a12c586127890a2c866a03ec13a89a7"}, 0x5, 0x3df9, 0x6}}}, 0x90) r0 = socket$kcm(0x10, 0x2, 0x0) sendmsg$kcm(r0, &(0x7f0000001400)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000100)="d800000018008109e00f80ecdb4cb9040a0265ef0b007c02e87c55a1bc0012009b0006000b0000000500050007008178a8001600140006400200000003ac040000d67f6f94007134cf6efb8000a007a290457f0189b316277ce06bbace8017cbec4c2ee5a7cef4090000001fb791643a5ee4ce1b14d6d930dfe1f9d322fe04000000730d16a4683e4f6d0200003f5aeb4edbb57a5025ccca9e00360db798262f3d40fad95667e0ffdcdf634c1f215ce3bb9ad809d5e1cace81ed0b7fece0b42a9ecbee5de6ccd40dd6e4edef3d93452a92307f27260e9703", 0xd8}], 0x1}, 0x0) 13:36:23 executing program 5: r0 = socket$kcm(0x2, 0x3, 0x2) ioctl$SIOCSIFHWADDR(r0, 0x8914, &(0x7f0000000000)={'geneve1\x00', @remote}) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, 0x0) r1 = socket$kcm(0x2, 0x3, 0x2) openat$cgroup_procs(0xffffffffffffffff, &(0x7f0000000040)='cgroup.procs\x00', 0x2, 0x0) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f0000000380)={0xffffffffffffffff, 0xc0, &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000080)=0x9, 0x0, 0x0, 0x0, &(0x7f00000000c0)={0x2, 0x3}, 0x0, 0x0, &(0x7f0000000180)={0x0, 0x8, 0x310e5f50, 0x8}, &(0x7f00000001c0)=0x9, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000280)=0x5}}, 0x10) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0x0, 0xe, &(0x7f00000006c0)=ANY=[], 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, r2}, 0x78) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 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) ioctl$SIOCSIFHWADDR(r1, 0x8914, &(0x7f00000007c0)={'geneve1\x00', @link_local}) 13:36:23 executing program 5: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x120, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0xffff}, 0x0, 0x3, 0xffffffffffffffff, 0x0) r0 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000080)='cpu.stat\x00', 0x0, 0x0) setsockopt$ax25_SO_BINDTODEVICE(r0, 0x101, 0x19, &(0x7f00000000c0)=@bpq0='bpq0\x00', 0x10) sendmsg$IPVS_CMD_ZERO(r0, &(0x7f0000000400)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f00000003c0)={&(0x7f0000000280)={0x11c, 0x0, 0x9e37afc91194b29, 0x70bd2b, 0x25dfdbfb, {}, [@IPVS_CMD_ATTR_SERVICE={0x44, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_ADDR={0x14, 0x3, @ipv6=@local}, @IPVS_SVC_ATTR_SCHED_NAME={0x8, 0x6, 'wlc\x00'}, @IPVS_SVC_ATTR_FLAGS={0xc, 0x7, {0x1a, 0x20}}, @IPVS_SVC_ATTR_SCHED_NAME={0x8, 0x6, 'wrr\x00'}, @IPVS_SVC_ATTR_TIMEOUT={0x8, 0x8, 0x3}, @IPVS_SVC_ATTR_SCHED_NAME={0x7, 0x6, 'dh\x00'}]}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0xfffff800}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x7}, @IPVS_CMD_ATTR_DAEMON={0x14, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_SYNC_ID={0x8, 0x3, 0x3}, @IPVS_DAEMON_ATTR_SYNC_ID={0x8}]}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8}, @IPVS_CMD_ATTR_SERVICE={0x30, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_NETMASK={0x8, 0x9, 0x66}, @IPVS_SVC_ATTR_PE_NAME={0x8, 0xb, 'sip\x00'}, @IPVS_SVC_ATTR_FLAGS={0xc, 0x7, {0x30, 0x20}}, @IPVS_SVC_ATTR_NETMASK={0x8, 0x9, 0x2f}, @IPVS_SVC_ATTR_NETMASK={0x8, 0x9, 0x1b}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x4}, @IPVS_CMD_ATTR_DEST={0x58, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_ADDR={0x14, 0x1, @ipv4=@broadcast}, @IPVS_DEST_ATTR_TUN_PORT={0x6, 0xe, 0x4e20}, @IPVS_DEST_ATTR_ACTIVE_CONNS={0x8}, @IPVS_DEST_ATTR_FWD_METHOD={0x8}, @IPVS_DEST_ATTR_TUN_PORT={0x6, 0xe, 0x4e22}, @IPVS_DEST_ATTR_TUN_PORT={0x6, 0xe, 0x4e24}, @IPVS_DEST_ATTR_TUN_PORT={0x6, 0xe, 0x4e23}, @IPVS_DEST_ATTR_TUN_FLAGS={0x6, 0xf, 0x8fe9}, @IPVS_DEST_ATTR_TUN_TYPE={0x5}]}, @IPVS_CMD_ATTR_TIMEOUT_TCP_FIN={0x8, 0x5, 0x2}]}, 0x11c}, 0x1, 0x0, 0x0, 0x801}, 0x10) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r1, 0x0) ioctl$SOUND_MIXER_WRITE_RECSRC(r1, 0xc0044dff, &(0x7f0000000180)=0x3) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d7f4655fd7f4655f0100ffff53ef", 0x3a, 0x400}, {&(0x7f0000010400)="030000001300000023", 0x9, 0x800}, {0x0}], 0x0, &(0x7f0000000040)) 13:36:23 executing program 5: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x7, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000290000000f000000000000000200000002000000008000000080000020000000d9f4655fd9f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="010000000000050008", 0x9, 0x560}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x1000}, {&(0x7f0000011a00)="504d4d00504d4dff", 0x8, 0x8000}, {&(0x7f0000013b00)="ed41000000100000d8f4655fd9f4655fd9f4655f000000000000040008", 0x1d, 0x22080}, {&(0x7f0000013c00)="80", 0x1, 0x22100}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="1557b541fdf672a0a00b8200"]) socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$IOCTL_VMCI_DATAGRAM_SEND(r1, 0x7ab, &(0x7f0000000080)={&(0x7f00000002c0)={{@my=0x0, 0x1}, {@my=0x0, 0x1}, 0x400, "bb6e8f85041f5a11dcce68c653b298e33f5c43e6eaa4ea367ef92167f79e394c7fb202a378674cdc763fb2c382c3237154eb9357ece81852c46064e94401aa62a02dd018bdb155af3ab19d03b765702dc31fdab6ab1873e590006465cfaf80b343bbf56ea0d31f18bd399f7dbdad1608ec8789cb4b037781baea4fdfd1faa14ac634e3e26d4ce8775020086f48df9f5a1403cd673602e86d14495447f6326509ac225773315318b7dbb717ff1a03481d8b9932f64db0d81c6bf72cf304a1eeb435a7c85957bf379e61e4653c39516918fd17d031fa6307a133407a418776cd7df3f8e38a504b4038b9f9f18c9a17a72e18fda382d6b8db88d5276ee2387ea5ea45c5c76121052ca0e85eff61fe4c73cd50215013b7fc80b376120cd55cb538abcea1ae48d0352b646cce143a4b715d236788a0af6f6222318f20f4ed55ddc10d127c6f2c109e59f481cfb055006dfa78131113164cddd63ddb1c0efde5da18c03f1d4001bee6c49d33f11410b3b05e10a84bcbb58a1a75f7ff82c7370183faecfe738a22fd7e517e8082e7709303afb17ee69a9d719c81230fd45dac0c8fdb88b76dcc68f96b2ec7c8e44680bfe207a550a00772efb0e2fe77dfc4001b75536fbca8d217e5e83c9f9dbe43092a81c4c6fc8d3333793a40c53356fcf3d955f3e6d3c56cf813591e00a4fa61beeeaf1a81e0b81142fd3256a2b595e7091bee7fb1d5141cdac1b22aa3e81b413fc36e33c0545dc2333224c7963875fce8afede0d248b11e648809fc8cad4d27638bbeb22f1d6f4ebacbff0702c319b930a9f25cad09bdca3d7f79dc14088f4c9ee2962e34710ac27139eff55032afdff1230f20b6e6a2971836a6efb30c44e361af7dbd571d83042ba5a91c439654590caeedfddec3aaef431dd6f7ec36b24549fa24f44fd791cb770b16d016dee56c2c723d6550de4fff584fc64cbcd5acd814117cbc9ea7922377816c51bec72c4a152f40964b61460fa8460ec8a038165c82ad327d40f746731d1a5c6af68aed9e1403cbcc8afbdf70a07f62b291e63cc545d379af08eaa02da3fafbc7334af84258f154b8c7a4372c439616ea3159cd95020d640b0a4b070a698b99ce969b140e45e0b22268681cb71af26ac3287b9eb1353a1905dee919e319c890aa30cc278fafd9593ba62701fa9f060c38c0fcb4a65348512174aaac3fa0f65b01b23b7672841d888073f9386ce476658fddaf3110de3e97dc70d737b54e14b75a66c518194017e8288cf8cccbd461d10d8911aa8fa47e0c116467635a5ea63f08860c2b9f9b26bc3107cb47bedc15650a52e58f3b6c996db57961f2664c36260428d9e3a9beee2a3dfcbbe893e25e450984b0dc3dfec68e503e972cfc99c3bc06c822ff4d5e05a81e7cb48269719b6cdbeb79715e3118b37c4b71967de13d0185c16643e8d2d4ae0167"}, 0x418, 0xff}) 13:36:23 executing program 5: r0 = socket$kcm(0x10, 0x2, 0x0) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f0000000040)="2e00000010008108040f80ecdb4cb92e0a480e0a10000000e8bd6efb250009000e000100400000ff050005001201", 0x2e}], 0x1}, 0x0) r1 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(0xffffffffffffffff, 0x40086604, 0x0) sendmsg$can_raw(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f00000000c0), 0x10, &(0x7f0000000200)={&(0x7f0000000100)=@canfd={{0x1, 0x1}, 0x3d, 0x3, 0x0, 0x0, "4f2a2ee67e5ef4db1b5f3943f8d25daeee56e3bec142c702f688c787005321ffe9cd7cb635f25048d5d1bc6c9f083efbc853ab1ac0cb1e692522f69c3e581143"}, 0x48}, 0x1, 0x0, 0x0, 0x80}, 0x5) r2 = socket$kcm(0x10, 0x2, 0x0) sendmsg$kcm(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f0000000180)="2e00000010008108040380ecdb4cb9460a480e0a10000000e3bd6efb250009000e00030040fe00ff050005001201", 0x2e}], 0x1}, 0x0) 13:36:24 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_config_ext, 0x0, 0x0, 0x40}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000200)={0x48, 0x2, 0x6, 0x5, 0xf5ffffff, 0x0, {0x0, 0x0, 0x2}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_SETNAME={0x0, 0x2, 'syz1\x00'}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}]}, 0x48}}, 0x0) socket$netlink(0x10, 0x3, 0x0) 13:36:24 executing program 5: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r0, 0x0) ioctl$IOCTL_GET_NUM_DEVICES(r0, 0x40046104, &(0x7f00000000c0)) readahead(0xffffffffffffffff, 0x0, 0xfffffffffffffff7) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x16}, &(0x7f0000000100)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$lock(r2, 0x7, &(0x7f0000002000)={0x0, 0x0, 0x0, 0xfffffffffffffffd}) fcntl$lock(r2, 0x26, &(0x7f0000000180)={0x40001}) clone(0x0, 0x0, 0x0, 0x0, 0x0) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) ioctl$USBDEVFS_DISCONNECT_CLAIM(r3, 0x8108551b, &(0x7f0000000340)={0x5f, 0x2, "8292c865bc8deed299dd92efe69ac81cc5d4c4422332843dbca5ff8ffbccb5b0e03258685ed8247f0c9a41d759f3ebe90873d88e14e8bfcebac992ab805c4f479f3f326a5b1353f8d6d0d110aebd8acd548f8c8e738209a6a2b02ac7d5f6cae6c1cca1f25ea4037957fe626c201e4e4b5536f09839e39dcd35b65ca7cace21a349fa52aa7256f3380200f170ee8ec9daed787676692f0d8a883ebb43a4e421aa3e50dd15f655665363ccd2bee14a194a9ae52e244f9a91afa6159e8c3811ce35ec1a5ffc9fa1f2b1174e00ce4c44f50e6eb35c39d7e557b417730bd3deec194288958ce17b4a290622b3aed574b72dc2adf4721709d6d319b6ad89a9f1fe2c10"}) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r3, 0x0) setsockopt$bt_BT_SECURITY(r3, 0x112, 0x4, &(0x7f00000001c0)={0xf4, 0x5}, 0x2) 13:36:24 executing program 5: r0 = socket$kcm(0x2b, 0x1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r0, 0x8912, 0x400200) r1 = socket$kcm(0xa, 0x5, 0x0) sendmsg(r1, &(0x7f00000006c0)={&(0x7f0000000040)=@pppol2tpv3={0x18, 0x1, {0x0, r0, {0x2, 0x4e23, @remote}, 0x1, 0x2, 0x4}}, 0x80, &(0x7f0000000700)=[{&(0x7f0000000440)="c4", 0x1}], 0x1, &(0x7f0000000000)=[{0x18, 0x84, 0x7, "7f"}], 0x18}, 0xfc) sendmsg$TIPC_NL_LINK_GET(0xffffffffffffffff, &(0x7f0000000480)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000400)={&(0x7f0000000100)={0x2e0, 0x0, 0x10, 0x70bd26, 0x25dfdbff, {}, [@TIPC_NLA_MEDIA={0x90, 0x5, 0x0, 0x1, [@TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'udp\x00'}, @TIPC_NLA_MEDIA_PROP={0x24, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_TOL={0x8, 0x2, 0x3}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x13}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x3}, @TIPC_NLA_PROP_MTU={0x8}]}, @TIPC_NLA_MEDIA_PROP={0x44, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_MTU={0x8, 0x4, 0x80000000}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x14}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x1e}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x1f}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x7}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x7}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x9}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x2}]}, @TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'eth\x00'}, @TIPC_NLA_MEDIA_PROP={0xc, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_MTU={0x8, 0x4, 0x3}]}, @TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'udp\x00'}]}, @TIPC_NLA_NODE={0x1bc, 0x6, 0x0, 0x1, [@TIPC_NLA_NODE_UP={0x4}, @TIPC_NLA_NODE_ID={0x3b, 0x3, "5ebccbb73b5ab9c3be2422d9cb2b4863c7a96b695ad53c0c9778ec263780a7ee3bf5fcbeb92172270917b74bfce79b0ecef0b9bbcee1df"}, @TIPC_NLA_NODE_KEY={0x49, 0x4, {'gcm(aes)\x00', 0x21, "b73e7c57ab39c7a8f45583f728be4462b044d96f372dde6999a0c3b09a92f780c8"}}, @TIPC_NLA_NODE_ADDR={0x8, 0x1, 0x2}, @TIPC_NLA_NODE_KEY={0x4a, 0x4, {'gcm(aes)\x00', 0x22, "efa82f157d8d268a44a758be1fdf0fc808cfab3794de881f270a85775a5d35a89980"}}, @TIPC_NLA_NODE_KEY={0x3d, 0x4, {'gcm(aes)\x00', 0x15, "94f2a3e4f643437f5445b3cea722d73dd8b3ea556c"}}, @TIPC_NLA_NODE_ADDR={0x8, 0x1, 0x4}, @TIPC_NLA_NODE_UP={0x4}, @TIPC_NLA_NODE_ID={0x89, 0x3, "90e97ad9bcb80bbb1aaa62f60761613e2dbc48f3e702c0cd4ab9e82dd6dad80bf30fe0aeed77e6192cbaab5bbc52edf9d07ab97ca0000ab25c2ff05f0e4341fb120987972a5032c1871c3d6e382d0810ac4ac86d20f7fb07317f42bc6e9b8857839d5ed29879f436503ea35b9d106ab3ec7bce669921208e1f159e489878e2b7e8dfaf1416"}]}, @TIPC_NLA_MEDIA={0x10, 0x5, 0x0, 0x1, [@TIPC_NLA_MEDIA_NAME={0x8, 0x1, 'eth\x00'}, @TIPC_NLA_MEDIA_PROP={0x4}]}, @TIPC_NLA_LINK={0x70, 0x4, 0x0, 0x1, [@TIPC_NLA_LINK_NAME={0x13, 0x1, 'broadcast-link\x00'}, @TIPC_NLA_LINK_PROP={0x2c, 0x7, 0x0, 0x1, [@TIPC_NLA_PROP_TOL={0x8, 0x2, 0x9}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x401}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0xfff}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0xbdec}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x7ff}]}, @TIPC_NLA_LINK_PROP={0x2c, 0x7, 0x0, 0x1, [@TIPC_NLA_PROP_MTU={0x8, 0x4, 0x8}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0xffffffff}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x10000}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x101}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x1ff}]}]}]}, 0x2e0}, 0x1, 0x0, 0x0, 0x80}, 0x4000800) 13:36:24 executing program 5: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = epoll_create(0x2) readv(r0, &(0x7f0000000500)=[{&(0x7f00000002c0)=""/230, 0xe6}, {&(0x7f00000003c0)=""/239, 0xef}, {&(0x7f00000004c0)=""/39, 0x27}], 0x3) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 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, 0x200000000000}, 0x0, 0xfffffffffffffdff, 0xffffffffffffffff, 0x0) ioctl$BLKFRASET(0xffffffffffffffff, 0x1264, &(0x7f0000000040)) mq_unlink(&(0x7f0000000000)='syzkaller1\x00') r1 = openat$tun(0xffffffffffffff9c, &(0x7f0000000080)='/dev/net/tun\x00', 0x0, 0x0) perf_event_open(0x0, 0xffffffffffffffff, 0xd, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x40082406, &(0x7f0000000080)='cpu\t\t&6\n\x00\xff\x00\xdc.\xdf\xbbk\xad\x1b\xf3\xf6_|S\x93>\xb4\x15#b\x91\xec\xf2\x12\xbb\xd0\xcd0\xa4\xda\xa8\xe1o+\xbd}EV\xba6\xae\xee(4\xe4\x8d\x17\b\xa7\xb04G\xc28\xfb\x19\x94\xdf\x11JE\x02\x98Pm\x0f(\x98\xff\x05[\xd9\xad|\xa3\xc9Y~\xf4\xf7\xf9F\x9c\xf0\x83H\xb5\x12\xdeM\x802\x1f\xa6\x8a\x89\x1c') ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f00000000c0)={'syzkaller1\x00'}) ioctl$F2FS_IOC_RELEASE_VOLATILE_WRITE(0xffffffffffffffff, 0xf504, 0x0) r2 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000280)='/dev/vcs\x00', 0x183400, 0x0) ioctl$MON_IOCH_MFLUSH(r2, 0x9208, 0x9) read$usbmon(0xffffffffffffffff, &(0x7f0000000180)=""/197, 0xc5) 13:36:24 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, &(0x7f00000002c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) syz_open_pts(0xffffffffffffffff, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="380000002400ffffff7f000000003c0005000000", @ANYRES32=r3, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) setsockopt$inet6_IPV6_ADDRFORM(r0, 0x29, 0x1, &(0x7f00000000c0), 0x4) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000500)=ANY=[@ANYBLOB='L\x00\x00\x00,\x00\'\r\x00'/20, @ANYRES32=r3, @ANYBLOB="00000000000000000e0000000b000100666c6f77657200001c0002000a00050000000000000000000a0004000500c200000000009788a69b8845f0c7b5cb339ec144c6434c36c3215899c19676a0a6cdf13b36af3e85d52378f16ef604c13214abfaa986649606eac02a52ea983ba2dd54f9a16e1301ce8150e967dd4145368f2c52d5304239b58b3b87e755dc6bf11cf2e64ecfac792b5b22d207bccd6a8c29ed87756eb74ef890052589971ace4f9b0c5308cd1b3a35f2e4f9a8493fe318211620016c7690996c1c6900"], 0x4c}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec16, 0x0) r4 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r4, 0x0) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r5, 0x0) getsockopt$sock_linger(r5, 0x1, 0xd, &(0x7f0000000440), &(0x7f0000000480)=0x8) r6 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000300)='TIPCv2\x00') sendmsg$TIPC_NL_LINK_GET(r4, &(0x7f0000000400)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f0000000380)={&(0x7f0000000340)={0x24, r6, 0x200, 0x70bd28, 0x25dfdbfc, {}, [@TIPC_NLA_LINK={0x10, 0x4, 0x0, 0x1, [@TIPC_NLA_LINK_NAME={0x9, 0x1, 'syz0\x00'}]}]}, 0x24}, 0x1, 0x0, 0x0, 0x2000000}, 0x4010) 13:36:24 executing program 5: openat$cgroup_type(0xffffffffffffffff, &(0x7f0000000040)='cgroup.type\x00', 0x2, 0x0) r0 = socket$kcm(0x21, 0x2, 0x2) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x203, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) sendmsg$kcm(r0, &(0x7f0000000000)={&(0x7f0000000080)=@rxrpc=@in4={0x21, 0x0, 0x2, 0x10, {0x2, 0x4e21, @dev={0xac, 0x14, 0x14, 0x1c}}}, 0x80, &(0x7f0000001640)=[{&(0x7f0000000ac0)="ee", 0x1}], 0x1, &(0x7f0000000200)=ANY=[@ANYBLOB="f5ffffffffffffff10010000010000007d95df16a39b1a6c90000000000000000100255cf1688aef93af3889d1fdda5b9134015a860f5878c37ffe36e1165d14d435be5b357c6c8189767d2f97879f0773fa7ae8af419c3d3d9338f4ab0483696f618988c5944741afe403461323110f62055394412158e7a3adb164d641aa40d4ab077fe34232aa8b319d7666d0998a61d7da0c86d70000001010"], 0x10b8}, 0x500) 13:36:24 executing program 5: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000006c0)={&(0x7f0000000000)=@newlink={0x3c, 0x10, 0x0, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @bond={{0x9, 0x1, 'bond\x00'}, {0xc, 0x2, 0x0, 0x1, [@IFLA_BOND_AD_SELECT={0x5}]}}}]}, 0x3c}}, 0x0) pipe(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_udp(0x2, 0x2, 0x0) close(r2) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000000)=ANY=[@ANYBLOB="4800000010001fff000005000000000000000000", @ANYRES32, @ANYBLOB="0000000000401800280012800a00010076786c616e"], 0x3}}, 0x0) socket(0x10, 0x803, 0x0) write$binfmt_misc(r1, &(0x7f0000000000)=ANY=[], 0xfffffecc) r3 = socket$inet_udplite(0x2, 0x2, 0x88) r4 = dup(r3) syz_mount_image$ocfs2(&(0x7f0000000080)='ocfs2\x00', &(0x7f0000000100)='./file0\x00', 0x4, 0x8, &(0x7f0000000600)=[{&(0x7f0000000140)="350afa40fb7016983ee3a2de00809633c33142103ae7e47a87ec2235b8cde3feb906576537ad6b6f7bf594865f4fb32216232ff73eff99e350e4de", 0x3b, 0xdc}, {&(0x7f0000000240)="7fd20bf050b5737befb6371a255d9218dfb357163b87fd691ba66a41d46e5cd95cae3ec659c041a5e950d96bcba9b237db4b95aa4b91a666e7250758501d9e75f14800b743e471808a99ec97efae2bc81f2a8c5fe71f6e9211f1889ce40c75a81d0f832d48000b6eed9aa5775e59444b1708e07edfc3632ad572b82e58c75d596e7944a0b74e84dbbda205bb765f507bdfeabc5a7d", 0x95, 0x5}, {&(0x7f0000000300)="e60e8d68fdb3104555462ec79f493fc16dd304084634a38360d9efeb143aedb1689e82580639c1729bec6fb6c6c0d2041a54d87eb674cd57e33b87379debc42aafe09b72876e806203d2b1066db0a48eba90e8fba204967866320f941743acf6a02d3cf169eda4a75803561a8efceee15df4922e626f9e5f564b8fefeb386d5977842989d8e64c03dc0acbd7ca02e24c508d28a4e476a40417bdc618814a15cf0d8c", 0xa2, 0x9}, {&(0x7f00000003c0)="c9ebf159de71cb72c6e5d1ccfe3f626d472f0f43ad0fa9438225dbc2e368dec04ac4633aaa30ea8345134eb32f4163d6e55c0be6093c3317b61a0bd6c0eef3dcf29a239805403d0632bf402114c1f60e0e7ad2ead5bd1efc98ae97fef2632de0f09fc8bc4941", 0x66, 0x10001}, {&(0x7f0000000440)="32455ffd97cb27cda635ac7a5dfb525c36d3d958014d131c8a192b1cfc66072d87921dde841df8ef4b470c04a3882a7b9c8c0453b7d9b43fa26d8a3b7bb4630a567b2e02ee884f600c16d924066e7046a1df5b28de5bfa20a0af16f6708da191e4a8525505b83824eb58348e9e7908dd42f9299070", 0x75, 0x1}, {&(0x7f00000004c0)="71bd60d3f0fe3f84a5ae009b53a7f2605150e51ffaac432667346d2cf33c83cb7d244edc7e443be7e64e031af1f35c65a4d8ef8f17e0c21ec67bc83506d59b058f19faa365beb4df0aa5eb0458df1e6ffcf1f69a23188b465cbf7407ddc9edf6576b6a", 0x63, 0x80000001}, {&(0x7f0000000540)="5ba4a7b08921cb05da808e046bd66dadcd2861cec18b524b4c4f82b0b945e525b781dbf39cf5fa82763db44d973c438626eb80c4833d79321f9afeaecaba7b6ce4e87399964106be7c0b6ddb808ad96f4f9bc3ecee60e3a7b36fb7f5a7217b9a4d2fd688ee8bf9b9518542ce4b2d49bd34111e2058a9f1d02090ca6f63cc0d62bf22071c2f31003c7d545e1916d8bc52", 0x90, 0x6}, {&(0x7f0000000700)="ec18ca30c77c34ac1c11262c1cd2f11f64a5a105ad35493dbb2c3ba39564e8c84c510a415a69142a0d5a302eedb922cca6dfd55fc9e3d42f610e8321bfd5423845dba7d0ad5734d53fb92f5f73ebdb1dd6ad31957fe1ecf13b91818303e5a1f60d57ea300c90718f81946a477961e405d1026f74b261ba6bd057417674afc983384c0990d2b27b80b02ff30423b12969129510b3bd5aea2f686acad08e23de58d068d2499a56d4705b3c41f7578471315624babe96b40af8819ea32894ae573715cdf6dd57b13ea9d507fe33c1de518dc3", 0xd1, 0x5}], 0x80000, &(0x7f00000001c0)={[{'bond\x00'}, {'bond\x00'}, {'^+\''}, {}, {'bond\x00'}, {'$:$6'}], [{@dont_measure='dont_measure'}]}) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) splice(r0, 0x0, r2, 0x0, 0x4ffe2, 0x0) openat$cgroup_type(r4, &(0x7f0000000800)='cgroup.type\x00', 0x2, 0x0) 13:36:24 executing program 5: r0 = getpgrp(0xffffffffffffffff) prctl$PR_SET_PTRACER(0x59616d61, r0) clone(0x80000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r1 = gettid() wait4(0x0, 0x0, 0x4000000a, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) vmsplice(r2, &(0x7f0000000100)=[{&(0x7f0000000200)="0f1426d1594b8d30e761136b1a53d395cdf9eff94dba6f4119226381ebaa34b1c48e8d7f632add2ab6179ddcf7fa4c0c6d8472f9deff9e78405d4df0294d8078af0695b00b36b3dcce4321948f69637e0b27f45baac3a4964382c4e509641fec09f16e4b38f251af849c7c1bd0b3bca753e22f3ed4fb71c9146c5a5d5d33945ac18cd69519237f86465eeaf97e95cac138566d3e3b5de3979edb3341888d798de0418ea5b2c52e08b8a5001d2613", 0xae}], 0x1, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x0) process_vm_writev(0x0, &(0x7f0000000140)=[{0x0}, {0x0}, {&(0x7f0000000000)=""/3, 0x3}], 0x3, 0x0, 0x0, 0x0) r4 = gettid() process_vm_writev(r4, &(0x7f0000c22000)=[{&(0x7f000034afa4)=""/1, 0x1f80}], 0x3de, &(0x7f0000c22fa0)=[{&(0x7f0000000040)=""/15, 0x2d77744}], 0x1, 0x0) tkill(r1, 0x4000004) write$sndseq(0xffffffffffffffff, &(0x7f00000000c0)=[{0x2, 0x0, 0x0, 0x0, @time, {}, {}, @time}], 0x1c) socket$inet_udplite(0x2, 0x2, 0x88) dup(0xffffffffffffffff) ptrace$cont(0x7, r1, 0x0, 0x0) openat$binder_debug(0xffffffffffffff9c, &(0x7f00000001c0)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) 13:36:24 executing program 5: r0 = socket$pppl2tp(0x18, 0x1, 0x1) r1 = socket$inet6_udp(0xa, 0x2, 0x0) accept$packet(r1, &(0x7f0000000240)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @link_local}, &(0x7f00000002c0)=0x14) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r2, 0x0) r3 = open(&(0x7f0000000300)='./file0\x00', 0x50000, 0x50) connect$pppl2tp(r0, &(0x7f0000000340)=@pppol2tpv3in6={0x18, 0x1, {0x0, r3, 0x0, 0x4, 0x0, 0x1, {0xa, 0x4e20, 0x8, @dev={0xfe, 0x80, [], 0x1d}, 0x4}}}, 0x3a) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) connect$inet6(r1, &(0x7f0000000040)={0xa, 0x0, 0x0, @ipv4={[], [], @remote}}, 0x1c) sendmmsg(r0, &(0x7f0000000280)=[{{0x0, 0x7000000, 0x0, 0x0, 0x0, 0x0, 0xfffffff5}, 0xfffffff5}], 0x400000000000085, 0x0) fcntl$setpipe(r1, 0x407, 0x81) openat$cgroup_procs(0xffffffffffffffff, 0x0, 0x2, 0x0) write$UHID_CREATE(0xffffffffffffffff, &(0x7f0000000100)={0x0, {'syz0\x00', 'syz1\x00', 'syz1\x00', &(0x7f0000000080)=""/97, 0x61, 0x7ff, 0x6, 0x1}}, 0x120) 13:36:24 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002040)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000004300)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=00000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB, @ANYRESDEC=0x0]) read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) syz_fuse_handle_req(r0, &(0x7f0000000000)="9eda438838743bd4e9720bee57093515dc189a5ea685e9556c1c2c3cfc4df50d66d31a48aa312663b68d18c5826b5b55fb738208863dac0f10f423aee7a5d8ddc45ebdfeb7424bae859d7c37ecfc4b63914d5a56d91017dd22bc84f759a15969951aef9d5c88c96560896988fa18cd946cfcc3a0f1c993348377904eac32c980bdf7976ebca2b499cab63c4e841514277fc71d4620e29a92523402485de0e82896484c0ae497a4d686df23ca7b68c3fd5e624d3510d7f94838e54af877ca58a00c5a672bba11f5aa1ed1980dfef47b9973d0bf456ded5e72f1702b3dc5197fce39cba53a038d8dc0ec783ce70577107dc5e8b299e64a0b7f1191f0926bd25762370191710bab2f44e9069f55f8a3f87e4cb488a2fb3348c0bf3b3874291f83e4776b160ea73aafa3919c7c069c73c0052173a63158db8b65541d161f9c964926ad7f06bdd6cb6a32135b04e35701c2e13c49c1f75dc7a25d623378860692d172ec3f1e1f2d9dc77c015c13721efcb101c2390abb847e871132f472a37cc0163b39b1d575a5444e246a08a1afb1a696cabab29498a314429a3b9f44c43ba29f71fac1fbe0d01c3c16d22730932704bcfb0c1b7a432bc51dd3f5dd5afc3b342cbe6a6ff899039e28f9a51881b1d46fdcf31767cb6f5c5c69ab3c80615d77c4d1664fc4ec831b8cea2e752bbb7a9ce79df875b29f1e232751daf32a1a0c4ff8bd0688e2b8e2d668b8a77e20a9eb6ec2e2c23b94e507baeacbcfa31fb6e1ca3343668f43e3aa6d85e7c29bf0bb4dbdabddc92be7f4a6f5d21b19e6da17bfb6cc926e3847532fae29c7b62fb909130ec372d3c16cfe6aaf3ce2af0fe7610fde7aad61bc80d2f96b999c8ccf6d22cf903ca8ae8b879ec4a416f334982e9810c0140a18d4dc81b5edaae23e9f4abaf40ed71512aebbba5bb251545e188db789558a845a2877b14bdaeec3c738b7d730c0860531bf5517d4f0e8f95ed3571f8a35816d5116fcb8d7cbf42b7d5d5e65541508c898bb2e0fe96297d2ab7135662de39df099ebaed5871111f5346278cee5728cec512e6c0a0d65b51e3d627873195b84103341c2bc83b6c8fdd8ba17f5957413f61c69d618c9b9d0b1f08dc81921b6c662ee1da3bfa019b095e9a03c2db4d645ccb7364e895098cbf7d932c72d80663c7a1694d122f7348393079223c11d36c64a5856eae0397ab9a9d948204b74e56525a9d552dd0916de81cbb5af3c59b3d7f8f9154423ce2cb45a5bc808e24bef13212019a19545fe54ba84d01534358380192b8c7b0eda907810375bb66a578a58fec392b47991271c8367b91d710e8a176bc1a4e96f0e137d4c25fbb03eddc392f9f170dd744472b864fbbae7c93d86e682308b21b73c5652065d72cf02e1152b44024a90a3b52eb0bb3cb412e518d37a68aa4c7f46789c54ab30d3a73d0a8712fde612294cda2aa1ccf164930b9b1d17801d4fbb06e849d39bf2b5141330caa0d2618b616f1c67e1ca57080e79ed9092ba7a55e8121cfc825cd26a0199a479a7ab1b7b23d2a4dd82fa6d04ee41ca680435efc934f0451e865e8632ac2f1115f4cdd33b0fccb7a2326127faf20cba37c828613dba5a98f4e1ad25eb6b91078cf73d873df9ef91531476f64b83559ff7ccdc4c070d478b18196ea05fe8d4ea0216ee5273dfabbd04582f40f064c9781afd2cbf30901f28cd09cc934f1b2d50883778274177e3dba8af0a1b931d80ce1a6c4085780ea2195b65ecfd2953f78a5290fe560d0cd6a5e73890a5a82dc410b92a3ef2be05ec5607820fd4ca6b9c3aa258d59022fdcb21665f1ce4e8aad8fd918c43bd3c2afe3dc223ff9f48831d401c8b6996190793d1dd7551f8511b69283992398d8f9b4bd2b3398d3b8c6f3c5d8b802ca5282b70242df2b7be4b38e70c3065f8da888631375afcc05ce578089c4f783776b286b7a60d1b5e189e2742a3240c1036a953d886885422eef01413c38099b64505fd5a73488acb4e611820674c58ae74d6c64a885d4beda9bd7903bcdc71e3711e2a057c0eab2100c321050ab14c6e453c53182577ad3178603cd9afde40a701120e9a36074fd582428c74e02781318e6c65450f8f020bd22475696fe13b8c59260e53a06d16eabd135e887a0a6bbc8ad21be7661df76fec5b13844f68b8eed1a7379713738beac9f23c7a26520e19797a910cde9fb285179526889b908b7eb49bb06f70f6271fba8712c1a4269ebcf4b7d043e924e3d2c4c753fd7e547d95841e335179836f76424e728810d7f32b78256ea30c79d9238a6588426e1f2d4c0b03d5605bd826ed24f0f11326b4cf958632b86e017aa80e142db1580c44f76d9c98196f3f6852ab2bfc6a01a3553a130c2d171957f5a45c3550fbbc990ef8742a98a86b280a57b9f198ff436bc01161ada50e6f23026c3254adf2321bff7e20aa54080bbb57d8d52c6a6df6107706a2e5bc6da68f17b474c0edd39401d765086e885cf7992405f856557915603cbe8894676e996bbadbb649a5e7498b91f9bd2f697dd9ebbe4d386050258b9f4c94781e61c660651c3f1e3ae51f8c035eca365bf15d6db48ea9ce183515f4a208d010f7c23dcacbd6e225490d7e9c133525f5c9018d752b21b4897bf18b64b6a9936f538a0a8958fc934440aeeaad2b68ac844d76f0900a6c95bd0b353d85d4fb62eb88360112237fd8c636a80e3130b21d66ae8ec58a4b76cba0602f96da919f7e84fd37e3ec2379f58e389a39c78d2482e03c379e3c4649ad63a76e3707ecff07d2fcb0c9dfc524cab49e69a09c92e4f88714335cb57d3f6184d07bef9657280fb5c9fd2d8f940f7ac6c5407e3077aa2e4ba8e217e0ee19e302d6d90e3be05a86dade35d2e454e511afb5cf5936f1d11f2fa6be6ceaa817dbdc7a6aabf2fad8ff3efa8382a25099f0c5989d2ad56ae0f4968b2cfcfc67b4f1c161c75900b4848f59a3c0376dfcb7997bf28e9e85d6dd942a360516de38e1c1a038a796f9a77ff2b0c7e5e8f4932391a0e58e76dacc6f9764178a211dfde3e75d367d2911ff398126ffdf83cf2fbdf1ad5232bed9155f7a168638a572094a9e934d4969b358cf6e121d7fd2aeae2f499068b42c152f0e3403a230885d6f92f038ddaa23499f804ffb06abdbabb51f6c38c92fb1a6271a4b13d6d11125b8ec12efa5907dc65062797fb9cca15e2f254e76b182d3fcdb4e96ac4de36d6df7e7bba5c32f422286b1be3b79bffb6fd693761952d195a84ad9ceb07287a0fbefab9e0347b513c5f60233ccd4b52d90ec144a2f896d9dc7f279f8aa93038f3efa286e1c3006933a4d7183d952f8d28b141b28b2af355b5bd8198dfde1ffb8d09202aff0d16ca3fec194662892a49f829813970a4520f1228aa03d211a45bed3b2e05bf1f10b1a152761e7b6c6ddea863a3c02224256092c70ca70dc185c4c385dd98b09e2682661e1e66f71d9c4037048eb70e8a1cbe57de87ec43713abf5fdcf63b9c482f318e3bec37e878dadbae15a02d731e6c8574eb14c059d72f73be5174add786d06b585a28a06d349d8e434a491b34897b3c1ad786ec8280d7f57edd4fbc6aea5485d659b59d393e331cf91e6ed76f340fcf7cf460892fa7318fc42b883f61d888ad982a751accb613c66661fba5f3d6de751a6a9ef8a4700316aaad04e991aab7903f4ef012ec2a8c092234e74ef335daf360ae47bbd2bbc6ad8c1a4f81efe8bbd703cb55ef36b32b4e30cb5a3b165c02ba295d0e1c40ce6ff8f479a74f01275f113ebfa8ade37a59ce70e6ca2a6f48f1be085f61bf772e2c2da523a2cfe63e99c57bdb1ff23139d4fca49eff7547e9880eefd3f7511a677efa23b52098ba89037c48dfcda2e8c1cfb9f892161049e53f8cee55256279512aecab8c441600dae0fd957883273047cf5c66ba209f830aa2ce0cbe41ca08c0cef4aed7f4324009200661a7ce680e5a8df2d051c1d8b2f63d25d8d74d05c75c46c8f3f24d625539e63459650960498a54ec3b16225bbbf4d3930009df265839d72611f5332a904cdebada108236e4414a2909ad01ec44b9d7f75de4385ad7ca5152e890a0919b3639fd1bcbca3b737ebb8d9ae541b1271cf2166ba15830e66f3d3afd3b754a7f81ad4f0999704ae99c114907c5be4a4797f13b80564f234723a34dbe137dabfd7fa23562df679f54a6ab54def6d63deae9844f72fd73efd0413551f5c4b9ee826eb3b7faf92a59ea34a16723b4fea14d1c8815a4e2d39fc48d1dbce526a7c53f5a96d0ef6463a0cee73fd3505f5c764a264b83c4a21f80e8b61c82d24442d13da99d18dc1b2538e7a510f6093d9ef2bc5cc777d4f98411e93919eddfd69d6e20d227cb61c50f358ea227f4de941fb080c1cf6b1f6e25533768fe133dbfc3f9d29c603bed38aa3c5af5b81a706b0067b40b88f992610d04c7cc36b8f649697cd6a93fae51138161891ae75a7147780fc59af5a6e18c54f9d2a4fe7fa92314b399afba9a40d0cc24f70a2593acf8d179215e06b7a9a88224bafcb2cbf60caf5fe4ff38208a70793b5dc33cd572956260e1c86312d3ba9b3a4b2b44376f2e78c616a6c0880ac8dcbaa30b9f761d500fd03a8518dd0509157b184a2d95e0caf3ffc8ac2db6c54d80c71a1e5b9ea3bf51071e2118af204123daceeb04e4f6f31f32a4d3fbb76ee49440cabda2c121c1b99acab5b87cecc37c3f9066af34ab29d6598bbfd91047a2ac7ce3a8f3027ff5e6d743506f161087278896a98ed37122ba208b61cf54d3929555ab06b564cd5e4f46f4755a6cfa2ef2b30d29ea66f2749d4060d411fa9160c91b6f55cf071ac8222c6313df18759e2958cddfe3db4cbeb9cd39abcf5f0beaecae8437813995cb7ed0b87d42ca942ff7245ece204798d01361c5f008e0d82bdf76660515bc78f7f8f409ccf68614b2cb50f5af2615661326fd971bc57eeeade60ea906b8df1cb0dfafd318cd2c396309c329d0469ca192aa8f51d7c4227685440f073983255baf054b97b9d7be1d1470d7eabd5c09b2116b4e86b0567b7e97e088717a4fe3dbdd310a1c39136ea4d2c47492001f9885dba03bf97e7da376171d666441cdc2f999db137603d57df32b4260fa0165e82917bb1631ea314e7a7437e66fc68cef22cda8f456d6e583f6e3237e0bc79987a9103f7cf0918e26881f67ea582e1ff3a49177599d385bf6e42572a2547933aeddb826530e9adf30dd84c3a7fae5c4c26f6c6f3a9f0906decd314e2407825abef959c5416d18a92ff34e6c521a16e8a0a29937c77d4ee99b41d530a732acbe0bf5d274df9d496b47a9a624546bdcf9976cde12ec989cb2a70b33a7c8a3a77652023164695f9db30dfcf587f0cd4f73e385730bcbdd688f6dcb08ba0efbb9f579220afefa4acfea522e864fce9b1782ce9f14824d16e9d33a2609c23ba3c5a1af02549357a0dcc12e37819d778021762cf895abeac1125b744c8b8225a091e7be9ded9993cfa3ca9abb83e25c8f559009977a2ed9374a89619fae5ef6d164bb73d242004dc8428e44689b33ee3bbe88bb4962ab0a32a90e7aea044f08410752cb2d7aeaf3196648a3a99092665b478bb394b48f79b36db0efc7f50d6a5179c945f5298cfaac5e5dea715296f92abce7281d48a0c9c6b785a35ef5f1697c047ddb254fe9a8ab9f498b0c1ae09ffd01a3d8d427fee7e36c51e0e5c2fee2245fb8464626ab5c9857ebce91f7d22bf024d10c2d71021cd69268472de419e6cefd970cc3a8e4d1bbe6496799aa7f100411766e712aff08b731460f14f9d7356db12cf8e1c6121968dc68b1d81c086b325ca4ce6fe1f476707e08fa913144b757c6be17cf93150db29544d207f09a896f33b7335d9339215da751e7af2c6bdd19db6f521af2c8a5998dc607f97026d07111488741134c1c86eba123273d1fd5ee4b471e86f9ae9478a04c7482076ab34a1eca5c64f89e5106eed44bceec019c67c12fb4db4fdac153f4ac3b63ffeb6d30de58ec039e2dd3c181e254cd94d0a2b0b44490384cc5915b54ee1db2b6d059879bf8126c9ca976d0f7862da07ecd350930a081810a7afd72b2ad3f65b96ae9c7f91227a2b5513a559f36b90fe01be9ae5ad3ca65e2c26f358fc26b858a3633fda7ae49a5fb705220a5819b3cca41b1ccc21d7c40f5fa9c422288efa5394e4312675899d704a2aab62b8363f58fd4bc12a8bea6ffc45b4414237bf5f019321206dbba439acb5ef26641f30fdac20f964354bce94e4c9d73e137f9806deefaf6f4acaa0e76ad4fef9f6cb7fc01bbabda9612c05adbe46afcf94819e8a4b4b49ff764784fa432d47fb6d4230900043d1b4521cd6839fe8c5df4d1899fdfb13880e207cac73f0a29020bdd563bd9c2f6bcd1ec523b3e03ebf6164fc65af001830c51396f9df2d346f83a59cfc82201cf1150ea57259d579fc2ed199b3fbe42d5188c84e4354610743e5b23a265246313cc63913f17412fa00d98b379b80b96d936969572e11316bc8926cb23115186f3b2387b82c3898fa41bf16a308da62d5a3eb3609af1943fddde08a4036eb2a41b7292caad9eb082614b02a1fa255bc7abd4d0e3b4ec1801e131e68c7aa9da1a0ff10f9de87dec8fad1ad8bfa99caa49e203a7b9c33e044d4544a537471e7a452468b821959bc488c6b8cbf81e90081a26de273ad1203cc06adb6af242ab19f96c1c66b58c37e2c9309704fba63af99a8d9c5efc651afb631fe9f546b938cc3b8e526c4159e5c9f7afb29fd1d55fabf09367ce2a63a35e7a2062d1c772ed981fd77157a847f687a177cf9886ce41df8cc509302b46bc1e2ba896b1c1656a1bbfdf4cd9ac39cf8510d1c823075f16550fd044aacc8d42a56f03718f7b18475cdc3999faeb25ab3dd8a807ee04d8e5d831d08b4e309dff50330685138797e10c6362636f53f22bfc1f3d5090a5d369282d9de36bb4e2505411ccc6ea395afa1567b15a2fb4be2adeea7126b1a8e80034105e0d98bdd78e796ce1cdc06a4ae666fc0baec5c52614340ed997673e26ec47c88846c000bb7c9077337cd44f5c041fdcc64986e5e1c0f488148f0ee6f842c44c0b72e82109270341bba6e9080b70fcf930d0f10be5a36798e70111fed72727b72282ff164fc08319d74f1f57cde71b57cb397a9e753f87b97729bafba017a24cbfdee5dfe7fc296c112e93bb8fce560ca80a3afd8370baaa79ad783b51352b5440b144a47378c9ae22eda5794328e95bcca220fd07bb56915529b155c61858efe89ad36a79288e74c0e251addcfaf797432175a5562b46eff5e3aebeb74623e18beef85389383c604d8884431b07dc4bea0174aadc337ff41f558a63f16690feae47efa2a5d1318b7397e1e4ba398727d286791b71610e1d78d32800e7e113c12abf0f60b6ca4401ecd23b7aacd990633b2b017daf6bfef1b2361ece74b7dbcbb1a73d4bc1f9d2e5c9fb0b7980d25cc44d1b10c09ef5a6a05c84669294a5cadf0cd88ab449f9f0bcdd8c48590d416c5c1feaa494a2145949c2a3373df7c6014225f2745bbeb20ff294d22c0d96ca111e6926946207cab56a03162a49e68968e398f70690188ee3ca847ef421742d60b9a6ad029e8a3d607950b2bf8ad8ff297cb39acc94905635770436e134435e28205140331b5100d9f64469792fffac87bca0835cbc617446ff86a7b50418c305f32e658b32130e491e38709fd3697017ac8084cdf1ed81a28375aed092ab4e32ca88a933154dd3a9e99351acbada926b67b310c7070ac1a414a28c5abfe1f45476249a12f18ca2d981528d881ed3c5072e46a6eff3cdf37dcbc89c7f79c88a1f8d15d15beb66a0e4440c7b93e379c4e2bac1d5c8e85f1852887e2cfeb178fba1c67dc2adb0c87df8ca4444ca7f455509f492effb5001328b8cc696e2933207a2d78bbce8562ca34a248193c914406b161c8141479d891b0c6110ec1e25cad38299b489f2ec437017cadba67dcb58abd4933c95b3526f1d4747b8701a7d71e446e4b62e2941d4281faca0cf22914be5aad80f47100000000ceb24e82508fe55a92fb6db70d03d1c1ec09cfee31639341756a4630a0eaaecac7bfbddf9d30c42cbd45eb181d5bd341307ad26f496bb042e2b655c03ac3dcc587acbf50f79b5c239be9938b62d3251b199f8413b020605d5d0552cfd9c39c9132719d6d0a326b000e12fcb51bc274df79d11430060d05978cdd50583f1bca82c57dbee605e2d00fcb5414af13a596d35cb5ba62de6a28cbccc857d23547b1c7fd5ac8fbf6758d5b8451fa46d9acc00344dc2e565674b1dd3547eb8f8aa5fff99042f8d1d59e6ad2f53379211e6832fcb68f5777eb2db85b28f724f4e4ce6342cf55713ff7b0cb4f7f47dd12a6566b86709eaefae024373267ce72a89e7f3e42ab48edcccc96b5d0403fe93a927e5ccf470014f220b8257393226cd7b996f20e6a34f81206733a9fdce03b701943c1b560d3eab68c2c225cf7f7f2b56123be2bb173e9e5b37f4d3348f6b987764ad07c2acd44514ff264d7eda31e5e517a179414841ad4553d51c08f435e05f10aa82d74b97a9ba3a133e6c9175fdcd4f3dc9c16d3be1d5bbaf13240177081ac1d56681bfa988a93af09868afd608520c0bfd71d857a6661fdaf6f2e166987eb007449dd26334ae932c5003fefc0f983b9e49cbfcea325f2de16a9ae935caa46f5b3433957fb370971ed957f138f08a60fed5b84995e428e7ae7d5c22021ff016baef0e713a118344c016a99ad469313ba7f2452da0dd82e019f64aa229cf80a69b3e08ac5847f10d247179855546313232f23e055c2f74ecef14e0fdcc29a9bf0976fbb249bd5c7903183d2a53c70960a183630e7d4928daa7091a85ad987d2a4a5b8f6be6612fa72d9fbb33c67bb38eff19f2e784f94e0354cf6d35a5b2c62233c039de3734b38e97ec72bd673fef09fd56fec329818cc68cdf12cb52f7d37a8350c16e94208880bfcd3e895d7aa4489e3dd15db4a9026f0d2a46f1e89c35845dbd976a1992b87c15a0c7580e6424b8792a7bb7b933d7c5433d4133ba4dbbcf7995d6ed3feaa32f876a287feeb9cc6107778c1f83e0119d980b9e994c2a3ae3de24a103efb3cacb746b49d1ad85746b233ab4aaf0e988ec2a786bc93f32040d3bdc3008031634cdfded5ac95b2279e096243228296591e7ba53c4a127772cc4620e6b238ccad250629194533d0a669ff3366c52d64928693e0b0cbb0b8e2c6029089d4dfe2b4b6c5dcd85f1a02770611e65001e48a32a8b0431a3b9d77fa3a95be38a0436a704c05a8e0183f3214c25531a63796f679bf72885aa766468d42b2543542d7e82544efc5c5e81e6a91a0f5d4e68000cff687d63e45c9a11d4ef515050daa592c9a828ac7c0488e7cdb3d6fdaef5e9176ee68d981ea50d386d74df3b40660351736deb03bfceb721878cf9894b0302df15964242ab6b9f77f98ba1c7993735983d2b022600ab74a19e3636e1400d08ba45d3a5c2774cb06a1c358bbfc11d27efaf7ca53c2e7757c8c76da24707d91a4a5244262898d68083ff91c514d9b9b1ebaa0cb0b10254fda1b1e82b9a1a47f117b5b280ddbec1f6732d11117ef1a7a674699df87fe795d1243cb9c4527e364e2b711b6562a87fafc130ce0baf1701686639b05f0c8dc708f008b1e6ab89e8d623bb83f3d54b7bcdbdacd055ac4eccbd36bbe0af0f65a00e3d6dd985ae8851d176976cfb5816d1fc2a63d3546aecaa4e712ca6961d1f181315d553de6b53485faed0dcfcf819a1ba3badffe797377d3d1ddaed8e7a0acc0c3d277762262a139f94de49faca167b11bf04f2104a5ab9a73367a6461f7124c91a2c4229ef98e6ebde9aac283c7d029400d71293f488ba169b62c1e94689cf5b248ed4aea62b88d65bb764cfe27d5231a58486e7381df518f4ed81cb905108c54a5050a94ca0e94da20d3794bc5fab9127dc95b6404b1e27b4e28136fc27806f7be798444c33aca88ffd45b860eba0d5033839f5a092863954604f1952bd61dad23b11643fe14f3ade08116aa2c13eee701ccd13e506bd65a1060bf69579aea8c8143cd38c0891a3065f251eba0c20ab9c69ddf28e3bd6400cc203bac8de1882239ad4e1b97b0ae2f1abb7bac7c0d8ef82b97ebfb1f5577f06a3a1377b09ada4db87d342f20ab0eca4b9c206042471307511429cb57a578211f92d3647189861cad9145f5eb26ab696abe50a2a6c1b469df97da28aba4e79b586c348a430f5ea61c4be1032fa61d18581f05a07fb8707c8996e0fff1c3eda59b992687fa12483b9327e10224b20d42e8b3fc4670bf070ced602283273d6818acd1f6da567c44d3f5e1377065d43d87d889843ae48e7fa8ba1634815695b8c480ca271e6e833799c70da80fd79acc09b989667a2294de5da73f0363df9a33ad4dab8d27cf7bed0a06838672e3d07d52b6396e9b5576021d5e925abd533bf161c944795065fdd44e8462e3070c479f1c118276653488dd9b2f1a673f8cad3612ca1fab4388ec9c8f834a01a499adb7b3a9a977672f6d75b41bbdd7f91ceb7e7a88568d17bb432be9e4e96e115075bce197ef4754d2914c2c59e2d7f4c08f0dbe34d31f229428f211bf1d7e8f5c319ed4a8273cb6255eb318851ac4557b0278fac63107a54d407c42f300b843a12abd3b893b46c7efac2e388ab42b87aebe2543bd4c15f459bc50aad10ffe1c1196fb52c26e54bdaa7fbd52451f207ffb073ef4b3f71eedd7da40c89505019739e3fa733bcdc84ff4919e8fe2358129ef28291be1d6426b8bafe88463b1d3cd7273745381c7f65221898e6ad361e88b24c54ccc7ac9a830145b6dc096e2d71ef71ec4f03524cb870b724e08d223bdec2f6fdde6200217a13b5136004d455d66547f5a1793e0cad85677d49e5c558852107007c8136812cf021afaf6f7e8f59883371be46cda412dd9c6fcf187c31252ceb5758901d39cd5355ab386d9a7fe6ea46ebf277aaf809c3023211ea9aa189de4d422080ebb9fec50ffab6b95ba4ae5018accc497e79149ed6047ce561ccc10e9194cdccd5c9fb75175c8dbc9d0a916ad59288f010defbbb50d263041ab37aac0f93253bef6f898cd0825d99d27224f26181f9713b8979da64756c95e7505f25a2688960d6155c3613dcc31b6c337a6dbfc6b12cfde1db22b93bbd5e48534fb0bda8b212577a14dcf665c834b0bd24e5f624d2455fe048dbe930328d7cb632db3b0e244bb5d43390b420b15157a339487fc78976f867d3a361aafdd3f50a93c01882da7c220089a544381db22e2c86b228dc2be01820468460437588952a549d37498e529e62aa62bad1580546bcb1e9a6ed1870b7838d05d12f6e3a041e78b1bdb80894626f20889ccb3a468aa4fb24b9c87cbb28623ce59c6b3c6286db366d08004551a25fe4d8d194a2bb7c52e1c85a5fbe4cb15b171489da121bea1c469a6bb185d63213084e3a81ee54dc03a94dc5ecdda7bfaad1df68021aaf4627c9d529f13e5c81b5ee4dd228949ca16b9a61d186211d153294470907557e5e14ae665013f285fe4d3766e7b3d8ce5e2a14692072d4d8f79354bcc8db8a2a36c8bcd", 0x2000, &(0x7f00000069c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000066c0)={0x90, 0x0, 0x0, {0x7, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x801}}}, 0x0, 0x0, 0x0, 0x0}) r2 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) r4 = openat(0xffffffffffffff9c, &(0x7f0000004400)='./file0/file0\x00', 0x185842, 0x0) r5 = openat$cgroup_procs(r4, &(0x7f0000002080)='cgroup.procs\x00', 0x2, 0x0) mmap(&(0x7f0000ffa000/0x4000)=nil, 0x4000, 0x2, 0x12, r5, 0x56f0000) writev(r4, &(0x7f0000004380)=[{&(0x7f0000002000)="a6", 0x1}], 0x1) 13:36:25 executing program 5: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x60000, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080000020000000dcf4655fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b00000000020000280200000284", 0x62, 0x400}, {&(0x7f0000010400)="02000000030000000400000030000f", 0xf, 0x1000}, {&(0x7f0000010500)="ffff000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x1002, 0x2000}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000020000040008", 0xfffffffffffffe63, 0x4200}], 0x8000, &(0x7f0000000080)=ANY=[]) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x410481, 0x0) pwritev(r2, &(0x7f0000000180)=[{&(0x7f0000000040)='9', 0x1}, {&(0x7f0000000340)="666de30908b7124d6c1faaf41ebc9b72b09120a0d2c19b5c56321b3991ebcf5e9377cc4f892686a53774ed3abc91dbefc7f4d97a868bc6a1c1a2b016", 0x3c}], 0x2, 0x0, 0x0) ftruncate(r2, 0x2) 13:36:25 executing program 5: r0 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000040)='/dev/nvram\x00', 0x200, 0x0) r1 = syz_genetlink_get_family_id$l2tp(&(0x7f00000003c0)='l2tp\x00') r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r2, 0x0) sendmsg$L2TP_CMD_SESSION_DELETE(r0, &(0x7f0000000480)={&(0x7f0000000380)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000440)={&(0x7f0000000400)={0x34, r1, 0x0, 0x70bd26, 0x25dfdc01, {}, [@L2TP_ATTR_OFFSET={0x6, 0x3, 0x1000}, @L2TP_ATTR_PEER_SESSION_ID={0x8, 0xc, 0x3}, @L2TP_ATTR_UDP_ZERO_CSUM6_TX={0x5, 0x21, 0x1}, @L2TP_ATTR_FD={0x8, 0x17, @l2tp6=r2}]}, 0x34}, 0x1, 0x0, 0x0, 0x8000}, 0x1) clone(0x13102001ffa, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) sendmsg$nl_generic(0xffffffffffffffff, &(0x7f0000001400)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000100)=ANY=[@ANYBLOB="e01200001e00020029bd7000fddbdf250f000000cc123f808e60abe7748bdd3d401ec3f989c1e8f7f33ede7a293e0b946a5a1b028421f2f756b06bdd327598a3c5505c5c752f130b6b5ff0a86359d892d1cf78a1c405ee82a550483ed0fa410fe8a87f844db3eb89987821fdb92061904ba3821833752a982638ab4980cd774d434596ae1ad4dcefe3d7a5da286b1d67e68de525da80de769f6fc3567f140f44f53b1b0bc3790cb125aeb3009d319967f7b4b116845946d8921f7c83373bb1252f53ccd53247def2260fd475c7db6448f389d0a2e614dc16a475df4978c705fe0f697526b122a2ee6377d236b08bf69a294cf39149f88bddd40c3449f767003ec2495798fac45bb5facf74ad8f526471227651cc28c87ddb80c72924a7d8951464eda198aad1ac09d076f7a4686d5ed64e1986454b1144d499f841a6df421247c96509d717f2f9eeca627603ff4f6bddb0f95f13573583ccdc8f4c7e5a39ba6a01fbb9bde577e8c0adc9a13104c2795287a44d5a58e7f7b9fc2ec51f55d05220692ad00c221257a2ddb7173f76b6184d05f9430350f76dbd526177075f3ffafdaf99f51c74ccb7fe6d926d5b8acbba2e41c05283f8b158f9a51b501353d73a2a7dec26ebedf4dca111a6a1facaed077f1e6c7951a4cd02813cf0d240c27f826a0e8bbe3a20b3e65059dc7a1abee0e831a27a53e0671b5e8af16f879e67fc7b2daacb96af838a172be7921d6aeb34d390e25600738a0a5e8837d3762ddf16e31ed0822fed7855820e1fcbf158e79e4e6bd154e4df75b28d292d44de4cbbaeb0440b43811269e05be9086904dad53fff4c7697efb17914300dbacf5c21859afb85f0d7643ad1045caa4f0023dd6718f319b64b4523"], 0x12e0}}, 0x0) perf_event_open(&(0x7f00000012c0)={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_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r5 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000080)='/dev/nullb0\x00', 0x0, 0x0) r6 = syz_open_dev$vbi(&(0x7f00000000c0)='/dev/vbi#\x00', 0x1, 0x2) ioctl$VIDIOC_REQBUFS(r6, 0xc0145608, &(0x7f00000001c0)={0x3, 0x5, 0x2}) ioctl$VIDIOC_QBUF(r6, 0xc058565d, &(0x7f0000000140)={0x0, 0x5, 0x4, 0x0, 0x0, {}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "bc4c74c3"}, 0x0, 0x2, @planes=&(0x7f0000000100)={0x0, 0x0, @mem_offset, 0x0, [0x0, 0x7]}, 0xca80}) dup2(r5, r6) r7 = syz_genetlink_get_family_id$tipc(&(0x7f0000000500)='TIPC\x00') sendmsg$TIPC_CMD_SET_NETID(0xffffffffffffffff, &(0x7f00000005c0)={&(0x7f00000004c0), 0xc, &(0x7f0000000580)={&(0x7f0000000540)={0x24, r7, 0x300, 0x70bd2c, 0x25dfdbfb, {{}, {}, {0x8, 0x2, 0x9}}, ["", "", "", "", "", "", "", "", "", ""]}, 0x24}, 0x1, 0x0, 0x0, 0x40000}, 0x4005) fstatfs(0xffffffffffffffff, 0x0) add_key(&(0x7f0000000000)='rxrpc\x00', &(0x7f00000000c0)={'syz'}, &(0x7f0000000700)="ad1d075e96a48b4157f1c692b7f208e10db7df312f4f87778293fac2306ef39816e4b40524e8721016f329d128019e3c4e67722d62f7f8ed72cd6be077da6e433f2eec62029a6d9a4bdad93809f7b6a30e54a82ca10cdb1b29ec66d3976c9b355d4ee2cfa508bd3cb73d8042a5f41cbe0410af3411475005b4aef0ad1a5af7f54e1499b8b8b2518cbdb58f0b583da4a4415b2c97b08a86ed77829647dbfd87423b6da2543f81091987b1592bd7e46a608b08273dab5caa9937cc1877d916f9b42555f7fa81b751ca58fdfe8a2457d0cc183d0542edcc8ffceb98c01e6e", 0xdd, 0xfffffffffffffffb) 13:36:44 executing program 5: r0 = socket$inet6(0xa, 0x3, 0x7) r1 = openat$ashmem(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ashmem\x00', 0x20, 0x0) ioctl$ASHMEM_GET_NAME(r1, 0x81007702, &(0x7f0000000040)=""/60) ioctl$BTRFS_IOC_SET_RECEIVED_SUBVOL(r0, 0xc0c89425, &(0x7f0000000200)={"39d23205fb044e738fd79d35aae0b870", 0x0, 0x0, {0x9f, 0x1}, {0x52, 0x9}, 0xd5aa, [0x101, 0x3b1f, 0x3f, 0x80, 0x1, 0x9, 0x1, 0x3, 0x4, 0x1, 0x6, 0x5, 0x2ee4, 0x80000000, 0x8, 0x4]}) connect$inet6(r0, &(0x7f00000000c0)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_XFRM_POLICY(r0, 0x29, 0x23, &(0x7f0000000100)={{{@in=@empty, @in6=@empty, 0x0, 0x0, 0x0, 0x0, 0xa, 0x30}, {}, {}, 0x0, 0x0, 0x1}, {{@in6=@mcast2, 0x0, 0x3c}, 0x0, @in, 0x0, 0x0, 0x0, 0x6}}, 0xe8) r2 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000080)='/dev/vcs\x00', 0x200001, 0x0) ioctl$UI_GET_SYSNAME(r2, 0x8040552c, &(0x7f0000000300)) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) r4 = dup2(r3, r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) sendmmsg(r0, &(0x7f0000000480), 0x2e9, 0x0) 13:36:44 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) r1 = perf_event_open(&(0x7f0000000500)={0x0, 0x70, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, @perf_config_ext, 0x15404}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) r2 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000800)='/dev/vcsa\x00', 0x80c81, 0x0) write$fb(r2, &(0x7f0000000840)="71584cdba49217786b354bfab3cf0250a47987a08799c73e472d", 0x1a) ioctl$PERF_EVENT_IOC_SET_BPF(0xffffffffffffffff, 0x40042408, 0xffffffffffffffff) setsockopt$sock_attach_bpf(0xffffffffffffffff, 0x10d, 0xa, 0x0, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r0, 0x40086602, 0x400007) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000780)=ANY=[@ANYBLOB="7472616e733d66646e7406c7e12c7266646e6f3d00"/31, @ANYRESHEX=r3, @ANYBLOB=',wfdno=', @ANYRESHEX=r4, @ANYBLOB=',version=9p2000.u,\x00']) preadv2(r4, &(0x7f00000004c0)=[{&(0x7f0000000380)=""/232, 0xe8}, {&(0x7f0000000480)=""/54, 0x36}, {&(0x7f0000000580)=""/68, 0x44}, {&(0x7f0000000600)=""/248, 0xf8}], 0x4, 0x2, 0x101, 0x1) perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0x1c, 0x2, 0x0, 0x0, 0x0, 0x1, 0x106402, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x80000001}, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x204, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffc, 0x0, @perf_bp={&(0x7f0000000140), 0x7}}, 0x0, 0x0, 0xffffffffffffffff, 0x8) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000280)='memory.events\x00', 0x7a05, 0x1700) setsockopt$netrom_NETROM_N2(r5, 0x103, 0x3, &(0x7f0000000740)=0x5, 0x4) write$cgroup_type(r5, &(0x7f0000000000)='threaded\x00', 0x248800) ioctl$KVM_S390_VCPU_FAULT(r0, 0x4008ae52, &(0x7f0000000700)=0xfffffffffffffff9) perf_event_open(&(0x7f0000000200)={0x5, 0x70, 0x40, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, @perf_bp={0x0}, 0x0, 0x4, 0x5, 0xed20ad742b05ad9e, 0x1}, 0xffffffffffffffff, 0x0, r1, 0x3) bind$alg(0xffffffffffffffff, &(0x7f00000002c0)={0x26, 'rng\x00', 0x0, 0x0, 'drbg_pr_ctr_aes192\x00'}, 0x58) prctl$PR_SET_SECCOMP(0x16, 0x1, &(0x7f0000000340)={0x1, &(0x7f0000000100)=[{0xe6df, 0x3a, 0xf8, 0x9}]}) 13:36:44 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x400000000001, 0x0) close(r0) dup(0xffffffffffffffff) r1 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r1, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_MAXSEG(r0, 0x84, 0xd, &(0x7f0000000140)=@assoc_value={0x0, 0x839}, 0x8) mmap(&(0x7f0000ffb000/0x4000)=nil, 0x4000, 0x1000004, 0x11, r1, 0xe08ab000) ioctl$sock_TIOCOUTQ(0xffffffffffffffff, 0x5411, &(0x7f0000000000)) ftruncate(r2, 0x200004) sendfile(r0, r2, 0x0, 0x80001d00c0d0) 13:36:44 executing program 5: open_by_handle_at(0xffffffffffffff9c, &(0x7f0000000040)={0x9, 0x20000000001, '\v'}, 0x2000) 13:36:44 executing program 5: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) io_setup(0x4, &(0x7f0000000500)=0x0) pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) bpf$MAP_CREATE(0x2, &(0x7f0000000040)={0x0, 0x0, 0x77fffb, 0x0, 0x0, 0x0}, 0x40) dup2(r2, r0) r3 = socket$unix(0x1, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) r5 = fcntl$dupfd(r3, 0x0, r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) io_submit(r1, 0x1e09328e, &(0x7f0000000040)=[&(0x7f0000000000)={0x0, 0x0, 0x0, 0x1000800000000001, 0x0, r0, 0x0, 0x12f}]) r6 = openat$mice(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/input/mice\x00', 0x41c041) accept4$vsock_stream(r6, &(0x7f0000000140)={0x28, 0x0, 0x2711, @my=0x1}, 0x10, 0x0) 13:36:44 executing program 5: sendmsg$AUDIT_USER_TTY(0xffffffffffffffff, &(0x7f0000000480)={&(0x7f0000000380)={0x10, 0x0, 0x0, 0x80100605}, 0xc, &(0x7f0000000440)={&(0x7f0000000140)=ANY=[@ANYRES32], 0x1c}, 0x1, 0x0, 0x0, 0x240a9182103ee6c0}, 0x4880) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x10110, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, @perf_bp={&(0x7f00000003c0), 0xf}, 0x4802, 0x0, 0x242c, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x80000000000002, &(0x7f0000000040)=0x76, 0x4) socket$inet6(0xa, 0x3, 0x40000) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) connect$netlink(0xffffffffffffffff, &(0x7f00000001c0)=@proc={0x10, 0x0, 0x25dfdbfc, 0x2000000}, 0xc) getsockopt$inet6_tcp_buf(0xffffffffffffffff, 0x6, 0x14, &(0x7f0000000280)=""/240, &(0x7f0000000100)=0xf0) clock_settime(0xd6f22505986fd11e, &(0x7f0000000400)) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$KVM_CREATE_PIT2(0xffffffffffffffff, 0x4040ae77, &(0x7f0000000240)={0x800}) socket(0x1d, 0x0, 0x0) poll(0x0, 0x0, 0x8000000000000200) r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x210000000013, &(0x7f0000000040)=0x100000001, 0x4) bind$inet(r0, &(0x7f0000000080)={0x2, 0x4e21, @local}, 0x10) connect$inet(r0, &(0x7f0000000180)={0x2, 0x4e21, @local}, 0x10) getsockopt$inet6_tcp_buf(0xffffffffffffffff, 0x6, 0x1a, &(0x7f00000008c0)=""/4096, &(0x7f00000000c0)=0x1000) setsockopt$inet_tcp_TCP_REPAIR_OPTIONS(r0, 0x6, 0x16, &(0x7f0000000000)=[@mss, @mss, @window={0x3, 0x7}, @mss={0x2, 0x919f}, @timestamp, @window={0x3, 0xfff}], 0x6) setsockopt$inet_tcp_TCP_REPAIR(0xffffffffffffffff, 0x6, 0x13, &(0x7f0000000200)=0xffffffffffffffff, 0x4) sendto$inet(r0, &(0x7f0000000640)="e046385738d0b6e2f17050c3002a9fe3e2f4bbc226e39bf35204d275a8fadde37aab3905bbacaf04d57fb246d660ea69d755b5fa4e9dcdda9919e7cfdd2fd6f2ffd8ca8b450d8b0646e2d9363d42c096c630e57a2bfd2c36cec695821437e9d3554f3eb5c048236b4b4adb7e302a1588fa2daa0101000000000000f38fe3b4bded81207efe8fd987bd3b2cc76b79deb96df13c5456630d4cfb858f6dbcdd4f199a5164ba2fde0014d7f98d9251bbc07bca2b6710308dddc540dfb44b0f9a5f27d73e1c33d091ce5c7f8e57291112231b051a2af634f381203b6b98cb0c0a1291bd094e861061a5a7cd4777d447690e4ce2c07c13e8be18014070681395d0b0c385e39ce7d422637255c6d13229f280b57064ba62d52e7bfe695f75de4854fdef56f93ca9d237175aa0197b0e6850bd4158666d28006da6a35362b29ed6895507ab4064c7fcece12dfb9411b1274080915c0d3a124ae1b77be2d7c8c9c86c4d7a7589d7fc9c922ac84b411d0c219816f586b6fc7d2452ff4c5eb64f913598968cfae6f30fb0dc0ee08865739ed8aef27a1d973860531ae8a8c5dd6263e690a5be08e6732a2d526a6455ab9a9fcd36140462021416cc8d43c5b09215d8e4c221ea58fc6974edb8e258c738811f523b25c3d94c91b7d080b5466cbe699b2123cac02430e01d4b57c0dc794268f9b172694745678fcc68c569d01e821113d76b090ac0740cd35f82bfc027bfd500904bc62e260dc9d60d1545396141cff61bf720d5aff18c58278cc2778eae68f3ead53a4adae3b68c5344c3a982939d84661a042622fc9414ee873a78548299340d8fdef879802c636400"/611, 0xffffffffffffff67, 0x40007bd, 0x0, 0xffffffffffffff4f) 13:36:44 executing program 5: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x3, 0x4, &(0x7f0000000080)=ANY=[@ANYBLOB="b40500000000de0061104c4ce100000004000000000000009500000000d7bfefdd86000000"], &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x0, 0x10, &(0x7f0000000000), 0x3}, 0x48) 13:36:44 executing program 5: syz_mount_image$nilfs2(&(0x7f0000000000)='nilfs2\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="0200000000003434180100007a4a7934171308d3000000003f00000000000000000010000000000004000000000000001000000005000000010000000000000004000000000000000000000000000000e003000000000000561b675f00000000571b675f00000000571b675f000000000100320000000100561b675f00000000004eed0000000000000000000b00000080002000c000100053b0c0d949ee453ea072891e4b77bc60", 0xa8, 0x400000400}, {&(0x7f00000000c0)="000000000000000001", 0x9, 0x500}, {&(0x7f0000010200)="dd6bcb1c8fa443cb11faaf1e400007000000000000000000561b675f0000000010000000000000000c0000000500000040010000000000000100000000000000020000000000000001000000000000000100000001000000010000000000000000000000000000000600000000000000010000000000000004000000040000000200000000000000000000000000000003000000000000000100000000000000040000000000000002000000000000000500000000000000030000000000000004000000000000000100000000000000010000000100000006000000000000000000000000000000050000000000000001000000000000000100000001000000070000000000000000000000000000000300000000000000010000000000000003000000030000000000000000000000010000000000000002", 0x139, 0x1000}, {&(0x7f0000010400)="0200000000000000100001022e0000000200000000000000100002022e2e00000b00000000000000e00306012e6e696c6673", 0x32, 0x1400}, {&(0x7f0000010500)="f41f0000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000ff0f", 0x402, 0x1800}, {&(0x7f0000010a00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2080}, {&(0x7f0000010b00)="01000000000000000004000000000000561b675f00000000561b675f0000000000000000000000000000000000000000ed41020000000000000000000000000001", 0x41, 0x2100}, {&(0x7f0000010c00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2380}, {&(0x7f0000010d00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2400}, {&(0x7f0000010e00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2480}, {&(0x7f0000010f00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2500}, {&(0x7f0000011000)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000a48101", 0x33, 0x3e1}, {&(0x7f0000011100)="01", 0x1, 0x2800}, {&(0x7f0000011200)="0000000000000000000000000000000000000000000000000100000000000000561b675f000000000c000000000000000200000000000000050000000000000004000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001000000000000000000000000000200000000000000030000000000000004000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000002", 0xd9, 0x28c0}, {&(0x7f0000011300)="02000000000000000000000000000000000000000000000003", 0x19, 0x2a40}, {&(0x7f0000011400)="02000000000000000000000000000000000000000000000004", 0x19, 0x2b00}, {&(0x7f0000011500)="3d0000000000000002000000000000003e000000000000000000000000000000561b675f000000000c0000000300000000000000000000000000000003", 0x3d, 0x2c00}, {&(0x7f0000011600)="f81f0000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000ff", 0x401, 0x3000}, {&(0x7f0000001900)="05000000000000000100000000000000ffffffffffffffff000000000000000006000000000000000100000000000000ffffffffffffffff000000000000000007000000000000000100000000000000ffffffffffffffff000000000000000008000000000000000100000000000000ffffffffffffffff000000000000000009000000000000000100000000000000ffffffffffffffff00000000000000000a000000000000000100000000000000ffffffffffffffff00000000000000000b000000000000000100000000000000ffffffffffffffff6242285ed1ef694586344f9bdb03c42a6d6234b6a63872aeaac28c6be314c2d7360ea946ba73f12a117f45f6a755aaef8bd3fd2a40fdef1161710503623c664bbb78df9d23a1d2cfc369375363b64e89e4ea27b50cc4293769851575af", 0x135, 0x3820}, {&(0x7f0000011c00)="53882a9490010000561b675f0000000003000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001000000000000000000000000000c000000000000000d000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000561b675f00000000561b675f00000000000000000000000000000000000000000080010000000000000000000000000007", 0x151, 0x3c00}], 0x0, &(0x7f0000001600)=ANY=[@ANYBLOB="0000000000000000000000000b64250e2a000000000000"]) recvmsg(0xffffffffffffffff, &(0x7f00000017c0)={&(0x7f0000000040)=@in={0x2, 0x0, @remote}, 0x80, &(0x7f0000001640)=[{&(0x7f0000000140)=""/191, 0xbf}, {&(0x7f00000000c0)}, {&(0x7f0000000400)=""/160, 0xa0}, {&(0x7f00000004c0)=""/155, 0x9b}, {&(0x7f0000000580)=""/4096, 0x1000}, {&(0x7f0000001580)=""/93, 0x5d}, {&(0x7f0000001600)}], 0x7, &(0x7f0000001800)=""/251, 0xfb}, 0x100) 13:36:44 executing program 5: syz_mount_image$ext4(&(0x7f0000000040)='ext4\x00', &(0x7f0000000200)='./file0\x00', 0x0, 0x1, &(0x7f0000000380)=[{&(0x7f0000000280)="200000008000000006000000660000000f000000000000000100000001000000004000000040000020000000d3f4655fd4f4655f0100ffff53ef010001000000d3f4655f0000d7830000000001000000000000000b00000000020000280200000284", 0x62, 0x400}], 0x0, &(0x7f0000000300)={[{@dax='dax'}]}) setsockopt$SO_RDS_MSG_RXPATH_LATENCY(0xffffffffffffffff, 0x114, 0xa, &(0x7f0000001700)={0x1, 'X'}, 0x2) syz_mount_image$ocfs2(&(0x7f0000000080)='ocfs2\x00', &(0x7f00000000c0)='./file0\x00', 0xdc47, 0x7, &(0x7f00000015c0)=[{&(0x7f00000003c0)="46618e88516ef9e3b28d3e18bd222aa13aacaf93a2ca1766c401bd3712041ca81247e09759a6e8beec976462b9eea3c237e10d12f5b9720ba842e9224173081487fc1b5b33b624673e7eae4aeda9a711796d2556d7ebae84a18c48b92186c214bfbf3447a07df8d581cbec6d24ec87cc7c14ef82d5c8be13ad702285e90f1e468c63564db96798676c898669c852c11e3961cca967bcc4e057590c0d33f9b623035da8709d583fbcd51fe8d4d1fc0e6e5f157c8db5ad21732cd028e740c46f952f2c8bb88d4cfa01f31acaf4b83533aa9597fc6074db1050994737978a079d6e93da6259b8606367e9ba8b6e07047287797e99505a903a852c651cf53229316a3fa1966f9d0415f187239feff4024cf952e2e4e6534755ed866514daf86f601afd43d4a37685974ac6c1b070b7feb8b97fd236be1e461efdbe6c3f8223bfd9bb8eaf7a21a916497375f163a48d54631d954a431de478f769ac0372ff752172e3d140f140234b8b0cab3c83e7c09e9a1fe5febfd5fbc678b0098c68d7b72f210c8de5ed2699fbdef3601b12f302e407d9e0e911ad60d2d933e6dee615144080baea78960ea4fd940dd094fde35c59bd54e9472bb3d4c267694a5783403206d94e9a37dcded0dd0cf3629616ae1c90604b98f456f81ac203a13a65c975b673a824d5a71642571b31ba40251a34c1ca058c80f44b685c1b9ccab2a4326b0c2aa545563ce8d1a4bd47890f104f44aa3fed5aa2a926abe44d19604304ee53405591cb7dd5dc1372be2a6aaf5e9c22843f6d64d7e0b1d634e99527143c383b2abc469bd37873969aa1defb5c3daa3072691538b18e29f84a5421c6da3b784c41f989aa7f24d2948bdd5ca9f6ea1c2f22a0c2ad8f80d3930b3ab14f0e697495ecdc47ad67c696187ce38464486eef21c65af258ee9bf8e2e00c078736493e53660af98fd5fb444463853a17b29429d4bfbb52f92810ce6df952823599194d1e691e6e7d131d8fcb30cd98e93537c5a72cbad255638abab2a68ef1b963841b00bd3ad6ecaeef411060b3296f2ac1cf91c77891e286a1507efe1cfc88144c334e2d78ee09e92865e9c19cd871ea9b7803671a99055ad2ca9d7ec530745a37f890081ad41d872d61b3f7df4f0c7a0ef9a68973ff27627a3650ef830fc4b1e6f5262a21ad003e3a396a3798517ee1a0ab403f9c43bf1a6dc9cd26d5260a607932dc59a3d355d947fec6fc5f45a9e9792b6d4f8ef3db8d640a25dbe1cae30f0bc5149f82bac0f063244a19a3857811bed92c94a596c67f9d85b55e9ae142d188f012e09f16810768bca1f92a7f7c7899eecba8ca288fd9181829bd5beee61b24939ef6329f233a1951f1b8845f2e721c010dbc043e547bd3f38a91a97ea1769d0e7cd74ec7603a50b053ae858151d576781ee4c514b6d6c09ca2e23ae60f4e11d7e4d248337c5a1caff57c9229cd1d11308fa8ebccd75014dc3aac280622c96ddbab094069343c37b19a7b8ab9930a70e6142068656c12de267c75fb808a724383b01a3298d4ce79bc8d6c203e50e9cc1bb6f02fad2ef58aa29685d3620423140bb76be4e299fc033f6d8b6e5e351bb0bddd1b47fe75fefff2e31415c089add7cd6bc2e15970b069777de4064b7a41ab2d49540de692a0a13a5833aeca99b44afa03e8da41693ff2341f563d963d807bb9627bf6d8c70f306006f51bf059b8f1e62fc53274a8b3acada4061a05e5d13754b53eb9df2ea40eac5c2c6ad36d97e7b2edea03b2a51b12eb706e160ec70f65bfd4d7c9a7b5fb3333905fb50cb89b13cade29dd54e9b21b0400271d5298a478e6979f24425b8d2989a848fec8c2e66a2f9aae1668e0f5e0e00c0744123c5a8e150865dc95ccbef6e957286d441d182671a44ff655145b53ee862f9e6bab4b42d54b28ac141e761ef7bba968a9529d1c1b492edf3897565b7363325d454d9f9b1773d204e93c6cc7a1bd33bbe2b86d1341c5f7f06485a360b3eac363223a98a77e56dec208bcebe6b96700f3cbfd6136d2586a010e25ccda0b71f1852dab3a5f8a39a02c9a5bd708c05bf47c47f6b6b25813064f4cb20e0ef75c663bc4dad2e45e36bdb80d010cbed18986d1fd14f0974cf337f979cf92c858c6ffb2e2e42c7113479380ca3143a0c74a0b4f59df4fff78a074ed4aae1db8d42cbbde3285528adf73a9526c2e02ca44c25b16046dbd3716dcc93e487d74de1b422ca72d3bdfe878ec9eed6ae4b3e96a72b686e689d9680bec572c3dd01d6e4a97ddaabf19939045556a63ad2cd4f8f6d1c116adb9bd2326a7945b286f3b2514734dd235c663cdacc334fbb689ac32951f8c38800fba7b4721b33c3825731d621c48ec4eec295428612e5d5c7663c9dc28e544ed947e1c5798897697d635a77425883e44b5ca7cedc288183003af6f709145538950c04617f51d82c6975e16764bc953b262a77390745a04c54bb201f10b7126c572b19f4f21181729be6a843bb690d14b3ec01ee1a0001e8b1971cd218c74ca4c972f2675fc21d4ea0a2477c01d87a18cd95a0962f3964db45adf7ebeca47ab38eb7638baa4a51dfb20dab06f4adc60fbd6a511ed5595a86dec8b213b48ac0015c42292d662f0509285f69f59d888c44df5ee993de2b5fee1380350ffaa4de9635a2d5d6f6f33be4d5f47d9f81dee13af5231a3bac6ccd7b6b699c4ce5c7216951c3193675bda9ddcac698c3f9d649f74da9dd084acfe4909f61c5d758b898d0967129af978588471b8ca52500cc750ef39d753687f449e950df52d621d8d3191e1d2e5c61ca2c0af865f22d2a2ee8ba128ecd7b9eaf907bf325effd4a907ab0b2076e8398864bf8a68ab65ebb56f93615e1930f62ee320d314a524eb3baa5bcfac7492764ca20e4358f47d3e1311a27686f7b95f1528bc2fc113e5d2b59acf98438cb31c6843e300c368d7da25050c850acfd56f775db31f08deab39f51bda74ec6df105254e0e7800b5e4e73bfa8fe5413536d969e2bb82d626bdea6428e1a39df56639b2cf00adfff0d87cba897f6eb5e50cd118c2a0ec4f2a8b9c5333f3816c89487f830414542a94b406fb049f527504a980064845819095d4fef6244a284e43a8bcdbd93c1a266566f4523548a69df758f063dc05b046b1c0231122750aad5cfefbfcda6d0ed03309a0b0f0c3f8f5ae7ea9fa17594a5bb9f4425fda6e9a5ca433f96c26312d3350c01c1d96569734749e4a68e5c136ee32888ed1f95d28df7a70c880a47af708bc1a4a737aee1099296155fe64d212f3c7640e84679bf236cc0fae7d98ee538ed889309b084d323fb71c28766d082eb2c55ae34c4ccb7e37aa1ef6878f87728a8c1962cac76718340b4e910544da28e9cdd7715c0546271467aa32fb3dcdc5a74de6db7205b5bbfea6585ad000845a8d7dafa2c466c16ae5ee9fb17636bdc0c60099d679b32fc9267d779e152c7201e04bd0fdb3fb19637407da0b7157dbcb7730efad86ba713f17e7818b72d9bb741e766510413b99a3d4fb66c723222965f81fa9de1125d1c73c5016c4c8d49023a795016613c786df298916da8397f305b4e8f992a6fe4e48382c28e0f8b62f284990c54ca6aa9fbdaace6e17a2ed577a004082945522e9970033e2ef0d1e3a88ec351f37d7a50ccfe27fef7df7bf145871159906fc0f08c3df0e86f9a7845721b28eac333847136da828f0a48c35f771da18b10f53e0ad299767a14cdaa8629b18ae78550c2596138dc6819b331487321c660cea83fe7bcd1ecdc7c05bb76c8fd98c209b75429df847b1c2c09db30048c26458d5a8d0eccc39ba5d170e2a56c59e72398ff253281c3718839ded24a472b6c4330bf742e05a99aae144ee2cdab1f1351a53d5685e0f357e20345a7387bb65f6f22099c1aa4e88e0cc7f89c30f798f84bbfd1205a73e5185d09ac9dc29bbb85c9cfc6ab219fbe4d3091d23c919849b89e6efb6f0269d8ce1e903ba34d0558db0841782ef513cb502bed1f3a89e9d2bc16394b7ca2c96f3fe2edfca7a2c0bbbf6d6cf279b9e017e6128e995500a70126658f8e16ba964671208f31fd9b18a7173aac9c98edf47e24773598a4e6ce6a362a68208b0088da3083021f1559f6b5832f8ecd0fa36303cef1b80ff05277bf9817490511ef1b29a2d7b4458490bfb6763bdbca3c374ddaf63d9392ea6e2b30d1d48a422734e247658b1e4a6959ce052b8d50456596c5d2786a988e1c74d8d408d358f113e69f5c244dcdc81bbf281ffd7108d598b235cb58dd8f134dfcd14381599b7875b2b8f3c289143b64683d679295a34b142cecebcc823e6c63cdd090788594ff883168d03bfdf7a74fe9490b48a366daa28303d840d6c5cdd75a9eeccf3c1c6531b9225371bcae2f41c0e96bcd59f75ba899168e70ac3f6b35b9ed3a0bc5cea96ad7bc88b953bac818956bf580cf9fef730b4e29190f300a94f01fb1b36bf5073694b8916505e1646e1c96d2625f7fba4f14709c086f83d402cdd8ca17769d092ddca19af2b6d1340145e9990938871a059e2d0c0202723c8b06bbe891396f503b7301c06a008666f2617bccbbe2c9b84d09de68c18a58c8c0831b48fcb0ee12aed6df924a921dd9d69f96af44c78b88d8d0c88c289043893ed4bcb0e207286cff6836a0e784e76a43427907890eb41877327654a9a3fa06d0c0c2248b3b94d87da5e06e63f66110a6bae94cd3a945091d8deb038e403cda74eb085c5cfde0cd5083765bba541c7cf64300fe5bf135b87fe691b06049b53a503959d1a78d2b27a61c7e2eeb8a58dd3dc16572f3cb9c69db0a9609b94b25e769a0df1483ffbb0ef1dcd40c37a94ad357aa58faba04e4140c5a6008cd52252bee47ef42e89baaec6d1883b07ef65c2b86d3798827846916c30df497ad81502634a8571ffe98c69dc49be4ae3c81446fd7a3bdc3234dd6084e2ff126479fa92b5db0cba1f7141344c8d5d40eebc3a96e12c7389e788b7dedc601daae9402a21e3c4e4f3eb69ddc9d77e3fa6b63ecd5d829fe9b22fccdd164943d433cee8b17c1c86e735adc1340db5d6979ebdfc7ee5350aec5fdb1db70fa7f437858c90c747d957f9ef2203c9a58ffbcea0f415c0848999d0b05dd65c3797f964edf3949675a69c7969247e769ab6b38ea6439747519a29d90fc775ad84f4482f83ab119e6bc9b1e61ddf898bb14ab43eac1f7a0f265d0a2bc17c7fada5d81f5b524d2fd77123df6971836c66a25dd2eade1c57b7166ecc7a3bcacefe7438583a6f45cbe6191d5740d755df62dd3fe7f86adeb684978cb90ade7df9e7839a902c4fdad6c9bd95fe755713f28551c9d06c1562c39040737e4832df166de52693961ec7e6fa7bc3bfb81401515949bba77acdd656536a35415e758673db7d23b94f00c7dd62960eed5e72c6c5c1e1cd7960dad4d74e20a23343b3f4d95cb9dd52bc23b663880bed67be7c2ae9ffe1fd14ed5b2fad6d65b0d3c1ed3c9abc57339b84902af94d5472d465dfd1d05c2c2e1b637265410a3baace2df2f910c0fd0edd18d8408237b45da74c22c280c2345e524f16c21123a8d67846b45874d91d8a286476912348b7750e90f1905a8b82ae108516f88ff6a6d653ee4e3097c7eea0c6eef0e2b8aa5d19046a95b39d8079d5ff3b2827ea58baf633ae70130ea6ff8ee94794ff9015fb329aab521d79a9d6a067d0efca6e84ff373b8e21f76234c51670d1f9eb84154e24f27377bc9ac534b7aecf9e0e2da8b3e8fa573b8c48e2c57a9af0f4a5ec59b7b5bab35e5e12ddb7c7e10332c8db245f1149c990a6", 0x1000, 0x100000000}, {&(0x7f0000000100)="6904fcaeed6224350ea8463b93aae0f1fa6a3761f1a504e2c7db421abfd69b59ce502a95c6ad57196394d672413bcff856cff45b8794abaee6a66f034f325a17bd27c29204dab32e1d76d4a67bd6d5bf686dbe4a0627407a90692995d8dba68a59fc00cf6768b8221a691958c9598b51a8d25046beedc8ed92237c12fd78ab8f059d4350bd13cda7317ea12f6d328829094587f314320a602174c10582e739c556216bdc518ef99fc0f0b4cc96670e0eb773055e5c27d2ca1f81f6fbba1e1ea1e0a7dea0ad128e5e049198014eed", 0xce, 0x992b}, {&(0x7f0000000240)="fd8cf11d1569f446c60b28d1ad1b", 0xe, 0x100}, {&(0x7f0000000340)="83e571bf98305746967748f331de099298ba5e86a0dd822bf4f01630e2ee88e40edd8244e1cd79921b34", 0x2a, 0x5}, {&(0x7f00000013c0)="bd29f076f2f65e2b8382bce7952defc40492880a4d203297874d25720918318e65bc52ce4d5a6d8fb320d0dd2309a937605a0545f8b310e7fbc890ca32395dca56d57dc630103f5b8d7e16f1078914ef09cfc2bda30274794d049de9f353d9a61ba6b62590bd2519c03fdf85", 0x6c, 0x401}, {&(0x7f0000001440)="238da5405bba08adb5c0de67ecd315d6b3cd9580c7101c44f85d6e2d9ab291aa02d3bc4a191943278b57c52c81964fed825d4dcd927b12b2ae1548b7fbccefdea9564ca55886f130a6fb00b4888634e1dbc534e4fdc8194500c2af3dfab999e5bcc1eeb40cf506045ec125b6801c12b6a9001d36df19e2fb4c8d91d0f5eca8983fb7f10a60e72acd739e3333cff5bb9d673ec7d2e20c7a68883a8f54b7812c023bd923a51e73b18d8186a679bf45e6685ffdea5e6851", 0xb6, 0x1}, {&(0x7f0000001500)="86e275f081b35380ac9532f173ad340f48676a2ec2b82e375c3baa2333c702b7c623cb12d81b9ea83eed8c6157641a9f956f14bd66084fc046d9b9ebaaa89a772e4bd13ea4cb89c38e12e07a77dd8c43714af5e5410479e6d791dd6d1d2e9db1f3fa55504337be169fecc2cf52596ffd011a49cc1c3cd6a3e273cf7834291673408318da1481c9df8ff4bd42b3b38b07b8dfbc85dbd4eed4c5b87a5aaf4087a79db93f41fd3af6ea7faf530b56e41a", 0xaf, 0x25}], 0x140004, &(0x7f0000001680)={[{'(!%'}, {'dax'}, {'dax'}, {'\'+{'}, {}], [{@fowner_lt={'fowner<'}}, {@smackfsdef={'smackfsdef', 0x3d, 'dax'}}, {@dont_appraise='dont_appraise'}]}) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) getsockopt$inet_sctp6_SCTP_SOCKOPT_PEELOFF(r1, 0x84, 0x66, &(0x7f0000001740), &(0x7f0000001780)=0x8) 13:36:44 executing program 5: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c47, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 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 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000000780)=ANY=[@ANYBLOB="b702000014000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001007d60b7030000000000006a0a00fe00000000850000000d000000b7000000000000009500000000000000e3a333a0090cf73451c0e17a606fe530cb7d7f933eda023ee7cf43548ee858e07dfbdfd43307c529a4ce6be614c2c794f72ebf5fe3178966170201000000000400008258f8dbe82e16cf8db95f5b068a9e0000000000000000000000000000c97822a4986765f09a920000000000000000c9a08be60000f2000018287ba7d8807c0ee93ea1bb7f00a15deb269d0a91985602763e4570db04020000006eef8fb7fcdd82eb1e4841a6e5f6c736ca55eca29effe5084e2a8c3a32798a47420748e3607235f93c5fc0eea40f013e18ab940ae4724d98f521cbe75bb22444e03a4f3fd39da854ec5ee5d610884b75c8ac79338717293d65dd15fb587a000000000000000000000000000000000000000029ca1726128dde4482c93fe1716a2e7a53b2c313e56b64a795bde7a6c58ef57291831047683fb8e5793d27fcd7162ea2d94d84642095e2720460d9d828016fb3495a5a148bcd2d90a3ffe20c14864d1572b91f6f9aa8d1d84136fed8d55b152e7db62445f7284ced777070bb4fbebaac8555c4cd2fd24a819ae0dce629b73f469915ed4eda9e1f55508b9f4b3df93457ea55772e7eae4c36bf8fdde20d98acd3c9b268f52c38c7da2b08bb1d3c52f3416af5926667c27aa804673f9732690000dde9ddf19a92b093579ad5aa3e394328558849f3c377c8763f57b6f57f1f503805f40ce709154e3b033a29dcf4bd1e145e5e53f76b08be8c7311c73abf7bbfffb40b23f1a3707db7d0224ec413ed5f0198c92d1da921f2e8ca54d17474f16f487cb06970a48a8a0f8cac419fffb9c644734961611c22d9ab047d58a66c62507b4d1935399b558c7a5983dc792bf4389b750cf4be82061945c811356146dabd40b049a5a1a58bd439e5a9207773b6ed7818ef1186144cdb11bbef26954c5fcf3b07a98c040aa483a447ad30c5809677175cae5841a5516c33f05c7ac5d62baa0d4b7a0baadb2f3a2dbbb35b7a4ec28fd0522413e1116dfae771f67a057cc86df7b3ce3456a9b59590f12eac349c35b66800ea1b54cb0527774f0d93986536615ae16584bd64759955b2f9e982daf9b2f6de17b59c8f019bb9dd8f013ba7d9a867e4b6e65edbb3c56ed13626d184f0498c0a684016783f01b09e9301f0dd265019fe2c4c315cf86202000000000000000778f7c41f09e4609605f40d38f96dcaa4a9b6968148fd3ccfb094d8e29186ef1ad550e80ca6da081d2910d106d760b68500aab81964449afb2fa7d753444439c7920978dd1c30b3ca64e94dbac1cb321e26a12f250c18255a475d53019241fb99a6f4d394fb5bce1e276e267441742f0eb277345960879c304bade0cff8f7be6939096198c6e80afc848cccaf3471a0cb8996aab18326934be44496c859698bb1c6173e0ffa9208324d09c0786907669263fd1dd4e374028fee10207ede86368a2b7f0423a0d40ab5eb585b1f9197b669151459c6ac1ebe8749725520ccec4b7165f91fbdd4276fc4eb87163b9e0d5414bd4a8e7a6f59643289763500a84c413f15b617cb61b64a549bcea0297fb4e3eb2d732069a6158420825372a74b14c67a34b9405c059bf80543f4ce333e38b2df691c58382ce2eafff928ce0a4247e5a6eb16d4a5a1b2c1bd650d09aeabbd87c28048f61889e7085cd0cdf69ca775b63fedb110b30004a411ab96e057a5734d7c129b0fe7eaba2095a829402c87bbdc9e017b6d5ae8e40678745a6891d9c7e8d31ff5b26085efe3a2fbe78e014ffe8aae05e0843e3750ab02e7e89c2758abc0e995a79aa202e14fb5b20b226b93213a0f44"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000740)={r0, 0x8001a0, 0x1c, 0x5ac484bb51fa106a, &(0x7f0000000380)="4d50b441e692763513ef874588a80300000100000000122e25d30806", 0x0, 0x3a, 0xe00, 0x22d}, 0x28) socket$kcm(0xa, 0x0, 0x11) setsockopt$sock_attach_bpf(0xffffffffffffffff, 0x29, 0x24, 0x0, 0x0) sendmsg$kcm(0xffffffffffffffff, 0x0, 0x0) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000080)={0xffffffffffffffff, 0x18000000000002a0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60000000, 0x0, 0x0, 0x0, 0x0}, 0x40) r1 = socket$kcm(0x11, 0x3, 0x0) setsockopt$sock_attach_bpf(r1, 0x1, 0x32, &(0x7f0000000300), 0x4) 13:36:44 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r3 = dup(r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) creat(&(0x7f0000000080)='./file0\x00', 0x2) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1) ioctl$KVM_SET_LAPIC(r4, 0x4400ae8f, &(0x7f0000000580)={"6cdd4237dd245c8404721efdc9c8dc1964125fa96fa42b75fb3488fd8015bba4c81036c93a40c8a4d4412a763b00040000000000003c5ca206c047ecee377aba09e7b88378e3d63a98fc191f361d264ffa8b46485f02baee1ab6b8154252066178868d1ef4b5365c5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525952f44500a1f0db509c32cc7ace842c28f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa1b6a832d4e48cc41bb5a6baa41d614f6c8941bee805954a62d196a4e8d41f6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478f347edbd6404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e4caff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684b45b00000000364673dcfa9235ea5a2ff23c4bb5c5acb290e8976dcac779ff000000000000003d4e185afe28b774b99d3890bd37428617de4cdd6f53c419ce31054182fd098af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e961efffb4e1aa25d8a17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca62b25d48fda5d10146702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba47e30f558b2246ad95ccf7d2f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3eff254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f4f692613e28387e955722908dd88b56163be8312ff47c5b6f280472935af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047526865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffbe9dd03970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d8191643"}) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r4, &(0x7f0000fe5000/0x18000)=nil, &(0x7f0000000280)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r5, 0x0) bind$rose(r5, &(0x7f0000000040)=@full={0xb, @dev={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, 0x3, [@default, @default, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x40) ioctl$sock_ax25_SIOCADDRT(r5, 0x890b, &(0x7f0000000140)={@null, @default, 0x3, [@default, @null, @default, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @default, @default]}) ioctl$KVM_RUN(r4, 0xae80, 0x0) r6 = dup3(r0, r1, 0x80000) sendmsg$NL80211_CMD_REQ_SET_REG(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000080)={0x20, 0x0, 0xa05, 0x0, 0x0, {}, [@NL80211_ATTR_SOCKET_OWNER={0x4}, @NL80211_ATTR_USER_REG_HINT_TYPE={0x8, 0x9a, 0x2}]}, 0x20}}, 0x0) sendmsg$NL80211_CMD_DEL_KEY(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000200)={&(0x7f00000001c0)={0x34, 0x0, 0x200, 0x70bd25, 0x25dfdbfb, {}, [@NL80211_ATTR_KEY_DATA_WEP104={0x11, 0x7, "b8014ade3cf948471a04f56a2d"}, @NL80211_ATTR_MAC={0xa}]}, 0x34}, 0x1, 0x0, 0x0, 0x20000801}, 0x20008000) ioctl$KVM_TPR_ACCESS_REPORTING(r4, 0x4008ae89, &(0x7f0000000000)={0x2, 0x0, [0x48d, 0x0, 0x5, 0x0, 0xc0010058]}) dup2(r6, r4) 13:36:45 executing program 5: syz_mount_image$minix(&(0x7f0000000000)='minix\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x1, &(0x7f0000000140)=[{&(0x7f0000000040)="4000000000000203000008000000190ab15184a3f30900005a4d", 0x1a, 0x400}], 0x8402, &(0x7f0000000080)) 13:36:45 executing program 5: mkdir(&(0x7f00000002c0)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000140)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000000040)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}, 0x2c, {[{@blksize={'blksize', 0x3d, 0x1000}}]}}) read$FUSE(r0, &(0x7f00000077c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) prctl$PR_GET_TIMERSLACK(0x1e) r2 = openat(0xffffffffffffff9c, &(0x7f0000004280)='./file0\x00', 0x0, 0x0) ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS(r2, 0x4040534e, &(0x7f0000000000)) r3 = dup3(r2, r0, 0x0) ioctl$SNDRV_CTL_IOCTL_TLV_READ(r3, 0xc008551a, &(0x7f0000000100)={0x0, 0x24, [0x2, 0x9, 0xfff, 0x10000, 0x6, 0xffffff9d, 0xec, 0xfffffeff, 0x3ff]}) 13:36:45 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$TUNSETVNETHDRSZ(0xffffffffffffffff, 0x400454d8, &(0x7f0000000000)=0x9) r3 = socket$alg(0x26, 0x5, 0x0) r4 = syz_open_dev$usbfs(&(0x7f0000000180)='/dev/bus/usb/00#/00#\x00', 0x74, 0x41) r5 = socket$inet6(0xa, 0x2, 0x0) r6 = dup(r5) ioctl$PERF_EVENT_IOC_ENABLE(r6, 0x8912, 0x400200) r7 = dup3(r4, r3, 0x0) syz_kvm_setup_cpu$x86(r7, r2, &(0x7f0000049000/0x18000)=nil, &(0x7f0000000080)=[@text64={0x40, 0x0}], 0x1, 0x0, 0x0, 0x0) 13:36:45 executing program 5: r0 = socket$inet(0x2, 0x4000000000080001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0xf, &(0x7f00000000c0)=0xfd1, 0x4) bind$inet(r0, &(0x7f0000001440)={0x2, 0x4e23, @multicast2}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x2600cff9, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000000), 0x4) sendmmsg$inet(r0, &(0x7f0000002980)=[{{0x0, 0x0, &(0x7f0000002900)=[{&(0x7f0000001800)="ce0138f7991858b076f7b6a0005fe3e370020540e61973fb93ea186a11855c37931bbb23923190878199925d6e4f88c322dc278ffb3c1cb98d25e0dadd52431d301c4d8e56462948fca526e3eaa19d1e6613a8a950477f3a846ad840ebf03fd9c28d54f1e55d689b396684fdb443344b6a4904a0200f7a68b8ab710ff04f12d17ceccfa21e82bd3fe8e9ac3c44373020efbca3140704a20422bb4b9d7327db01eefe1c2c33d83605452d1eacf0e95b4084b58fb60c046cb01a3d80b0a64bdd3ddfe1751f8152060eb3fb443a6581be568390bd12c847f67170cdfb60f566db5e6b7bfdc3b14d72844cb0cc21c8ab09c3e534a831ae39f34ef5c1259cc3dd6e8b9ea0be7220abdc7403423e2dbe5b815a2121d0f6cf8395391208f22ecf6c51f1b850d80572408ef9d5164fe23d04152144dc226bf8404e18a1910d21e8fb27c3e1c22d47a7455414727af9a94736705af33a35602e84269332f5a8a7f2553afe01603bbeb3d7a97c503618ce7ef361e508d241e7ac457b894297fa3298adf86fecf21839d1a01385f717abc7afd9b2a3e5ddfb6894eaec20afa44b18c080a64da57d916a974bccd5e99b2580c2d5753624c168657939655d4bb51a65f3e9f50936c5dcc794de50652fdc1644d92ec30834f84eb038892ad7904a663b68c22b989b6e23184d6369403e62f096c0c67e100a4fc1fa0f714db736cbc1b2ed714f21f279f14dbd332dfc1fc7a465f150ae252b08a152bff043658274ec3b7108f1f92651e14a999a8e64b1ee49a97b7d614434e57be88100bc6e7eb7f3ea7e9c080c67dc003fbc9eeb0454a62ba06ede6dcb49ee3d5f7978052f23b87eb74cd7d83e5b2c32ce7986349d8be995a907d539ab0006a122d727d23d6669a12954db2bf400c3f5d4183cccfc22d5f5688220711b4c14811375ee59a1aad7f18819f2f7e2bf326c52afbe33e8c5d68835b95d9e0c614d27e2b116855140c1db107102af37c479b24ec3e2d59ec4d0b2cea8283560523b65fcd60f470811a0eb0793ebff40f5039b6c32f5c812c03d86ab7299e31a543e822b1df0678cfb8a0064be9cc76c0f267cf5d3457793e45477b19c48b1d4d7822ffd5229e34839a0784ab0cf8e8e06a02722a4c5fef760c6af51bc305f7489e364aa928f0cff32ac4f3e0f56dbcdc031a92c36f384081e4bd8bc96885fee40100eaf78afece1c57a42ef7edc6a0c6c07615d0a56ed087262e53d13ce31fa602c2301520ebf47a67d18641558c7f1fbd90b14626621a854b64bde2e69fc6fd0222fee1466556e8e30f6dd63a9e352dd795b2959ca02cc1ca38039be894deb1cf4939bd6d65265dd6d7e7a8bf45b9f6d9d0bdbb95b92d687588f5a04d2e7b80a06605e933e6b1836be024b7ca19721526b74379dea943e1fbc679be0468fe41ef16c2f571e1578b70b55472b18e78898e6a91a76e9c55027210ac23a33d3ec2e788bf52f38a3c249ffb96b9a9151e899b34ac4dca28f13254fe4517873d8c286545060abce9c8e41c7021814e8c9fae2adfbb10dfccf4a6123430f048e67e51c822cb89e84abbad4dffec52ee5a95267325ecce2a6ab0ca86adf34402c0295140d5a204d4dbc6f7d5e9d574604c7574b4176bc9ce0737035ef2693e2769dfcd777c28d141ed49f5f47a0ca7a3675644cd162eb8d006baa14bad065bbd1752d411ad9d4a25efa26849a5bcd1097c8a8174ec30c210b74dd4e73168550c49f5ca50fbfe3028c99f83f2981e43530c6e77bffda799b603a8eed2b27856cedbce435d47fea25f78c3f151144818dd7294e178b431bed8a06db4e3f410fa4c92549d6c0c85a30fc3a051203317bc5ea6b9765e0c64ed704d76792fbce6293d0f1a423ffb021d323aba0b41056783d78b4cdc522c1825674e15dccc87275b1f7031d3965d918a27588cbd4618702abccfa770c9877fffe1517900f4b919a0ee0ba80d49730b0f5c6eee5ac21b48f03ceba08363c30fee54b441c362cb05987a579513bb0ec094ca8dfa61d842e36eabd445e2e81a3f8819827f2eb38043752da25b6745b81da9b79e1312456a94e4225dee135a378e32b8f676c886ad86e9c429128d43b50151ae1521b5a67d72cde17b69b35b02321492334edae8b07b04d319f970aaaeeeee0f1cec8bee4088a2f4f409a5e91fdd8b428c3a8e3964b030adbc24543aa261af23ff0e448ccbacd04006993e6e19b81b6c3d3c25da15d364daca2759ec63f5a8c421c0d2595474b042bf1440f98364d0b6862cb5d1cab37becc5cd3bf315218a16ced986922109e8e997f9b03e27f500267c5afecdf24c1367fb828f0978ea638a1d7608fc9b72c2b5fc854341e5b0c5284d9143491722d03db90415d879ddccd82da86e43945c442509f5cff3662fa051cf341c9619433c451a260e05a3a417d2c53fbd2e9fd321dfb2c8de9d227638047868a9b048be97b44bbf2ef8fc4c631e7ffe4cb25c11e736399dd6a4bf8edf68e52870a81fabaa37b138e12f73e383f1ec393354f5582e6c296ec696c967bee4b9be3838f4ac45ca47d81b537669f36af4e48433e645b9ad383da9407b74825671d3f575f520a91a35c0ea2a6c59d0d4fbc13ebdf86926614941d75783fdabbc7d00a394c1ab339c10f27188f835c4597a878dda19d390fe71a735e024d3fa2a7473cd8aa31b468b3e2555bcc3db04d3d6cd7b21e5ae9aba1171e09b6e665ab0f086a5c5e2c4afc1d04ec53e43f2f30fe258e248b09afa5b8a956641e0af351afdfa74f56aef7bb456ed8c2d94f046f8ee8c7a251634000bfc9aff9585a385695bd624764830b12d77c012419821c296f2c32ab50948eb7364cf22f208eaa12760436117c7f49c3ecb5d48e56554495d634700c39b7e477e7d9420fb6f0bfd16610afcb3986a75c0c790b47ea4731f4d07cc03a2cde8cea3a86b2252d1b912f9e1cd7b21bac009d2cfb5815e51cd12a778278a62f8b3022473e92bfc6c70fc1423d6b9ef38fd3c406ac9ec863671fcb8a908fef42d74a02795c6db91667388408408b0e28a4a815d22d5e1e851d407f928b8f08927735b4d147c937f64df3742000ca791055a8954e17b5e4481172a7c81d2e00a4a93075ee6114858a324b9793c982aad0c3c87b028b6988b636ab5f3e4848c95ff53c903be172ba4229516b353ed5a6c61299bfb8e7b94687ff92da2ef64d2cfe90af6bdb2bb01f8026d5a1038361c41d7d976a4878aa79cdfc5c2cedfde86f5640c29a6248b50bf0515b618917fed1a06c7c361a48ba9c4af76dec2462e398c96ca3a3899962dd6f4ec8787b5a17c4c5155ad0a52d7641e9f34c792e82e7fd743a1f63370a65a40ed213607cff8df9a0e92fab36d6518afeff072d84d572baf47676965af3160b5fde566b676d131f390634ee80fb11a41fb69ee7d35183ca72843f7b98adc265d5cd42a79dd1e3ef5b9c09d911e0e96ffd945b433033ecaaffa2bcbd296b8c2d2423cd3a78d3567b1b57e2f2851679a308e777e33f0ba724470ad2b09676e96cd5f6d952a67a20f3fb145def73913c3ef7f3768fd80df1f401b0be3bd6d7f1702cedaaa1e39952ab58498dcc6fc77e955faf57d4c691a8eccdcd2350149fdcc883c04d0b0c944d3f1d4dfc07093b0b8e5af4c1e94a50ba4f34e06c3bffc94112f6824e02a987a9471cd57e7a208abe7c608b7738a5ad05685854cd901d975d96cf9306c37d6493637dbdfd0c190c98bcf95268ea94ed0cc6b18460168578e5077bbdd06e3e33a1ac419bd2820f653a015290d326e727a73ffdc5f06e7532203ec0b0e53c03ab039f7672226c76f1c2a882a7f7ba291578127b8bbe5118a3a0b0370c559d809bd2df39d366c36ac834ef9443ef57ca08c29853655a5c4ef2cf900a406c8023cb19cfc8ef1fa4ddf5946e8916766cde3683b26b30c82f363cc9338ceb67978fa2870149a9450c528bbc39829f9473bf1199f75588bf7c2d844d09c7aa47ea9e493b79af954925db7d2792ff2f208b53545dad3459de38e87cf54db7ac5ff6271ff78162cea02522b80fc911885d7cf8f7b3a7d8cb405aa5d1a93ea2362d7abc067122e5f0be1608c8112a932cbff3c065d4eaa43f586055ce18880e54b4f10292beac332dbb7a5e3f142fffe9aaf5d021cc6b18e43f5c1c7243aa4f1b094e80ffec6c555896969bec7409320c2914bfeba878d996d65976dc96d07b950874bab60f18fcaa37f427692e9eaf3e39d973f356c656b069c1b680d493ceeaae56c5dd28fb9f8754da575f97ef46a92740d1a7958c53086ab851a05a6a3cccbd133ec226de4f740ada1020acc6c8e72e97ca7c4c87a306676f78deb9e05d4fda0d46168db44e377b4492a72755f03e8e87f5456d83848245e09bc5e9fd89d882c706734858c1924951ca25bbed402e3c37041813f931210976fd13283cb6bc2a40164ba30bf16598b022246609eefa0af40b65f33ff00940d3b6e59095ebe037cb870ea5f138a146619b605c737dcf3efe42bce1f38da068ba44a0520bb24deb547c7968e840975f5fe6daeea336c653aefc856744c023e8b42ef982449c38cfa779534e2636d7a3ef660f998f23e3809c61c67dc19d5cc0bd6d0d71a95c80ac770d149f976228337927f1812724a111967d6c1d26c18ff5c90c779e57a02ce62bebd5460cff7574e1aa1448dd123386e729b6d5a16a0ec5227db0d1e3d21d84af339d5c865a0ac9d138adce4e244ca7a41608afe019a994c937623732965cbeb1520f143672a42723d530337313ff4460fe8926b3898ac1808e935947d9a7c5ccda8b195da3772d5b02b94dabdc4b2fea52af43f894b0e1c5346f2e2db435e4a83d47dea3d5392e1c51dd788fc40c6c8a20e4bbd94a16d92fdd91ad141fddc5651e3a3e44c12dc68b73536a639410cae44b302141b481f10531901991da63410fb46ea84d357f3af17c3f2315705c2c900c4d3df3658e37f8be7e98a7e4d8d5822f1f73b0ef58d71ffd823d709206757c99d980b87ca1844feb6a9bd1422ef0919669d9737e582691b68081d164c940a516944d20a3d5cfebbe40e5c3731aa8419e39ced14ba103ed8cac4f80220cf7f8a28a63b236c3cc7f510d419c39d2a26c823e044e676e83eb28cf517edbbe9d8f59e79c673edd5d79c4309a703fd1128323246775279364d1a13a5a212e073f90482712bd630ae7a63abb99aafab6597600df6491300ff5746c5cc51f6c42bcdaedabca63251a19c9e13bda016846d372fe683d7d6c9467a355987eed435c15c97e32347065cba4c39f9c902120bf50e030ee3c12a64c32132a9799078ce4584d74a7ad98567653f0d70cd50ff6a728b39eb23e7594acf0d3581bf1157622d7183f1112005158131bbf4f8defbd7e5af2f602c2c04fdc016b2ada0ed19896dced17feae9a97660c548a38c41e093471baf865ba83f746c535fa57d009a7f3b709081bfa6c2d0c5f70fafd56ab00cf83040c4121c5da693df370d334653e4a6920d8a064c6de5d389063c626f1aac1e988649ff49bddb3bf088d0d0dada3c5b83c39f8c6d283edb6e282721e2c3eb3b7732da4ad6dc82cdb2053080abdf7a15b6f7eafc07e3bc4d92cd7a48e5b7c2af30fea02e13d074c3eeffa15aeee00ada7d2fc241bc6072d14f637aee058950928ef55988fd7e89226a67ded476d6c50a9a39073e7d1c38811678358c54d3c708d9694534a82d28592a4ce4f9c99", 0xfd1}], 0x1}}], 0x1, 0x0) recvmsg(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000015c0)=[{&(0x7f0000000400)=""/4096, 0xfd1}], 0x1, 0x0, 0xff96ce4aaaa47475}, 0x100) r1 = socket$inet6(0xa, 0x2, 0x0) socket$bt_rfcomm(0x1f, 0x1, 0x3) sendmsg$GTP_CMD_DELPDP(0xffffffffffffffff, &(0x7f0000000180)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)=ANY=[@ANYBLOB="1c00a100", @ANYRES16=0x0, @ANYBLOB="020026bd7000fcdbdf25010000000800080003000000"], 0x1c}, 0x1, 0x0, 0x0, 0xc188}, 0x20008000) r2 = dup(r1) sendmsg$RDMA_NLDEV_CMD_PORT_GET(r2, &(0x7f0000000280)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f0000000240)={&(0x7f0000000200)={0x20, 0x1405, 0x9, 0x70bd2a, 0x25dfdbfd, "", [{{0x8, 0x1, 0x1}, {0x8, 0x3, 0x3}}]}, 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x9891) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) 13:36:45 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='pids.events\x00', 0x275a, 0x0) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x20000, &(0x7f0000000200)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r2}, 0x2c, {[{@version_u='version=9p2000.u'}, {@debug={'debug', 0x3d, 0x4}}, {@cachetag={'cachetag'}}]}}) write$binfmt_script(r0, &(0x7f0000000080)=ANY=[@ANYRES32, @ANYRESHEX=r2], 0xffd4) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) mq_timedreceive(0xffffffffffffffff, 0x0, 0x0, 0x0, &(0x7f0000000000)={0x0, 0x989680}) 13:36:45 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) memfd_create(&(0x7f000088f000)='b\n\x00', 0x0) r2 = socket$isdn_base(0x22, 0x3, 0x0) ioctl$vim2m_VIDIOC_EXPBUF(r1, 0xc0405610, &(0x7f0000000000)={0x0, 0x7, 0x4, 0x80000, 0xffffffffffffffff}) dup2(r3, r2) 13:36:45 executing program 5: perf_event_open(&(0x7f00000001c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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), 0xb}, 0xa500, 0x0, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) epoll_create(0x2000007) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x3}, 0xd8) recvmsg(0xffffffffffffffff, 0x0, 0x0) fcntl$setstatus(r0, 0x4, 0x2000) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) getsockopt$inet_mreqsrc(0xffffffffffffffff, 0x0, 0x26, 0x0, 0x0) setresgid(0x0, 0x0, 0x0) r1 = getpid() sched_setattr(r1, 0x0, 0x0) getpid() sched_setattr(0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0x3, 0x3, 0x2d, 0x81, 0x0, 0x686, 0x10000, 0x3, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext={0x0, 0x4}, 0x2000, 0x1f, 0x42d1, 0x3, 0x11bd000000000, 0x5, 0x20}, r1, 0x6, 0xffffffffffffffff, 0x1) msgctl$IPC_SET(0x0, 0x1, &(0x7f0000000380)={{0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fff, 0x0, 0x5, r1}) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f00000008c0)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000100), 0x4) recvmsg(r0, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5801}], 0x1, 0x0, 0xf080}, 0x100) write$binfmt_elf64(r0, &(0x7f0000002300)=ANY=[@ANYRES64], 0x1000001bd) 13:36:45 executing program 5: r0 = open(&(0x7f0000000080)='./file0\x00', 0x1afbc2, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r1, 0x0) ioctl$IOCTL_VMCI_CTX_SET_CPT_STATE(r1, 0x7b2, &(0x7f0000000000)={&(0x7f0000001c00)=[0x8, 0x7, 0x3, 0x8, 0x0, 0x7f, 0x200, 0x800, 0x9, 0x1, 0x80000000, 0x100, 0x20, 0x400, 0x0, 0x2, 0x4, 0x100, 0x4, 0x6, 0xffffff60, 0x7fffffff, 0x6, 0x0, 0x1f, 0x100, 0x2cc911e0, 0xa9a7, 0x3, 0xffff8000, 0x10001, 0x3, 0x908, 0x763c, 0x6, 0x0, 0x8, 0x0, 0xa1b7, 0x0, 0xe29, 0x5, 0xb9, 0x5, 0x1ff, 0x3f, 0x80, 0x800, 0xb9, 0x40, 0xfffffff9, 0xfffffff7, 0x8, 0xffffff81, 0xff, 0x0, 0x7fffffff, 0x7fe0000, 0x8, 0xbd, 0x3, 0x10000, 0x8, 0x80, 0x61, 0x80000000, 0xcf6, 0xffffffff, 0x3, 0x8, 0x2, 0xffffffff, 0x4, 0xffff, 0xfe000000, 0x100, 0x7, 0x8, 0x8, 0x7ac6, 0x1f, 0xc2, 0x400, 0x1, 0x0, 0x80000001, 0x3, 0xffff, 0x8, 0x7ff, 0x8, 0x4, 0x200, 0x4, 0x8, 0x5, 0x7af9, 0x1, 0x80000001, 0x40, 0x8, 0xbd9, 0xffffffff, 0xfffffffd, 0x6, 0x3, 0x100, 0x8001, 0x8, 0x101, 0xfffffff8, 0x9d, 0x1, 0x7, 0x1, 0x2f5, 0xffffffff, 0x6, 0x3ff, 0x3ab, 0x0, 0x8, 0x3, 0xffc00000, 0xeb, 0x5, 0x7, 0x80000001, 0xfc000000, 0x2, 0xd, 0x0, 0x219, 0x6, 0x9, 0x0, 0xda, 0x0, 0x7, 0x1, 0x401, 0x6, 0x8, 0xb554866, 0x7ff, 0x7, 0x9, 0x40, 0xffffff7d, 0x2, 0x400, 0x200, 0xfffffff7, 0x1, 0x3, 0x7fffffff, 0x8, 0x5, 0x81, 0x5cf, 0x1ff, 0x3ff, 0x101, 0x40, 0x5, 0xc240, 0x3f, 0x3, 0x9, 0x6, 0x4, 0x2, 0x8, 0x6, 0x1f, 0x7, 0xdd2, 0x40, 0x9, 0x90000, 0xff, 0x40, 0x0, 0xfffffffe, 0x8, 0xffffff81, 0x1, 0x60, 0x8, 0x855, 0x8f, 0x800, 0x789c, 0x5, 0x8000, 0xec5, 0x6000, 0x4, 0x8001, 0x0, 0xff, 0x5490, 0x8001, 0x3, 0x9, 0x3ff, 0xffffffff, 0x3f, 0x1ff, 0x9, 0xa1, 0x7, 0x3, 0x4, 0x1, 0x81, 0x2, 0x1, 0x45ab, 0x8001, 0x1fed6d0a, 0x6, 0x6, 0x0, 0x1, 0x8, 0xfffffffa, 0xffffff63, 0x3, 0x8, 0x80, 0x1ff, 0x800, 0x1, 0x7, 0x7, 0x5, 0x20080, 0x1f, 0xfffffe01, 0x4, 0x5, 0x1ff, 0x101, 0x1000, 0x0, 0x1a1, 0x800, 0x7, 0x3f6b, 0x30, 0x2, 0x7, 0x8, 0x3f, 0x3, 0x5, 0xc55, 0x8001, 0x6, 0x5, 0x7fff, 0x6, 0x3, 0x3, 0x3, 0x8, 0x3, 0x7, 0x7b, 0x7fff, 0x0, 0x7, 0x6, 0x0, 0x11e5609f, 0x3, 0x6, 0x3, 0x1, 0x9, 0xc17, 0x8, 0xfffffe00, 0xd86, 0x1, 0x3, 0x3, 0x5, 0x101, 0x20, 0x3, 0xffff0000, 0x2, 0x1, 0x403, 0x100, 0xf43, 0xffffffff, 0x80000001, 0x7fff, 0x101, 0x81, 0x81, 0x100, 0x8, 0xfffffffe, 0x40, 0xb474, 0x80000000, 0x3, 0x7ff, 0x2, 0x4, 0x80000000, 0x4, 0x7, 0x5, 0x81, 0xffff, 0x3ff, 0x0, 0xfffffffb, 0xa6f7, 0x2, 0x400, 0x2, 0x2, 0x9, 0x100, 0x4, 0x9, 0x8001, 0x8, 0x4, 0x1e, 0x4d1, 0x4, 0x6, 0x3, 0x2006c5a5, 0x4, 0xbd, 0x81, 0x7, 0x5ab, 0x3, 0x80000000, 0x1f, 0xc05, 0x800, 0x5, 0x4, 0x97, 0x6, 0x3, 0x200, 0x800, 0x0, 0x4, 0x9, 0x7, 0x10001, 0x5, 0x9, 0xbd6, 0x1000, 0x609, 0x7, 0x200, 0x906, 0x7, 0x52b18000, 0x101, 0xe933757, 0xfffffff7, 0x3, 0x7, 0x80000000, 0x8e8a, 0x0, 0x2, 0x7, 0x6, 0x57, 0x3f0000, 0x0, 0x391, 0x6, 0xfffffff9, 0xe0e9, 0x9, 0x2, 0x3, 0x0, 0x4, 0x7, 0x100, 0x9, 0x7, 0x3a, 0x7, 0x3ff, 0x2, 0xe7ba, 0x1, 0x3, 0x1f, 0x1, 0x1, 0x7, 0x800, 0xac6e, 0xfffffe00, 0xfffffffd, 0x8001, 0x3f, 0x200, 0x7, 0xfffeffff, 0x7, 0x400, 0x80, 0x3ff, 0xef, 0x7fff, 0x7fffffff, 0x5, 0x3, 0x2, 0xff, 0x0, 0x7, 0x7, 0x2, 0x0, 0x1, 0x9, 0x4, 0x3, 0x4, 0x9, 0x10000, 0xfffffff7, 0xd2b3, 0x80000000, 0xd4e, 0xffffffff, 0x80000001, 0x5, 0x8, 0x1, 0xff, 0x17f, 0x0, 0x1ff, 0xc, 0xff, 0x1, 0x0, 0x2, 0x4, 0x0, 0x400, 0x7ff, 0x1, 0x2, 0x0, 0x80, 0x3, 0x0, 0x3f, 0xfffff6d3, 0x9, 0x5, 0x7, 0xffff, 0x5, 0x6, 0x7, 0x20, 0x681, 0x6, 0xfff, 0x9, 0xff, 0x4, 0x0, 0x1, 0x3, 0x4, 0x3, 0x7, 0x8, 0x7fff, 0xd1, 0x3657, 0x100, 0xaa, 0x5000, 0xffffffc1, 0x2, 0x0, 0x800, 0x5, 0x1, 0x7, 0x0, 0x80, 0xffff, 0x4, 0xffff, 0x0, 0x6a6, 0x3, 0x65, 0xd98f, 0x6, 0x36, 0x9, 0x0, 0x1, 0xd6d, 0x2, 0x1f, 0x0, 0x4, 0xffff, 0xe99, 0x2, 0xff, 0x9, 0xf97, 0x80000001, 0x6, 0x0, 0xfffffffc, 0x0, 0x20, 0x2, 0x1, 0x1, 0xf0, 0x80, 0x3f, 0x6, 0x5, 0x3, 0xf101, 0x1, 0x3ff, 0x5, 0x1, 0x2, 0x4, 0xfffffff7, 0xfffffff8, 0x0, 0x3, 0x40, 0x3, 0x2, 0x6, 0x5, 0x7, 0xffffff7f, 0x0, 0x80000000, 0x2, 0x781697a4, 0x40, 0x6a, 0x829d, 0xdd, 0x4000000, 0x3ff, 0x0, 0xfffffffb, 0x3ff, 0x3, 0x1, 0x3, 0x9, 0x6, 0x6, 0x2, 0x31ed, 0x101, 0x4, 0x7, 0x9d, 0x57, 0x6, 0x4, 0x9, 0x9, 0x7, 0x80000000, 0x8, 0x0, 0x5, 0x8, 0x81, 0x3, 0x80000000, 0x500, 0x3, 0x40, 0xeed, 0x4, 0xffffffff, 0x2, 0xe4, 0x6, 0x1, 0x3, 0x8, 0x8, 0x80000001, 0xa7, 0x0, 0x401, 0x100, 0xc7d, 0x4, 0x72b, 0x1, 0x7, 0x83, 0x4, 0x5d8, 0x7, 0x10001, 0x8, 0x17d668b6, 0x8, 0x5, 0x5f3, 0x2, 0x0, 0xef1, 0x1, 0x9, 0x1, 0xfff, 0x8000, 0x0, 0x5, 0x9, 0x6, 0x400, 0x8, 0x401, 0x80000000, 0x5, 0x0, 0x6, 0x1, 0x3, 0x3, 0x3, 0x9, 0x0, 0x4, 0x2, 0x800, 0x0, 0x0, 0x5, 0x7, 0x5, 0x401, 0x38000, 0x2, 0x81, 0x7f, 0x5, 0x7, 0x3, 0x1, 0x5, 0x1ff0000, 0x5, 0x7, 0x6, 0x6, 0x3d, 0x8001, 0x1, 0x5, 0x8, 0x1, 0x2, 0x1140, 0x4, 0x3, 0xdc0d, 0x9, 0x4, 0x75, 0x1f, 0x1, 0x1, 0x7dfa, 0xfb8c, 0x4, 0x9, 0x1, 0x45d, 0x6b6f, 0x8, 0xff, 0x86, 0x5, 0xf7, 0x2, 0xff8000, 0x5, 0x1, 0x2, 0x6, 0x200, 0xfffffa78, 0x7fff, 0x100, 0x8001, 0x101, 0xffffff81, 0x4, 0x6381, 0x400, 0x1, 0x100, 0xffff, 0x37c, 0x7, 0x8, 0x7fffffff, 0x2, 0xfffffeff, 0x2, 0x1, 0x81, 0xfffffe01, 0x0, 0x3, 0x7, 0x1, 0x3, 0x1, 0x7fff, 0x2, 0x0, 0x7fdf, 0x80000001, 0x2, 0x2, 0x4a, 0x7ff, 0x9, 0xfffffffe, 0x4, 0x2, 0x8, 0x8d, 0x3, 0x401, 0x8, 0x2c0, 0x71a, 0x7, 0x9, 0x7f, 0xffffffff, 0x94a, 0x8, 0x4, 0x6, 0x3, 0x400, 0x20, 0x5, 0x9, 0x400, 0xf60, 0x2, 0x101, 0xaa, 0x7d72, 0x9, 0x3ff, 0xa2, 0x10000, 0xf367, 0x8000, 0x1f, 0x0, 0x8, 0x9, 0x20, 0x1, 0x0, 0x9, 0x5, 0xffffffc1, 0x5, 0x0, 0x6, 0x91f, 0x0, 0x7ff, 0x4, 0x14c5cfba, 0x8001, 0x20, 0x3, 0xffffffff, 0x20, 0x6, 0x1ff, 0xfbe7, 0x81, 0x9, 0x101, 0x400, 0x7, 0x6, 0x95b, 0x8001, 0x0, 0x2, 0x1f, 0x5, 0xa53, 0x10001, 0x7, 0x5, 0xc000, 0x8, 0xc5, 0x10000, 0x1ff, 0x4, 0x1e17ee3a, 0x6, 0x3, 0x3, 0x0, 0xff000000, 0x8000, 0x1f, 0x9, 0x2, 0x5, 0xfffffffe, 0xfffffc00, 0x6, 0x1, 0x4, 0x3dda, 0x9, 0x9, 0x1000, 0x4, 0x80000000, 0x7, 0xff, 0x9, 0x18000000, 0x2, 0x32a62c67, 0x8, 0x0, 0xff, 0xa7, 0x80000000, 0x9, 0x4, 0x100, 0x1a63, 0x8, 0x1, 0x4, 0x5, 0x7ff, 0x3, 0x5, 0x8, 0x4, 0xff, 0x2, 0x20, 0x1, 0x7, 0x1000, 0x5, 0x80, 0x8001, 0x0, 0x4, 0x5, 0xffffffff, 0x3800, 0xa62, 0x6, 0x3ff, 0x5ac, 0xfffffffc, 0xffff8001, 0x6, 0x100, 0xff, 0x7ff, 0x8, 0x5edd, 0x20, 0x5, 0x8, 0x56, 0x5, 0xfffff801, 0x3, 0x0, 0x5, 0x0, 0x8, 0x800, 0xffffff02, 0x7, 0x9, 0x2, 0x4, 0x7ff, 0x98, 0x10001, 0x100, 0xffffffff, 0x9, 0xbedd, 0x5, 0x5, 0x6f, 0x2, 0x2, 0x9, 0x4, 0x2, 0x1, 0x8000, 0x7, 0x7fffffff, 0x7fffffff, 0x3, 0x7, 0x8, 0x7f0a, 0x7fff, 0xc701, 0x7, 0x80000000, 0x3f, 0x1, 0x1f, 0x9, 0x1, 0x1, 0x2, 0xffffff00, 0xffffff80, 0x7fff, 0x9, 0x4, 0x10001, 0x7, 0x0, 0x2e, 0x5, 0x3, 0xfff, 0x3, 0x7, 0x1, 0x0, 0x1, 0x3, 0x9, 0x246, 0x2b, 0x10000, 0x3, 0x2, 0x7, 0x0, 0x668, 0x81, 0x1, 0x5, 0xffff0e00, 0x4, 0x9, 0xc9, 0x81, 0x0, 0x2, 0x3, 0x6e, 0x8001, 0x7f, 0x1ff, 0xfffff801, 0x7e000000, 0x2, 0x80000000, 0xff, 0x2, 0x3, 0x4, 0x0, 0x401, 0xffffa870, 0x4, 0x5, 0xffffffff, 0x2], 0x3, 0x400, 0x20}) setresuid(0x0, 0xffffffffffffffff, 0xee01) socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(0xffffffffffffffff) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ftruncate(r0, 0x28007d) r3 = openat(r0, &(0x7f00000005c0)='./file0\x00', 0x200, 0xcc) sendmsg$OSF_MSG_ADD(r3, &(0x7f0000001bc0)={&(0x7f0000000600)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f0000001b80)={&(0x7f0000000640)={0x1508, 0x0, 0x5, 0x801, 0x0, 0x0, {0x2, 0x0, 0x9}, [{{0x254, 0x1, {{0x3, 0x2}, 0x0, 0x1, 0x2a57, 0x2, 0x15, 'syz1\x00', "7c4f61c7df36f2e752f94bd8f6ef06d7e4cd17a641c5963803fd27e7aa07f3a4", "563db863f95ab63ec7d37346e4cd6cea1101f27bb264c5b69f7b1930b1d4de91", [{0x1f, 0x538, {0x0, 0xfffff0d6}}, {0x200, 0x0, {0x3, 0x293dc15b}}, {0x80, 0x6, {0x3, 0x401}}, {0x0, 0x9, {0x2, 0x7}}, {0xfffe, 0x200, {0x3, 0x101}}, {0x1ff, 0x7, {0x2, 0x1}}, {0x7, 0x7, {0x0, 0x1}}, {0x0, 0x4, {0x2, 0x4e6}}, {0x4, 0x8000, {0x3, 0x1f}}, {0x0, 0xa1, {0x1, 0x5}}, {0xffa0, 0x1, {0x0, 0x5}}, {0x3, 0x4, {0x2, 0x7}}, {0x3, 0x3, {0x2, 0x1ff}}, {0xfff, 0xffff, {0x1, 0x3f}}, {0x40c3, 0x3, {0x2, 0x4}}, {0x81, 0x2, {0x3, 0x24}}, {0x1, 0xc, {0x1, 0x4}}, {0x4, 0x9, {0x2, 0x7}}, {0xffff, 0x20}, {0x3f, 0x6, {0x3}}, {0x5, 0x7, {0x0, 0xd83c}}, {0x0, 0x3f, {0x2, 0xbe}}, {0x0, 0xffff, {0x3, 0xf8ee}}, {0x4, 0x4, {0x0, 0xc36e}}, {0x1, 0xffbe, {0x0, 0xedc}}, {0x6, 0xfff9, {0x1, 0x7ff}}, {0x0, 0x5, {0x2, 0x8}}, {0x8, 0x1, {0x0, 0x7}}, {0x4, 0xff, {0x2, 0x6}}, {0x0, 0x5, {0x2, 0x171}}, {0x7, 0x20, {0x3, 0x5}}, {0x400, 0x3, {0x0, 0x8}}, {0x1f, 0x4, {0x1, 0x5}}, {0x40, 0x20, {0x0, 0x7fffffff}}, {0x81, 0xfff8, {0x2, 0xfffffffa}}, {0x8, 0xf0b, {0x0, 0x100}}, {0x3f, 0x5, {0x1, 0xfc0}}, {0x0, 0xe3f, {0x2, 0x6}}, {0x1, 0xff91, {0x0, 0x1000}}, {0x522, 0x4d67, {0x0, 0x8}}]}}}, {{0x254, 0x1, {{0x1, 0x8}, 0x54, 0x0, 0x1, 0x0, 0x1, 'syz0\x00', "2ead097b6df23bc9a1bdb9a61e6674f1a1de4d071221b6ee0ebee5949ff9c3da", "b8269cc96808663bca1302282c763c198c2c553f380c2a8a454239cc6d87c4d9", [{0x2, 0x780, {0x2, 0x7}}, {0x8000, 0x3, {0x3, 0x6}}, {0x1400, 0xdd6, {0x0, 0x1}}, {0x0, 0x7f37, {0x1, 0x9}}, {0x7fff, 0x5, {0x1, 0x7}}, {0x400, 0x0, {0x1, 0x5}}, {0x43eb, 0x9, {0x2, 0x2}}, {0xffc1, 0x1ff, {0x0, 0x400}}, {0x40, 0xff7e, {0x3, 0x67d}}, {0x9, 0x9, {0x3, 0x2}}, {0x3, 0x1f, {0x1, 0x9}}, {0x6, 0x200, {0x2, 0x2b9}}, {0x63, 0x1, {0x2, 0x4}}, {0x0, 0x8, {0x1, 0x8}}, {0x1, 0x8, {0x2, 0x4}}, {0x9, 0xff19, {0x3, 0x1ff}}, {0x3, 0x1, {0x2, 0x2}}, {0x7, 0x5, {0x1, 0x5}}, {0x7, 0xcd, {0x3, 0x7f}}, {0x1, 0xfffc, {0x0, 0x5}}, {0xd0, 0x40, {0x1, 0x6}}, {0x9, 0x1, {0x1, 0x40000000}}, {0x33, 0x1, {0x0, 0xfff}}, {0x81, 0x6, {0x3, 0x8}}, {0x0, 0x4, {0x2e14c66e11d33b5c, 0x9}}, {0x8, 0x9, {0x0, 0x5}}, {0x7ff, 0x6, {0x1, 0x40}}, {0x8, 0x2, {0x3, 0xd1}}, {0x4, 0xfa74, {0x3, 0xbe}}, {0x40, 0x100, {0x1, 0xffffffff}}, {0x1, 0x3, {0x0, 0x8}}, {0x1000, 0xfe01, {0x0, 0x2}}, {0x274, 0x622, {0x1, 0x9}}, {0x401, 0xa0ac, {0x1, 0x80}}, {0x0, 0x8f, {0x1, 0x80}}, {0x2, 0x800, {0x0, 0x4}}, {0x9, 0x0, {0x0, 0x6}}, {0x5, 0x4, {0x2, 0x1}}, {0x8, 0x0, {0x1, 0x2}}, {0x3ff, 0xfffc, {0x1, 0x3}}]}}}, {{0x254, 0x1, {{0x1, 0x2}, 0x8, 0xff, 0x8001, 0x1, 0x7, 'syz1\x00', "aedfcdfa1781780d3626591c073f1a9090e5282cb7609755129c0bdb10a76b43", "d96a9681285ab80758b9065f7234c9e33e8333c6d05070beaaee805787a59c5c", [{0x5, 0x8000, {0x0, 0x273}}, {0x9, 0x2, {0x1, 0xff}}, {0x8, 0xd95f, {0x1, 0x400}}, {0x4, 0x4, {0x0, 0x4}}, {0x2000, 0x7, {0x0, 0x1}}, {0x5, 0x81, {0x2, 0x7}}, {0x7, 0x5, {0x2, 0x2}}, {0x12, 0x8, {0x2, 0x4}}, {0x60, 0x3d0f, {0x1, 0x7}}, {0x81, 0x7, {0x1, 0x5a0732b9}}, {0x0, 0x4, {0x0, 0x1}}, {0xfff9, 0x1000, {0x0, 0x80}}, {0xcad7, 0x200, {0x3, 0x6}}, {0x3, 0x101, {0x3, 0x6}}, {0x1, 0x401, {0x0, 0x8}}, {0x4, 0x3ff, {0x3, 0x4}}, {0x4, 0x8001, {0x2, 0x80000001}}, {0x2, 0x4}, {0x4, 0x7ff, {0x1, 0x2916}}, {0x2b, 0xfff, {0x3, 0x45b}}, {0x5, 0x3, {0x1}}, {0x8, 0x5, {0x3}}, {0x80, 0x9, {0x2, 0x10001}}, {0xff, 0x9, {0x3, 0x4}}, {0x9, 0x40, {0x3, 0x800}}, {0xf7f2, 0xfc00, {0x2, 0x7}}, {0x7, 0xfc01, {0x1, 0xffff}}, {0x8, 0x7fff, {0x0, 0x1}}, {0x4, 0x7f, {0x4, 0x4}}, {0x7, 0x7, {0x1, 0x6}}, {0x800, 0xf7c1, {0x3}}, {0x1, 0x8, {0x3, 0x4}}, {0x7, 0x5, {0x3, 0x200}}, {0x8, 0x54a5, {0x1, 0x1ff}}, {0x9, 0x800, {0x3, 0x9}}, {0x6, 0x3ff, {0x1, 0x1}}, {0x1, 0x3, {0x3, 0x8}}, {0x3f, 0x9bae, {0x3, 0x1000}}, {0x1ff, 0x9, {0x3, 0x8001}}, {0x4, 0x1, {0x1, 0x2}}]}}}, {{0x254, 0x1, {{0x0, 0x8001}, 0x1, 0x7f, 0x3ff, 0x7, 0x19, 'syz0\x00', "bcbad637ce1719d3aa72a804baca6062d0bed5298a0e7cfb45061b5007faf9f0", "8117518a3b0c6e1f8c9b3e45df97c44f598850ce0d115c22d9053811987f2d02", [{0x3, 0x8000, {0x2, 0x46}}, {0x0, 0x5, {0x2, 0x8}}, {0x400, 0x6, {0x1, 0x2a}}, {0x6, 0x101, {0x2, 0x2a57e802}}, {0x6, 0x9, {0x2, 0x2af}}, {0xffff, 0x1, {0x2, 0x1}}, {0x1, 0x0, {0x0, 0x40}}, {0x6, 0x7, {0x3, 0x1ff}}, {0x7fff, 0x7, {0x0, 0x3}}, {0x3ff, 0x9, {0x0, 0x9}}, {0x9, 0x3, {0x2, 0x8}}, {0x2, 0x1ff, {0x1, 0xfa74}}, {0xc6f, 0x401, {0x2, 0x9}}, {0x40, 0x1, {0x0, 0x7f}}, {0x9, 0x8, {0x1, 0x949d}}, {0x4, 0x296, {0x2, 0x54}}, {0xffff, 0x80, {0x0, 0x8}}, {0x3, 0x8, {0x3, 0x1000}}, {0x8, 0x6, {0x2, 0x9}}, {0x5, 0x4, {0x3, 0x5}}, {0x0, 0x1f, {0x2, 0x100}}, {0x9, 0x40, {0x1, 0x8}}, {0x1f, 0x401, {0x2, 0x40}}, {0x7fff, 0x9}, {0x3, 0x2, {0x2, 0x4a0a}}, {0x0, 0x3ff, {0x0, 0xffff0001}}, {0x8, 0x3f, {0x2, 0x1000}}, {0x0, 0x68fa, {0x2, 0x80000001}}, {0x8, 0x3, {0x1, 0x5}}, {0x3, 0x5, {0x3, 0x1}}, {0x2, 0x7, {0x2, 0x4}}, {0x6, 0x5, {0x2, 0x5}}, {0x7, 0x1000, {0x0, 0x9}}, {0x100, 0x7f, {0x2, 0xd075}}, {0xffff, 0x8, {0x1, 0x1000}}, {0x80, 0x0, {0x2, 0x7ff}}, {0x79, 0x2, {0x0, 0xdc6c}}, {0xffff, 0x8001, {0x1, 0x80000000}}, {0x8000, 0x1, {0x0, 0x800}}, {0x0, 0x9, {0x1, 0x7}}]}}}, {{0x254, 0x1, {{0x3, 0x1ff}, 0x2, 0x4, 0x800, 0x7, 0x1e, 'syz1\x00', "ec26b58a4df3f583c2402f3ad80f081dea5a5d42f523d1fad49b1ef4ef70962d", "0e53fde3c277d12f4b57bb6e722ad49cc28a843bbd1e9a1eaf70f9bcbd1a39aa", [{0x3, 0xfff8, {0x0, 0x6}}, {0x0, 0x76, {0x3, 0x4048a0c6}}, {0x20, 0x6, {0x3, 0x80000000}}, {0x8, 0xfe00, {0x3, 0x3f}}, {0x5, 0x20, {0x2, 0x6}}, {0x6, 0x2, {0x3, 0xe5c}}, {0x1, 0x2, {0x3, 0x8001}}, {0x8000, 0x2a9f, {0x3, 0x3}}, {0x80, 0x7, {0x3}}, {0x4e72, 0x8, {0x2, 0xff}}, {0x8000, 0x9, {0x0, 0x8000}}, {0x8, 0x0, {0x2, 0xbac8}}, {0x3ff, 0x0, {0x1, 0x1f}}, {0x5, 0x0, {0x2, 0x370}}, {0x0, 0x8, {0x2, 0x6f15665}}, {0x3, 0x20, {0x2, 0xfffff001}}, {0x59e, 0x7, {0x3, 0x5}}, {0xb35, 0x2, {0x2, 0xffffff89}}, {0x5, 0x3, {0x1, 0x3}}, {0x8, 0xb0, {0x2, 0x2}}, {0x0, 0xa93c, {0x1, 0x1ff}}, {0x0, 0x1, {0x1, 0x1}}, {0x71, 0x2, {0x0, 0x3}}, {0x3, 0x3, {0x2, 0x1}}, {0xffff, 0xb2, {0x1, 0x8}}, {0xce7, 0xaed0, {0x3, 0x5}}, {0x400, 0x2, {0x0, 0xffffff7f}}, {0x3, 0xa8, {0x2, 0xffff}}, {0x9, 0x8, {0x0, 0x1f}}, {0x1, 0x1ff, {0x2, 0x9}}, {0x200, 0x1, {0x0, 0xfffffffb}}, {0x32f, 0x5, {0x0, 0x9}}, {0xd800, 0x9, {0x1}}, {0xfeff, 0x8, {0x3, 0x4}}, {0x3ff, 0x7fff, {0x0, 0x80000001}}, {0x4800, 0x734, {0x2, 0x2}}, {0x3, 0x9, {0x3, 0x6}}, {0x20, 0x1, {0x2, 0x1}}, {0x1000, 0x1, {0x2, 0x2}}, {0x9, 0x8000, {0x1, 0x81}}]}}}, {{0x254, 0x1, {{0x3, 0xfffffffe}, 0x2, 0x6, 0x401, 0x5, 0xb, 'syz1\x00', "45c682a5b4f990f89e6400be2e2ecd7cf0a7bc18ba2220da843ea4c2d7225672", "85722a2292c971cccd71e1804287e5b59dd5723e6d5d6e8f0860e9cdfdcd6192", [{0x5, 0x7, {0x3, 0x8080000}}, {0x21b, 0x9, {0x0, 0x5}}, {0xfc9f, 0x200, {0x0, 0x6}}, {0x5, 0x3, {0x3, 0x401}}, {0x7fff, 0x9, {0x1, 0x4}}, {0x1000, 0x3ff, {0x3, 0x10001}}, {0x3, 0x7, {0x2, 0x6b}}, {0xf03, 0x3, {0x0, 0x2}}, {0x101, 0xfffe, {0x2, 0xaf4}}, {0x7, 0x3b8, {0x0, 0x2}}, {0x40, 0x2, {0x0, 0x8c}}, {0x8, 0x5, {0x0, 0x7}}, {0x5, 0x3, {0x3, 0x7fff}}, {0xfffd, 0x1, {0x1, 0x5}}, {0x7, 0xbb79, {0x3, 0x3ff}}, {0xe1af, 0x4, {0x2, 0x37}}, {0xfff7, 0x4, {0x2, 0x9ac}}, {0xa6b7, 0x7ff, {0x3, 0x4}}, {0x81, 0x80, {0x3, 0xc99}}, {0x5, 0x8, {0x1, 0x1f}}, {0x81, 0x7, {0x0, 0x7fff}}, {0x1, 0xf1, {0x2, 0x7fff}}, {0x4, 0x2, {0x2, 0x6}}, {0x4, 0x3, {0x1}}, {0x4, 0x40, {0x1, 0x7ff}}, {0x1, 0x6, {0x2, 0x8}}, {0x1f, 0x4, {0x0, 0x8}}, {0x7, 0xf7, {0x3, 0xfffffffc}}, {0x40, 0x1, {0x1}}, {0xf4, 0x401, {0x1, 0x4}}, {0xfff, 0x6, {0x3, 0x10001}}, {0x4, 0x8001, {0x0, 0x6}}, {0x1, 0x3ff, {0x0, 0x8}}, {0x7, 0x3, {0x2, 0x9}}, {0x9, 0x2, {0x2, 0x4}}, {0x1, 0x0, {0x2, 0x1}}, {0x0, 0x7fff, {0x0, 0x1}}, {0x71c, 0x5, {0x1, 0x3}}, {0xaa, 0x81, {0x2, 0x6c}}, {0x9, 0x100, {0x2, 0xfe1}}]}}}, {{0x254, 0x1, {{0x0, 0x1}, 0x41, 0x3, 0x8d4, 0x18, 0x23, 'syz1\x00', "554bb4fa7f6087716464bf28fe191ad9369dd37d279754e682dd4fe2260a30aa", "ad5b428396687c62709be8f689a6971df76d80d0c332e7f9fb7a1046a6fab629", [{0x8000, 0x81, {0x1, 0x80}}, {0x2, 0x9, {0x2}}, {0x5, 0x1, {0x1, 0xffffffff}}, {0x8, 0x6dc9, {0x3, 0x1000}}, {0x0, 0x7ff, {0x2, 0x9}}, {0x1000, 0x4, {0x3, 0x401}}, {0xff, 0x1, {0x0, 0xff}}, {0x401, 0x1000, {0x2, 0x92}}, {0x4574, 0x0, {0x2, 0xfffff168}}, {0x80, 0x0, {0x1, 0x401}}, {0x1, 0x5c3, {0x2, 0xbe}}, {0x8000, 0xf45, {0x3, 0x1}}, {0x9, 0x40, {0x2, 0x9814}}, {0x2, 0x1ff, {0x0, 0x5}}, {0x346, 0x8, {0x0, 0x8}}, {0x5, 0x234, {0x3, 0x4}}, {0x100, 0x45a, {0x1, 0x1}}, {0xffc0, 0x3, {0x2, 0x4}}, {0x5, 0x3, {0x3, 0x1000}}, {0x2, 0xdd2, {0x2, 0xd6e}}, {0x1, 0x0, {0x1, 0xffff}}, {0x1f, 0x78, {0x2, 0x9}}, {0x9, 0x2, {0x1, 0xfffffffc}}, {0x3, 0x8, {0x2, 0x73}}, {0x4, 0xf4e1, {0x3, 0x9fb}}, {0x3ff, 0x6, {0x1, 0x9}}, {0x8f9a, 0x7, {0x1, 0x4}}, {0x3, 0x400, {0x1, 0x6}}, {0x3, 0x1000, {0x0, 0x3}}, {0x9, 0x3, {0x0, 0x4785}}, {0x81, 0x80, {0x1, 0xffffffff}}, {0xfff, 0x9, {0x0, 0x3f}}, {0x1ff, 0x5, {0x0, 0x6}}, {0xfff7, 0x5, {0x2, 0x400}}, {0x6, 0x8, {0x1, 0x800}}, {0x1ff, 0x401, {0x3, 0x10000}}, {0x3, 0x7fff, {0x2, 0x3}}, {0x8, 0x20c9, {0x527e24ee66f4b04a, 0x3}}, {0x3, 0x9, {0x2, 0x8}}, {0x7, 0x686, {0x2, 0x3f}}]}}}, {{0x254, 0x1, {{0x3, 0x3}, 0x8, 0x1, 0x5, 0x4, 0x19, 'syz0\x00', "96a1340f41bab900b44a26f5bff66ced442b47c5297954daf2ed25b54bd636cc", "ebc99569261587456726c43565d515d68cbab73bb07aee342caafcbf85206d9f", [{0x3, 0xfffc, {0x2, 0x40}}, {0x72dd, 0x8001, {0x3, 0x9cd3}}, {0x979, 0x3ae2, {0x2, 0x7}}, {0x1, 0x101, {0x1, 0xb33}}, {0x9, 0x5, {0x0, 0x4}}, {0x401, 0x3, {0x3, 0x7}}, {0x1, 0x9, {0x2, 0x10001}}, {0x25b2, 0x9, {0x3, 0x6}}, {0x7, 0x7fff, {0x2, 0x2}}, {0x7fff, 0xffc1, {0x0, 0x10000}}, {0x0, 0x1, {0x2, 0xff}}, {0x2, 0x7ff, {0x3, 0x400}}, {0x5, 0x81, {0x1, 0x7232}}, {0x100, 0x1ff, {0x3, 0x3}}, {0x3}, {0x6, 0x401, {0x3, 0x9}}, {0xf0a, 0x3, {0x1, 0x40}}, {0xd049, 0x1e, {0x1, 0xfffffffc}}, {0x4, 0xfffd, {0x3, 0xc0000}}, {0x1, 0x4, {0x1, 0x7f}}, {0x21, 0x4, {0x1, 0x4}}, {0x7, 0x8, {0x1, 0x53e7}}, {0x1, 0x81, {0x0, 0xffffffff}}, {0x6, 0xff, {0x2, 0x1000}}, {0x8, 0x2, {0x1, 0xfc}}, {0xff, 0x101, {0x0, 0x6}}, {0xff01, 0x0, {0x3, 0x6}}, {0x401, 0x6, {0x1, 0x7}}, {0xb7, 0xfffa, {0x1}}, {0x3, 0x1, {0x2}}, {0x4, 0x5, {0x0, 0x1f}}, {0xff81, 0x6, {0x1, 0x8}}, {0x7, 0x7, {0x1, 0x1}}, {0x2, 0xc9d, {0x3, 0x10000}}, {0x40, 0x1, {0x1, 0x80000001}}, {0x200, 0x1f, {0x0, 0xbe}}, {0xbe, 0x6, {0x996c774567bdb3e, 0x40}}, {0x5, 0x8, {0x1, 0x92a}}, {0x7, 0x56, {0x2, 0x80000000}}, {0x8000, 0x86f7, {0x1, 0xe7}}]}}}, {{0x254, 0x1, {{0x1, 0x100}, 0x9, 0x5c, 0x2, 0x20, 0x3, 'syz1\x00', "f9792c8c2efc4ee8618aecc79b14e1944b8a2aa35b73b3874829f22a48735dae", "4548481306bd36f0a2a3c194e26891d57ce57814be3d0a996ed2057ac982cb79", [{0x2fc1, 0x0, {0x3, 0x80000000}}, {0x1ff, 0xffff, {0x2, 0x1ff}}, {0x9, 0x1, {0x0, 0x1}}, {0x401, 0x6, {0x2, 0x8000}}, {0xffff, 0x9436, {0x3, 0x2}}, {0x18, 0x1, {0x0, 0xfffffffc}}, {0x2, 0x7064, {0x3, 0x7ff}}, {0x5, 0x6, {0x3, 0x2}}, {0x7fff, 0xf01, {0x3, 0x3}}, {0x5, 0x8, {0x0, 0x1f}}, {0x8, 0x8000, {0x0, 0x1}}, {0x2, 0x9, {0x2, 0x8df}}, {0x400, 0xa2b, {0x3, 0x8}}, {0x2, 0x2, {0x3, 0x8}}, {0x4, 0x6, {0x1, 0x5}}, {0x1ff, 0x2, {0x3, 0x835}}, {0xa2b, 0x40, {0x3}}, {0x0, 0x7, {0x1, 0x108}}, {0x7f, 0x2, {0x3, 0x20}}, {0x9, 0x401, {0x1, 0x4}}, {0x101, 0x2, {0x2, 0x100}}, {0x9, 0x1, {0x0, 0x2ab0}}, {0x9, 0x1000, {0x1, 0x3}}, {0x7, 0x3, {0xc2c8b648a1dbebdf, 0x6}}, {0x7fff, 0x4, {0x1, 0x4b14}}, {0xfff8, 0x7fff, {0x1, 0x9}}, {0x2d, 0x6, {0x1}}, {0xfeff, 0x8, {0x3, 0x7}}, {0x200, 0x3, {0x2, 0x7}}, {0x1000, 0x8000, {0x2, 0x20}}, {0x3, 0x6, {0x2, 0x7fffffff}}, {0x100, 0x9, {0x2, 0xfb}}, {0x81, 0x669, {0x2, 0xfffffffa}}, {0x100, 0x7ff, {0x1, 0x2}}, {0x8, 0x100, {0x0, 0x6}}, {0x9, 0x7ff, {0x0, 0x1f}}, {0x7fff, 0x4, {0x2, 0x8}}, {0x12, 0x101, {0x2, 0xfffff801}}, {0xed, 0x40, {0x2, 0x85ae}}, {0x2f8, 0x1c42, {0x2, 0x2}}]}}}]}, 0x1508}, 0x1, 0x0, 0x0, 0x40000}, 0x40091) r4 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r4, 0x0) write$RDMA_USER_CM_CMD_CREATE_ID(r0, &(0x7f00000000c0)={0x0, 0x18, 0xfa00, {0x0, &(0x7f0000000040)={0xffffffffffffffff}, 0x13f, 0x5}}, 0x20) write$RDMA_USER_CM_CMD_BIND(r4, &(0x7f0000000100)={0x14, 0x88, 0xfa00, {r5, 0x1c, 0x0, @in={0x2, 0x4e24, @local}}}, 0x90) sendfile(r0, r0, 0x0, 0x2008000fffffffe) prlimit64(0x0, 0x0, 0x0, 0x0) keyctl$KEYCTL_MOVE(0x1e, 0x0, 0xfffffffffffffffc, 0xfffffffffffffff8, 0x0) 13:36:45 executing program 5: r0 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x40, 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x3d, r3}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r4}, 0x2c, {'wfdno', 0x3d, r5}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x20, &(0x7f00000000c0)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r1, @ANYBLOB=',root\t\x00\x00\x00\x00\x00\x00\x0000000000000000100000,user_id=', @ANYRES16=r5, @ANYBLOB=',group_id=', @ANYRESDEC=0x0, @ANYRES16=r0]) read$FUSE(r1, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r1, &(0x7f0000000040)={0x50, 0x0, r6, {0x7, 0x1f, 0x0, 0x10400}}, 0x50) truncate(&(0x7f0000000140)='./file0\x00', 0xc0) dup3(r0, r1, 0x0) 13:36:46 executing program 5: r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000040)={0x5, 0x10, 0x3f, 0x0, 0x10, 0xffffffffffffffff, 0x0, [], 0x0, 0xffffffffffffffff, 0x2}, 0x40) bpf$MAP_LOOKUP_ELEM(0x1, &(0x7f0000000180)={r0, 0x0, 0x0}, 0x20) bpf$BPF_PROG_GET_NEXT_ID(0xb, &(0x7f0000000000)={0xe9dd}, 0x8) 13:36:46 executing program 5: r0 = syz_open_dev$sndpcmc(&(0x7f0000000300)='/dev/snd/pcmC#D#c\x00', 0x0, 0x0) ioctl$SNDRV_PCM_IOCTL_HW_REFINE(r0, 0xc2604110, &(0x7f0000000040)={0x0, [[0x2], [0xb04a], [0x23]], [], [{0xb, 0x28}, {0x0, 0x19}, {0x0, 0x0, 0x0, 0x1}, {}, {}, {0x0, 0xfffffffe}, {0x0, 0xfffffffe}], [], 0x400}) ioctl$SNDCTL_DSP_SETFRAGMENT(0xffffffffffffffff, 0xc004500a, &(0x7f0000000000)=0x4) 13:36:46 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) ioctl$SNAPSHOT_S2RAM(0xffffffffffffffff, 0x330b) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x1d7) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000340)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r6, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) r7 = openat$hwrng(0xffffffffffffff9c, &(0x7f0000000580)='/dev/hwrng\x00', 0x4000, 0x0) sendmsg$TIPC_CMD_DISABLE_BEARER(r7, &(0x7f0000000680)={&(0x7f00000005c0)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000640)={&(0x7f0000000600)={0x2c, 0x0, 0x0, 0x70bd2b, 0x25dfdbfc, {{}, {}, {0x10, 0x13, @udp='udp:syz2\x00'}}, ["", "", "", "", "", "", ""]}, 0x2c}, 0x1, 0x0, 0x0, 0x801}, 0x40084) sendmsg$nl_route(r3, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000000c0)=ANY=[@ANYBLOB="2000000014000104000000000000000002000000", @ANYRES32=r6, @ANYBLOB="08000200ff"], 0x20}}, 0x0) sendmsg$nl_route(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000000c0)=@ipv4_newaddr={0x20, 0x14, 0x401, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, r6}, [@IFA_LOCAL={0x8, 0x2, @multicast2}]}, 0x20}}, 0x0) sendmsg$nl_route(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000140)=@ipv4_newaddr={0x20, 0x14, 0x401, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, r6}, [@IFA_LOCAL={0x8, 0x2, @rand_addr=0x400006}]}, 0x20}}, 0x0) r8 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000240)='/proc/bus/input/handlers\x00', 0x0, 0x0) ioctl$sock_ipv6_tunnel_SIOCGETTUNNEL(r8, 0x89f0, &(0x7f0000000280)={'ip6tnl0\x00', &(0x7f0000000380)={'sit0\x00', r6, 0x2b, 0x3, 0xff, 0x0, 0x52, @initdev={0xfe, 0x88, [], 0x1, 0x0}, @loopback, 0x700, 0x8, 0x101, 0x8}}) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000002c0)=@newlink={0x20, 0x11, 0xa2b, 0x0, 0x0, {0x0, 0x0, 0x0, r6}}, 0x20}}, 0x0) r9 = openat$hwrng(0xffffffffffffff9c, &(0x7f0000000300)='/dev/hwrng\x00', 0x14000, 0x0) sendmsg$DEVLINK_CMD_PORT_GET(r9, &(0x7f0000000540)={&(0x7f0000000400)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f0000000500)={&(0x7f0000000440)={0x84, 0x0, 0x400, 0x70bd27, 0x25dfdbfe, {}, [{{@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8, 0x3, 0x1}}}, {{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x3}}}, {{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x8, 0x3, 0x1}}}]}, 0x84}, 0x1, 0x0, 0x0, 0x4}, 0x10) 13:36:46 executing program 5: syz_open_dev$midi(&(0x7f0000000000)='/dev/midi#\x00', 0x200, 0x0) syz_open_procfs(0x0, &(0x7f0000000180)='mountinfo\x00') ioctl$TIOCGETD(0xffffffffffffffff, 0x5424, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe6000/0x18000)=nil, &(0x7f0000000200)=[@text16={0x10, 0x0}], 0x1, 0x0, 0x0, 0x0) syz_open_dev$media(&(0x7f00000001c0)='/dev/media#\x00', 0x0, 0x0) ioctl$TIOCSIG(0xffffffffffffffff, 0x40045436, 0xa) r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000480)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000080)=0xd) openat$audio(0xffffffffffffff9c, &(0x7f0000000180)='/dev/audio\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) clock_gettime(0x0, &(0x7f0000000240)={0x0, 0x0}) pselect6(0x40, &(0x7f00000001c0), 0x0, &(0x7f0000000140)={0x1ff}, &(0x7f0000000380)={0x0, r1+30000000}, 0x0) 13:36:46 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r2, 0x0) write$USERIO_CMD_SEND_INTERRUPT(r2, &(0x7f0000000240)={0x2, 0x1}, 0x2) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000004580)=ANY=[@ANYBLOB="440000001000010400"/20, @ANYRES32=r3, @ANYBLOB="0001000000000000240012000c000100627269646765"], 0x44}}, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r4, &(0x7f0000000080)={0x0, 0xffffffffffffff74, &(0x7f0000000040)={&(0x7f00000000c0)=@newlink={0x28, 0x10, 0x825, 0x0, 0x0, {0xa, 0x0, 0x0, r6}, [@IFLA_PROTO_DOWN={0x8, 0xa, 0x10}]}, 0x28}}, 0x0) r7 = socket$netlink(0x10, 0x3, 0x0) r8 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r8, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r7, &(0x7f0000000080)={0x0, 0xffffffffffffff74, &(0x7f0000000040)={&(0x7f00000000c0)=@newlink={0x28, 0x10, 0x825, 0x0, 0x0, {0xa, 0x0, 0x0, r9}, [@IFLA_PROTO_DOWN={0x8, 0xa}]}, 0x28}}, 0x0) 13:36:46 executing program 5: syz_mount_image$befs(&(0x7f0000000180)='befs\x00', &(0x7f00000001c0)='./bus\x00', 0x204, 0x0, &(0x7f0000000200), 0x0, &(0x7f00000006c0)) openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ubi_ctrl\x00', 0x20000, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r0, 0x0) seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000140)={0x2, &(0x7f0000000040)=[{0xfde, 0x96, 0x0, 0x3e4}, {0x6, 0x3, 0x5, 0x7}]}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f00000000c0)) 13:36:46 executing program 5: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x1e, &(0x7f0000000000)=0x1, 0x4) setsockopt$inet_tcp_TCP_REPAIR(r0, 0x6, 0x13, &(0x7f0000000040)=0x1, 0x4) setsockopt$nfc_llcp_NFC_LLCP_MIUX(0xffffffffffffffff, 0x118, 0x1, &(0x7f0000000080)=0x3, 0x4) connect$inet(r0, &(0x7f00000000c0)={0x2, 0x0, @remote}, 0x10) 13:36:46 executing program 5: perf_event_open(&(0x7f00000005c0)={0x5, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x20000, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext={0x2000, 0xffffffffffffffff}, 0x0, 0x400, 0x2, 0x0, 0x8, 0x4}, 0x0, 0x10, 0xffffffffffffffff, 0x0) mkdir(&(0x7f0000000400)='./file1\x00', 0x0) openat$fuse(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/fuse\x00', 0x2, 0x0) socket$inet6_tcp(0xa, 0x1, 0x0) openat$autofs(0xffffffffffffff9c, &(0x7f0000000240)='/dev/autofs\x00', 0x480002, 0x0) sendmsg$TIPC_NL_NAME_TABLE_GET(0xffffffffffffffff, 0x0, 0x0) mount$fuse(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0)='fuse\x00', 0x0, 0x0) open(&(0x7f0000000340)='./file0\x00', 0x420401, 0x82) perf_event_open(&(0x7f00000000c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41bd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={&(0x7f0000000300), 0x6}, 0x0, 0x0, 0x42, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = creat(0x0, 0x0) sendmsg$BATADV_CMD_GET_BLA_BACKBONE(r0, 0x0, 0x20040000) r1 = syz_genetlink_get_family_id$devlink(&(0x7f00000002c0)='devlink\x00') sendmsg$DEVLINK_CMD_SB_OCC_SNAPSHOT(r0, &(0x7f00000003c0)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x409000}, 0xc, &(0x7f0000000380)={&(0x7f0000000b40)=ANY=[@ANYBLOB="d400000086f6b1b6cf01b0126f4de401790f307c96b281669fee5f424b4f27b46cf0444157b9a7a51e595b4bcbcba725a83d57e659b3a229420000000000008000a29621c1af96bf1072dbd1c4199680e4e23d85897e0139f89f060000000000000000a38b706927c063622d2509a16b74ae0ab193502b873174e66d3edf625d61bd586a78c186214916588bc8559d4a497a71a7c93b407b55279794a1637c47e5e44ef49042c9ed3b1cb9b9378bd64ddf4e622b42a70d810702e2080c1c7a6035c033b5b0a917dd6c51154f1a4e0343dc82c87b99e3a04b8a8bfe1a006c55a823d0b50609a60eacbd9e190ee6ad285e61d1474c72584d6370ffa8b11bd217c691140e577fbf3652c9c81768e78a8ce3d2fd620e", @ANYRES16=r1, @ANYBLOB="02002cbd7000ffdbdf251b000000080001007063690011000200303030305e8ef7574032a0ea7ea6c1e7de26af3a302019f84fe4300000000008000b00040000000e0001006e657464657673696d0000000f0002006e657464657673696d30000008000b00fbefffff0e0001006e797464657673696d0000000f0002006e657464657673696d30000008000b0000000000080001007063690011000200000030303a30303a31302e300000000008000b00010400000e00020036dcfeed13dae3676d0000000f00ec02006e657464659a4947c8cbb8552932fec6c436c2e63ef1faac19f30e81a06def19ab4ecbbba71d11cd6e57a852372c392ec61b8f754ae93ff15efa6b3988adc2bd09da500eb3f0b56b21362891c072095caea9a29025e3f4f5a2ede86dea4095df4d127799198635bbf6789757ce815695d5ad5873861113b137d4f4df13373db5179ad960fa8991091b664f858605c13e08de6b3a52fd7db00e5c189d7ffd3a0414b5d825ffcf3a0ce69e6506253b3d6ece0a59"], 0xd4}, 0x1, 0x0, 0x0, 0x410}, 0x4040) r2 = syz_open_dev$loop(&(0x7f0000000000)='/dev/loop#\x00', 0x0, 0x0) ioctl$BLKTRACESETUP(r2, 0xc0481273, &(0x7f0000000040)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa], 0x0, 0x4, 0x1fc, 0x81}) ioctl$BLKTRACESTART(r2, 0x1274, 0x0) sysinfo(0x0) ioctl$BLKTRACESTOP(r2, 0x1275, 0x0) ioctl$BLKTRACETEARDOWN(r2, 0x1276, 0x0) 13:36:46 executing program 5: mkdirat(0xffffffffffffff9c, 0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = openat$ptmx(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/ptmx\x00', 0x0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, 0xffffffffffffffff, 0x0) setsockopt$inet_sctp6_SCTP_RESET_ASSOC(r2, 0x84, 0x78, &(0x7f0000001700), 0x4) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r2, 0x0) ioctl$TCSETS(r2, 0x40045431, &(0x7f00000004c0)={0x20, 0x0, 0x1, 0x1000000, 0x1c, "0000000000000000075f8ef8312cf28a00"}) r3 = syz_open_pts(r1, 0x0) ioctl$TIOCSETD(r3, 0x5423, &(0x7f0000000040)=0x15) r4 = syz_open_dev$vcsu(&(0x7f0000000000)='/dev/vcsu#\x00', 0x0, 0x0) r5 = socket$netlink(0x10, 0x3, 0x0) r6 = socket(0x10, 0x2, 0x0) getsockname$packet(r6, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r5, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000600)=ANY=[@ANYBLOB="48000000100005470000", @ANYRES32, @ANYBLOB="0000000000000000280012000900010076657448f949172c6b1bcf954f885a252d2d53d7d64a275e8f4764060f9206f27ee803636f6a93b78354848160f68fb6d6764fd967124723c3ba7aa02b52318d15562e52de9b8703838f13e70e8559ef9576dc611578c457f188c61d3b82557e2e2cd16678314e4f7e7210589be223b33a0a6b405a88c58dfc17f52665686d09317c4dfa7ffb7ee1819243c9fcfbd0bc4b6ccd59e3a8c2e381ac296546b4b9ebe571420164997a9b8514a7079b2be7eb8aea96a97f501fa97e5645896422"], 0x48}}, 0x0) sendmsg$nl_route_sched(r5, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000500)=ANY=[@ANYBLOB="38000000006343f0d031d7d8b0e53506ca28fd4d85dfccb286bf13572e1e2afb2ca550de0eb81245ec17c7029b0dcea04ba82e326eeb4b40eeaec1baa31f7ab46f5f03d56d0e21ceb56b01", @ANYRES32=r7], 0x38}}, 0x0) write$RDMA_USER_CM_CMD_JOIN_IP_MCAST(r4, &(0x7f00000000c0)={0x10, 0x30, 0xfa00, {&(0x7f0000000080), 0x2, {0xa, 0x4e24, 0x0, @dev={0xfe, 0x80, [], 0x31}}}}, 0x38) syz_mount_image$f2fs(&(0x7f0000000140)='f2fs\x00', &(0x7f0000000240)='./file0\x00', 0x1, 0x5, &(0x7f0000000440)=[{&(0x7f0000000280)="fd72d471ba0b2593909e7a04b974ecaede2ba45414af776df5d8b4373f9798db8335ee654da5709a30e0df3415a377e3096a84bbf4e6013236266a964ef6bc4e52cc03811d663f871c37c432acab156602ef656faa24414b2eb22f9120cefabd0227d0d72b0c111d131c8c207ff6345dd541e0a6a9604589645804ae8c", 0x7d, 0x7}, {&(0x7f0000000700)="50d74397682c03b92d69c82e53248b39a3b7093e17b553371591f7dd58a9efd0ba9e034f5ada81524a9177861378ecba83e1290f7afd8489a49e7eac672cad5bd866ef4262c4ff1cb18154b4906b96ef8a65a023010e682fa5bcc10af111e0ed2d9900a20e5067a3c32ec96dc437430ed6f2953f25c70c2e72a1890e9fceea95692b44c21298b2d83e5febe41f4160a9bec42f856ba0f489cc00096341bea3624e1f454a7539c66a6a60c3f5c58c281f226c226128d4672721a3acdd5011a4bf6888005435538bebfaca898359e9af04da81285a986d7c79ed9761097f44ecf6ff340f924e287dcd65e5adf2c4503cc2bd05036c61ac1f33e479d423d9e31e9274d62512fbeb7b6915a7a4cd3a51ad1f0a8650ffd551ed66d9762d0908b1c0ddac2395a84de267ed36101e43ba07f5ab12b23b9402c056a13c5aa5cb369dec860fd77eaaec64dbf740c329fd244013b12817f129586e36f8d667564f2b852a16fa3e676bc07b522aad8e41423666aa7a55c25c20a3e74ce4513177891002f12098a7494c989eabcdf17ce468877510895e7a2f89183464fdb59c4cdcc5a987ad2150949b92477dd524fbb0afa80dfd59d996a521cfb7edcbe157062fcab718753ade650e8a5102fcba5fa235b38e77921f6e8f865b1b8a410cc64886f62e5a6a0f0015b9f8137235edda454034249901a576a1056a0360bd64fec03028b2b68a672e9f334c40e035d75b5ddd8e5d9e127975085c396581c95fd2f6f69a3dd3cb854a0e6c369a839911efdd30f86d216a02ee6ec45b7d7488bc30cd216a8ade21b724d04eb08fe1d69871b77a0d174496e65561e202f013684ebb80dd0b739c63896bae5a555b2864629e96aa73b7becece037c7f2114b268bba46c9aec263765185811b7fa243a9776c8b88b01fcbc7401c1b6c44a1d284f6b6f284c9435d1e9ef4ebd924d1750167f0950dc475b991213c27496aafb762392e606a1c189fa2bf3d938b372365ab0f9abc5ca660dc6ef67d01d8ad69680759d446d42039d23e1bd6331a21e0ef3c9a0f7aa68c857d8192f3f85805aed9c3e36f73e87ffd787e721eac1163f316dca1e27f486bd50d2d8f68a8fc708b46802d88338adef321d079b79ca3dafc4517b94e95550e04a41ad4daea5a7dab213713173f85d75e463219e1180bdedd84bd96d69229272a64d9c26bb9031facfc3c5506c95905e2baab86c0c675ccd7d5a280ff289bb2fb992a7eada6a84ab42c102da8fa79e5b34946bf164acca618902e978dae726a1e2d2491754ed147851c576f11c94ef28ed83cc4c7f6ba22825146913946d4d8ca8e7f901e17815008410267ed6587c61727293507b2e3411fc2523b2d3283c086b0450ed50fadb9bbf1babe27134d5cc582e5e97b11db629816471f182adf5b71426825beced4ad7830ca966ecd370115005f96ac3da18c7d8c2c13ae6a6e695fd31607ec60c90cd2cfc4f222457be3ed6c60db65c991a190bb023627bb9eb3c66c43c762aff26593a065d42dc704c7e3bb451ad62679dba4ce8014b77b42d820fe608974016ebc04d96afd82e994a452831b4cac6efdc72db049a21ad4a23edfd3e232e7468a0c14f47b9fa06e923f8038417f1f847a11e2fdcd3f1b8c0a00c7d9e965960280748d611be1946fc52b18003896de7a39da359285ee8a896a1066c846a22ae626e933b8e6324947279c0290c7165b03bce7029e872c51580cc3420414197cdfa4f49c465e1c81e6e15633fd01da9ff07f5ffd55691749afc35d289cd2f1f4d7567d452d1cfe11ace422a88fe16d1187e3b6227998bb3b6c91bcbaa6218bbde5a84133efb55a74188676f9028253ab67a7ec628ddf6fae8efbdcc04c62eddd4e76fb199804d67d0bdbd89604882a0a7cd1d354c04a655ec4438a35654e49133e2c18b578b1ef88afeb30509f707f35956551c2e18b4d7ccb4569b1800273f5a8df890dadedd1e595a39550a04d99cf8b2186512cbdba35056ca6d3ab1d1c5969f215432a00e47ea1635846f9e3da8da1e15e093af7f273cd96ef9fe1d2a45fd199d6d671f78ca7d39f4cdb025f0768a0a30eced649e56ad4fa23252d0f64bd035e611322bc3016db3dc01c88b33a544985cd84baddebbaf440ff73588e87196137f47c54b48ad0889242355551aaf8bf09d8ce8bbe4644e675bea1282fff74a2e7fbf724e18610c332a8e3e3eb393ea136b813962ad28d07e90d374e015753491153de2d3bf672ebebc16fa635de0fa8b11f1150b71cf15c675d1afe3a36e8df1a4a041f66a93295d5688a94fbea76c4caa994d18c6059e7093b0376a75cd00ea2482187d3bd92e8af22d6225b784d874a70340fe4158d84596a01a477a049b1f0b526b700db8139dd405228c5f332d345a6e3c33ec85fb1798446b78367ebfc5de63764288adc0861f962ab3e7f034da8b797202402515a027f10bd35364df2bcc7f33a75fa440d148a5b76ac1ef93715416ee051c7cc20dc059a05fe493cd4ce032ea09c724b701f590fbbff6d01434b7d86f2334f144aa9091a7bf78c812fa84d91b4ce078d7c72784f683e7b033189ea8a8e4132de2d9674acf80d6808d395c30e71a2acb96e5e1d0a49189157c2a91ea9473475a63649046e32a83ab55625f63c2e5ec8c9e57f1fed0c6b4bcedc853cc3acda9215c452801eac10b9c01f160e895a3bf078d06e023d85ca42b477eb14c5f0f7723c8ec57f7f391038c6c482541838e66111695cef6e89ce722d2b954575612c5fafd4b412a59061e9316efbfb1fa5b2c7783ae1ca13b726c8fd415e20c7b2b1a54611722379752f2427e2d6a665850209a804ef632f6e5704c17f890de4a0e4ab0fa0a3f83578830588fb5c586b7fc4c0692f7912ff7dd08bfb1e32d73e2693003fe26fbf3ad2504f4e9b2a21ef8e7eeb12a397741b6983602d242e6723db9a28ec879fa7a54edcfb7e5192ad1d46ce680e1beda30d602251b19ea12a8dec5d6da10a6dd16598c021f29fc715736dc2150e48787e69cfdda0e9bf3ee481fa7493af3f9420380d0beffea6d87c61a532eb55487d367409e55f5af6d72994a42cc8f851ed95404eed1d9bd5cbc93201f76a5e18502525a5071fe177d393b4cf55e7bd88b667ed98c0b7513775a954ec1a6ee5753d3ea7a18ae8adfc0890dc9c060cae7175e540bb03f6c7af997fb89b70448df5445855c4fd6cbb62530ab6499a8f9e016ef107970ea0c6b224afc4f57c75d4dce0f610fb6bc5d8ce92302baa481471e2a3cfda82e5bc8849046a4b66a17f18a1dbc25a7951539ce752c1420380c0351512b83150afd162d9ec11a199d5de35f101fb1e416dc6229393018d7f0e8a88da1177a90bb96f367f91cfdb1a6e98edc0537d8d64f5c1753e0d5e07b6acd66fa75192fa614c5ec0920cc0a94ff2021021b7e38876780f118891630aa2e80108ebcd2a3e7171fe32f0c9e5ab4750e637566ee7de58d034e034f475007677ad90972cbe57cdefcc66076e0fc203881fdd2c98937458e48f93d67439562f7e203338055beac86b5b07b3fa91eb089c7eed1c83b37b0b0dc87ea2b46f70a01dbcd34364b381660db4213dc66b43acaabbf8eae0dd7ad6192bcc5bf7aa10e1451c4a98ff969682d49d24d4c9a1e5de61b05f63bcc776f14bd30dd679cc2cfd1be7909ac54547799d7936639db846541d28c52478321698556140ebd7d0b29644d58ed9e937739156e6b18eebfe71423f77a9f1fd00f58997a48d7956dff67e2a9e8b4d7f9e5fdda4445c9f6ffcdc7691bf8a072b6d0c8dd16982eef920ac3378ee89bfc95d226561f650b425bea9c91ae61cf69eda8a60d3238cd42b47d1f8a4f1e09527d470ae8ad2c4a75a67e2c29b85e61915968e357ec97b94fbeffa4697375f714cc0a07038e3367c52e5ee891ad368b07e7955d017c651eeed9f3607c194c0daa1d3f2682899ae4a7be661780a6bc523788a689875ef2bf4d17b3aa9946834af52de763b9d6a6342055c862b503a8177d79748216b82992d65963debeb1031d558fd828af81372a75622679d3199ecd4e31b1a34e658eb997e5401e0e3ab3a34258fd915391c13659bacc63f0c29b27fd00a32df673fb553cf1798b966b15a5dc1c793db361ffd81d3924697ed4330571fca07a121412baf60a2005d46d6d49cbf5cbdac5f34336ef0aaca7211aeef9baae7ae902b9489f3b5a32db84393c02e6e37d633c019a32ea3f662309182b24412b539766ff010d1f5522e8fa90b3d37bc1ff7ca943f6b8865953ffc48a7690754d547188f4a6bd7ef5d88d68a23cf35daacfad7ce4ac71bd488d696edf8eb3fc2803cc29d08de92bf7c5cd915ab02f1e1d0584854dbe69a04937eb2b96184cd42c7276acb2130e77b5b8bf44b837286c3c26fa37c733683bf40aeda5ac82cb588c3f8804366c63706c6d2754a04ed4198647117e91796a1f4c200bc9cdc961b119055e24105781b0fac8e1b5b46c2a206768d177c8c048ef5a4e5fa69c615072538c8dfbe43e6675df08f528f7dde059c5743a52a67b4c967b7061d861c0b4cded5e5131da0101b4fb3311f479088c8c32e88f586ed1375e226f56d2ffd95cd3f63b16de85d830a0e9a648ccf1cc021e26282edbacc9f70ced1d8c04f230258a4b89dc924171e64a901c8a8dad2673254873aa91edffe9186991693bca71a5e00651dde0b4b2ee263a6717b88de9e1314432eb7a561b0290a924ef86f0bc428986005c711d070d28a0eda15fa08d2d19de347504e01ad83cd69e496d7b433f10029927779ce522412f558606f2ba2de998b2c1129e1a1321d684edce11f3855dc010cf707151c682d3f6b9514d17be8f987dbe34ca4478d6785d7de55ecce9a495e97f89a05b96a153380c10a9b9b7df4a7c3b0e330fb3c89c58dc0fc6c52b120b69c39fe05f1232d7997e9c8b05020cca7fb2e3f3105abb815f23d48fa0068d305fde0254c30d28d8ad06c1e8a5b5794c34ef78dd5ef569c452241c00f63dffbea13b43ee67c0022df2f2f9713cfc1b55264fd0d67861f0f7383da57ba6e121a0317664d98d3a434a4416a378cd58885e6a8edf7ae69c2d8c5d712fe4b12a0c85db99eb7b643b57b2921e7f39c437038903a9a067d58e667b9fb22cd530037a6d50bc69ab9d98ce146307eca96fa0e9e0af150c230ea26ace98c46694a6b655ec64dc929f88460ae7a416487f4112a26345951d2edaf110babe21506a9aecea010f2a7148d9bc2e8e38a2361d863825ca8f2146bd08968bab40deb9937512431fd281717b967f2035c4ad7d5d9bdfb25a1ce754194b7f5e52e2634b65edb61c1229a3c23a75c155846314d840bac16df601d6a6c29cb368763854a22338170905da30d4b643d4d572ba7b1cf9e0500373f9f3e2be3afe3b728fcb53ba2609e97aa75829d1d72c5d23082cb6ad083313092f8ae43610eb5cb3a017167dd5a04fc3754813b7aa8685d4d42a62fce6cf5135b3b745b5727028753e9610af5e4f828d6696ea114d201e83062c605249564bee18e2aa6894b601607e9fd15d4e4fa73abd8fc9be1134ddd2e651514f76d7fa88d8df33aea118ef2ed72a0704c1ca99a3c0b6b2253b0292fe5b1ec2de98b3cb1f77130b8b211592ccd8a51e795c973bbff207bd2cdf4ac6e13246d173c05eaaf6e1e41f8c8eb855a52393be71e3f99fc2298c58a6dfcd52540c34b062247c4f9ad15d6e06b34b3ab2024872a4295f5657758a7701593d06a08349fd5cda18618540e963e36a0c702d4fc941e225f25b6c3799d441", 0x1000, 0x20c}, {&(0x7f0000000300)="d4682c8a4b3a2b92aebc47dcbc57b3956372e732dea84339c40ab962ffbb324eed83b3ed2571ad144bd8f9f12a583ae68ef371", 0x33, 0x100000000}, {&(0x7f0000000340)="084cab7aa4a9dd366c62733e1857c1aca807336af67d647cbb37a3d701467622189eb6d7ad11c99c0ab05a3fc03a431535027a835cd521c4", 0x38, 0x9}, {&(0x7f00000003c0)="5663cb3bc5539c4c601e88b3a27d31b088f4f3e113211bdbe1bea824ef2af6d3c44f8d1a4677ead4fe2acccf49195fa598db7729164b0fd27484a8d298a0fabb6c120083855de45846bb3298f0", 0x4d, 0x545}], 0x1, &(0x7f0000000580)={[{@noflush_merge='noflush_merge'}], [{@dont_appraise='dont_appraise'}, {@audit='audit'}, {@smackfsdef={'smackfsdef', 0x3d, '{'}}, {@uid_gt={'uid>', 0xee00}}, {@appraise='appraise'}]}) 13:36:46 executing program 5: mkdir(&(0x7f0000000040)='./file0\x00', 0x0) pipe2$9p(&(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000340)=ANY=[@ANYBLOB="1500000065ffff018000000800395032303030"], 0x15) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) r3 = dup2(r2, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) r4 = dup(r1) fcntl$F_SET_RW_HINT(r3, 0x40c, &(0x7f0000000080)) write$FUSE_BMAP(r4, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r4, &(0x7f00000000c0)={0x30, 0x5, 0x0, {0x0, 0x0, 0x100000001}}, 0x30) setsockopt$inet6_MCAST_JOIN_GROUP(r4, 0x29, 0x2a, &(0x7f0000000380)={0x3, {{0xa, 0x4e24, 0x6, @dev={0xfe, 0x80, [], 0x1b}, 0x58f}}}, 0x88) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000140)='9p\x00', 0x0, &(0x7f0000000580)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r1]) chdir(&(0x7f0000000280)='./file0\x00') open(&(0x7f00009e1000)='./file0\x00', 0xf0, 0x0) 13:36:46 executing program 5: prctl$PR_CAP_AMBIENT(0x2f, 0x1, 0x26) 13:36:46 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f00000002c0)={0x0, 0x10, &(0x7f0000000300)={&(0x7f0000000080)=@setlink={0x3c, 0x13, 0x41d, 0x0, 0x0, {0x8, 0x0, 0xc002}, [@IFLA_OPERSTATE={0x8, 0xa, 0x10}, @IFLA_IFNAME={0x14, 0x3, 'ipvlan1\x00'}]}, 0x3c}, 0x1, 0x5e}, 0x0) read(r1, 0x0, 0x0) bind$inet6(0xffffffffffffffff, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) setsockopt$inet6_tcp_TCP_CONGESTION(0xffffffffffffffff, 0x6, 0xd, &(0x7f0000000180)='lp\x00', 0x3) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = bpf$ITER_CREATE(0x21, &(0x7f00000000c0), 0x8) ioctl$SOUND_OLD_MIXER_INFO(r3, 0x80304d65, &(0x7f0000000140)) sendmsg$nl_route(r2, &(0x7f00000002c0)={0x0, 0x10, &(0x7f0000000300)={&(0x7f0000000080)=@setlink={0x3c, 0x13, 0x41d, 0x0, 0x0, {0x8, 0x0, 0xc002}, [@IFLA_OPERSTATE={0x8, 0xa, 0x10}, @IFLA_IFNAME={0x14, 0x3, 'ipvlan1\x00'}]}, 0x3c}, 0x1, 0x5e}, 0x0) ioctl$FS_IOC_GETFLAGS(r2, 0x80086601, &(0x7f0000000100)) gettid() fcntl$setown(0xffffffffffffffff, 0x8, 0x0) sendto$inet6(0xffffffffffffffff, &(0x7f0000000000)="c0ea4ceb1c1700b44d5a65660b62ed63af57df2ec579adcf44538bf6d26c502b605f146d4efb3dc819941283ee17dd214a5d4cfd36e36799c9e6586a00000000fb56a7a49f2a177d2dc9885c39d26d01c0cc5ab78947a124f4b3680bba35b3fc", 0x60, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) 13:36:46 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_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) preadv(0xffffffffffffffff, &(0x7f00000023c0)=[{&(0x7f0000000180)=""/4082, 0xff2}], 0x1, 0x0, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='maps\x00') pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000001180)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r1, @ANYBLOB="72084da3b0524cc2", @ANYRESHEX=r2, @ANYBLOB=',version=9p2000.u,\x00']) preadv(r1, &(0x7f00000017c0), 0x0, 0x0, 0x0) getsockopt$inet6_IPV6_XFRM_POLICY(r0, 0x29, 0x23, 0x0, &(0x7f0000001280)) sendmsg$NLBL_CIPSOV4_C_LISTALL(0xffffffffffffffff, 0x0, 0x42042810) 13:36:47 executing program 5: r0 = syz_open_dev$sndpcmc(&(0x7f0000000000)='/dev/snd/pcmC#D#c\x00', 0x0, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) mmap$binder(&(0x7f0000000000/0x1000)=nil, 0x1000, 0x1, 0x11, r0, 0x80000000) socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x404c010}, 0x800) r3 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r4) stat(&(0x7f00000000c0)='./file0\x00', &(0x7f0000000100)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) fstat(r1, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r7 = creat(&(0x7f0000000080)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', 0x354f21f6a8) read$FUSE(r7, &(0x7f0000002080)={0x2020, 0x0, 0x0, 0x0, 0x0}, 0x2020) lchown(&(0x7f0000000380)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38//../file0\x00', 0x0, r8) fsetxattr$system_posix_acl(r3, &(0x7f00000002c0)='system.posix_acl_default\x00', &(0x7f0000000200)={{}, {0x1, 0x1}, [], {0x4, 0x2}, [{0x8, 0x5, 0xffffffffffffffff}, {0x8, 0x4, r5}, {0x8, 0x0, r6}, {0x8, 0x3, 0xee00}, {0x8, 0x5, r8}], {}, {0x20, 0x1}}, 0x4c, 0x1) 13:36:47 executing program 5: r0 = syz_mount_image$msdos(&(0x7f0000000140)='msdos\x00', &(0x7f0000000040)='./file0\x00', 0xffc00007, 0x1, &(0x7f0000000180)=[{&(0x7f0000000280)="040800090000ff01e66174000410093dd818a72300f8fa", 0x17}], 0x888b, &(0x7f0000000100)) symlinkat(&(0x7f0000000080)='./file0\x00', r0, &(0x7f00000000c0)='./file0\x00') 13:36:47 executing program 5: perf_event_open(&(0x7f00000000c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x200}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x40000080806, 0x0) setsockopt$inet6_int(r0, 0x29, 0x2, &(0x7f0000000140)=0xfffffffa, 0x4) bind$inet6(r0, &(0x7f000047b000)={0xa, 0x404e20, 0x0, @empty}, 0x1c) r1 = openat$ipvs(0xffffffffffffff9c, 0x0, 0x2, 0x0) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x3d, r3}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) pwritev(r3, &(0x7f00000007c0)=[{&(0x7f0000000040)="17be604bd78fcc35ad6ea5943e94c3b8210b004ea2687c580feef6478d5b655ebe34f1ec49ab3c9267a76be893b46d519f6481d10023892756cc33055c54f2d1f7a65128e228ddedc8", 0x49}, {&(0x7f0000000180)="afb5b415a3d5d78d742b22a8a0bcf73f3c1159c6d0d8aa27e581ee67987b47041250f64c0490086dc63abb409d727737c4dea08fde8761c698d8e9a509ad635a12d173b8d260c3b5384a03f437719c96ec60c4de915da5c09f15de590f6446d8c978ec0546a323c37f4d797b6af95eacf2acff6cd4e5a1bc784ce97b4326f8e5a4fbcf8ef41d0ea93d5c6df4d6c282aede5241039402dce6fc2628e86335eaa09d91f5b8204b8f6765580170c70766002ac1c4b5c7469b73ca755e0dcfea091a17a09d6c68a4b02109effc62a8d6c5c71dc93a203798dcb66a8d0ef8482da78a0b6524102a0a6619930e664d01c8", 0xee}, {&(0x7f0000000280)="84b63552ed3da68059624a59772856411f587fb5adc7bdf64d44d8238fb478189d3f0463dd82a0754e372adbf176ee9daaacb098fd25cfcd6565b61c2051958739b1dc30fbce5764d8a41a1d47e7edaa542a4247", 0x54}, {&(0x7f0000000340)="9579811e39da12314181bbcb4a3e2dfee5f61640afc485936ad94fc127", 0x1d}, {&(0x7f0000000380)="2305d8a7c39e676519fb1511f944a90f5e2cd45357cd3eefd63d079b2e8d419063b97ddaa38c34b4b21cca17334890f742ff63ed33d71c798681f7f979b99b60db1b584d28a242ca089844ae90d3e4c3dc541d8dbbf66c429bd98c4877138e7310af9f3689af1a242d6b74746fad1391cf55d796a39986a382fe6fbf941277dbfc74f0e1b512fff753e3f783c0ccd4307dde3175c46e30f35446af3e2fabbb465edbe5d569214d580b4868703e15f99f4dc382f246c823f20cdc56610f632c2409f1a64718d239044a02", 0xca}, {&(0x7f0000000480)="89e96e7b0af7cd5d8709e54af48a5041b1ccce7bed00fae7504c43429c2522e9986d99467366491863c9c2e6f5965fa122cca129079eb6fca603c1a5c3a0209ad2b82e4b116d70230ba37ab50f4819a101b16f49196d72c6cf0502cd76cde6229054da694c5f878807e7468525d49c77f7fdc84245f39a5fd06e08da4b5f89571e7a3b75ba7468b16e7a0c42f59e8b52b496631155d087861aa25eef9a45602d18cf07bffa2be35d8194be20fcfa68927d5751ee3c49ad58264865f6c30103c170f97302245d5417a0b29c88489b17ce503439897f4ff87d2a6f5ab418fb7685ca1e85bc", 0xe4}, {&(0x7f0000000580)="c0733c64f9a9b4d114ef36028e4a262bc80b9041bc47fc8df9eb1a96b218eaee74c05c446a6e1332754aa37c7de157f895307f5e69012add3d7e584d27de3759720fa78e629a1cdad0b15664e68b4b8ad8cddce15f26f9f93d24c341f061317aa87395a16c5273381dbfa18593b1c8899174a02ab366eb78156f591648ed348ab9adbdaf56f8b9142bd9adea53ea6b98619a3828c741f11fdba5f6e3bf5886a35fe464d8e2290d8719a0e89d404d61370619d49407", 0xb5}, {&(0x7f0000000640)="cffcc3f590e5a92754c509799cf73573ee6ea933c03cd5ce70913646dbea132eb122749a51512a7d85749fcee6eebd7abc5dd1d58e5b7185f7596abb35cdf72beab214108da60c0aefea6d0a3341607389133d2f355bf37264da9769d06d1d237f2781065765e0c9c54faf123f2b06909f70c7160ba2f99f0174b7b02761f2d4ff497b205bae571b67c623d3a4183f5988f9c4b6280db4", 0x97}, {&(0x7f0000000700)="68b2d6cb0b5af0c950a427697d9253fcbfe9bdb587095d6949cd3396a84a4ce177e0a374be58c2072d1d8f8b7e25109a59eb1f3eb62c2ae23dd50349e81cda06f0ff4c7c1ba3ad9872f35db93484fc2a5c1f1d5ea19342a7461fea5d0f824962a60a9b824aa759d1cf33afadbe8442a99389a35071a899816c0c0ffd586ff659c7d7f069dd58034348127f1fc45dd657d8bc6cb0868b25afebb7df44ec894ef37d791a467714983799478f02c323f47165adb1d35849e0811625665d2e9324", 0xbf}], 0x9, 0x7, 0x8000) r4 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r4, 0x0) sendmsg$NLBL_MGMT_C_LISTDEF(r1, &(0x7f0000000880)={0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x40}, 0x0) listen(r0, 0x400000001ffffffd) r5 = socket$inet6(0xa, 0x6, 0x0) connect$inet6(r5, &(0x7f0000000000)={0xa, 0x4e20, 0x0, @loopback}, 0x1c) r6 = socket$inet6_sctp(0xa, 0x5, 0x84) shutdown(r6, 0x0) getsockopt$inet_sctp_SCTP_MAX_BURST(0xffffffffffffffff, 0x84, 0x14, 0x0, 0x0) getsockopt$inet_sctp6_SCTP_PR_ASSOC_STATUS(r6, 0x84, 0x7a, &(0x7f0000000140)={0x0, 0x0, 0x0, 0x7fff}, 0x0) r7 = accept4(r0, 0x0, 0x0, 0x0) sendmmsg(r7, &(0x7f0000003d40)=[{{0x0, 0xffffffbf, 0x0, 0x0, 0x0, 0x0, 0xe}}], 0x4000000000000d0, 0x0) 13:36:47 executing program 5: getsockopt$sock_linger(0xffffffffffffffff, 0x1, 0xd, &(0x7f0000000000), &(0x7f0000000040)=0x8) getsockopt$sock_linger(0xffffffffffffffff, 0x1, 0xd, &(0x7f0000000080), &(0x7f00000000c0)=0x8) ioctl$sock_ipv6_tunnel_SIOCGET6RD(0xffffffffffffffff, 0x89f8, &(0x7f0000000180)={'ip6gre0\x00', &(0x7f0000000100)={'ip6gre0\x00', 0x0, 0x2f, 0x7, 0x20, 0x1, 0x2, @local, @remote, 0x20, 0x700, 0x6, 0x8000}}) r0 = socket$inet_icmp(0x2, 0x2, 0x1) timer_create(0x3, &(0x7f0000000300)={0x0, 0x28, 0x1, @thr={&(0x7f00000001c0)="28069cec213b9ced36b06a0d248550ebb72e6dd422ddb479435aa6b0c6ea638422273007263ef0e36bd2b5467e0cd41e83d6df6c4af7c03d703409a1f5b29f4c3fd58aa6d3c3b7154da5246795d3b868acd9f636975464af40ff0dab68eb5864f7e14a49acf0c2593d5b1b7826f2e9c30d8c", &(0x7f0000000240)="013b27dc32a5c990e5f1ee100d8dab99ab1e7135ebc075625788f0927be664bc806c6841d2e900ff43bdeee83bafc3fe7391a9ef1ee6d2c42a7b2d9c2cc121d5afd33ee0b4552a03a11d3e4fe13dcd89eb08386d66516d0a2050c6a45d49e827e630a6b488dce796867950cedff20874901135256aa77f8b16a515110160bec30f0bd18bc349a431fd7b05257b64e4001b724fbfddcca323ea7ed387480770a4db711fd3e1dca2796aa2d9acc45ba9ae7b9dd97c04157323"}}, &(0x7f0000000340)) getsockopt$inet_sctp_SCTP_RECVNXTINFO(0xffffffffffffffff, 0x84, 0x21, &(0x7f0000000380), &(0x7f00000003c0)=0x4) r1 = socket$can_raw(0x1d, 0x3, 0x1) semtimedop(0xffffffffffffffff, &(0x7f0000000400)=[{0x0, 0x7, 0x800}, {0x0, 0xff}, {0x4, 0x4, 0x1000}, {0x1, 0x6974, 0x1800}, {0x1, 0xf6, 0x800}, {0xe9b0442a1d60128c, 0x7, 0x800}, {0x4, 0x7, 0x400}], 0x7, &(0x7f0000000440)={0x0, 0x3938700}) get_robust_list(0xffffffffffffffff, &(0x7f00000004c0)=&(0x7f0000000480), &(0x7f0000000500)=0x18) sendmsg$L2TP_CMD_NOOP(0xffffffffffffffff, &(0x7f0000000600)={&(0x7f0000000540)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000005c0)={&(0x7f0000000580)={0x28, 0x0, 0x100, 0x70bd28, 0x25dfdbfd, {}, [@L2TP_ATTR_COOKIE={0xc, 0xf, 0x20}, @L2TP_ATTR_OFFSET={0x6, 0x3, 0x200}]}, 0x28}, 0x1, 0x0, 0x0, 0x4000001}, 0x20000080) ioctl$sock_SIOCSIFVLAN_GET_VLAN_REALDEV_NAME_CMD(r0, 0x8983, &(0x7f0000000640)={0x8, 'macvtap0\x00', {'macsec0\x00'}, 0x6}) ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT(r1, 0xc04c5349, &(0x7f0000000680)={0x2, 0x86, 0x8}) prctl$PR_CAPBSET_DROP(0x18, 0x27) sendmsg(r0, &(0x7f0000000a00)={&(0x7f0000000700)=@sco={0x1f, @fixed={[], 0x10}}, 0x80, &(0x7f00000009c0)=[{&(0x7f0000000780)="eaca7fc39b214574deb5091568709253be6ceddd23363da9a808d8e2bb320662c5b46a83972ae792135fe299f7ace5b12da82c5fa19818690a20a39fc003fd865ea9bebd72b6764941ac563e963b7f7d404bc15265584cb1a85a91f58c298178052a", 0x62}, {&(0x7f0000000800)="76966232f13dfd45ae88a2865becca96b10a49e7c04a941225fd", 0x1a}, {&(0x7f0000000840)="1249188b08521d1d3661bd4cb147e76d9f09176267be50bd7c65117a1daeae7df9a6acc6d7e8b7b5540851c2fc3698e8b5af1e3563876fe0013bec0788a62e42f23bf19f398993d85c1656d43d8411d3535b78", 0x53}, {&(0x7f00000008c0)="438b3b07d0ca1b8e01d3646f0f5ba52d9ccfd7037c8572ec09f3d75fab6a7d59172de7a5ab58e48fb16485b246090f81e20ef1f53970d88c66003ea3b3c9f49fc5bc6ac00360f0ed61ffce992e693b96f5b96565d33999416425ce4fe23d49c2a6c10b0a6790835cdde48a1248071df4dba415ee37df9321555a5a7c7fc46efb4b31d7d6ed7e2637249f6222718b2a751d3f1e03bf7eba2c41930fcafb6cb36c9df72631cda8360c685128cc7a54e234b6ef2be9e258849aee0fda705b69ec6a5fafc3af87fd31e18f13e00e92bb7ebeba8d486ac0ac4da3237eb27e4dfeeb3b7b1b4fe41ebe5d97ad0027dec9d5a23d", 0xf0}], 0x4}, 0x800) ioctl$TIOCSWINSZ(0xffffffffffffffff, 0x5414, &(0x7f0000000a40)={0xffe1, 0x20b, 0x7f, 0x1}) r2 = syz_open_dev$admmidi(&(0x7f0000000a80)='/dev/admmidi#\x00', 0x1fbd, 0x430400) ioctl$EXT4_IOC_MOVE_EXT(r2, 0xc028660f, &(0x7f0000000ac0)={0x0, r1, 0xffffffffffffff01, 0x9, 0x81, 0x7069a91a}) ioctl$FBIOBLANK(0xffffffffffffffff, 0x4611, 0x2) sendmsg$RDMA_NLDEV_CMD_RES_CQ_GET(0xffffffffffffffff, &(0x7f0000000c00)={&(0x7f0000000b00)={0x10, 0x0, 0x0, 0x1000000}, 0xc, &(0x7f0000000bc0)={&(0x7f0000000b40)={0x48, 0x140c, 0x800, 0x70bd29, 0x25dfdbfc, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8}, @RDMA_NLDEV_ATTR_RES_CQN={0x8, 0x3d, 0x1}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x2}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x2}, @RDMA_NLDEV_ATTR_PORT_INDEX={0x8, 0x3, 0x3}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8}, @RDMA_NLDEV_ATTR_RES_CQN={0x8, 0x3d, 0x5}]}, 0x48}, 0x1, 0x0, 0x0, 0x20004080}, 0x800) ioctl$KVM_GET_NESTED_STATE(0xffffffffffffffff, 0xc080aebe, &(0x7f0000000cc0)={{0x0, 0x0, 0x80}}) 13:36:47 executing program 5: syz_emit_ethernet(0x86, &(0x7f0000000140)={@broadcast, @local, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x1, 0x0, @rand_addr=0x64010100, @remote}, @parameter_prob={0xc, 0x0, 0x0, 0x0, 0x0, 0x0, {0x17, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0x0, @loopback, @multicast2, {[@timestamp_addr={0x44, 0x24, 0x0, 0x1, 0x0, [{@remote}, {@local}, {@multicast1}, {@multicast1}]}, @cipso={0x86, 0x21, 0x0, [{0x0, 0x2}, {0x0, 0xa, "d62587bd92a881f6"}, {0x0, 0x3, 'a'}, {0x0, 0xc, "7ccef562ce052a688cdd"}]}]}}}}}}}, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r0, 0x0) sendmsg$NLBL_MGMT_C_VERSION(r0, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000080)={&(0x7f0000000040)=ANY=[@ANYBLOB="24012000", @ANYRES16=0x0, @ANYBLOB="00012cbd7000fddbdf2508000000080004000000000006000b002c000000"], 0x24}, 0x1, 0x0, 0x0, 0x840}, 0x4090) r1 = syz_genetlink_get_family_id$tipc(&(0x7f0000000200)='TIPC\x00') r2 = openat$6lowpan_enable(0xffffffffffffff9c, &(0x7f0000000340)='/sys/kernel/debug/bluetooth/6lowpan_enable\x00', 0x2, 0x0) ioctl$BTRFS_IOC_SUBVOL_CREATE(r2, 0x5000940e, &(0x7f0000000380)={{r0}, "b992b54c0a3e2736ece5b52203f001ba9c7b19cc3c3594b5a6dc263ef8a904611a9031960eb219fc21f6b891d0de0ea8125037db7426e82f999a7405c0bbf2202bf05141184feb06f41b0764d9ede0650ccd99c94e3ee19136ffa232785ba5e1c69ae9a7937b02ad365edff2d51911e7c7fac1423928194210189caa05833865501aada74df787195bb2edf86d5c0e1d1a7d4ba289a7a392bf85683e7298dfb8189bbd5d14df2b5e410652349382f082bc70b1383f24249f94ea5d9c8f4c3685a46516bed8dfb0bce1c0d36cfacbc52b7cba614d942abcf2838e09fa64b4cfc8275b18ed8396c8a5f82c65788004f10f8c2a4a7b36cecf5bb6e2c90a4ee98743bf5e05c3480b88c1f155bdd081e722acafc8076dedd1ba0d77bc4fa4ffedb5e1d8fe714fc4f024c7dc71b7bfe7406994c0820ad84c7803ab33824bb0101338692cd4a2bfa859bc07dd6e2a1ae6fff7b727b779a8e456180b184c83d2cdaad296e1b3a7c9e5332c69d71ed66054c98f6b5143afc94ee891e4bc3ac6817dd1520516ea17048a8484fba60d43bac8fd9f37f8ba03173dfa8d62b659ffd995a0e80ac4c254454cbb86960f39e64113012cc4709319d8a81592197d7403546477625ecccf441bb5410e2bed356d496ca8eff27113bf12463dbc5e8477eaf32ca93e7151e2f636c0880146f18479dea94e7b1b5c2155c29904d1489bd409cbf9f2a620a46ee085b86e59613458284ec1d9182e1498e323e834578c80f66696dbba01cb47efeda60279cd20572ee35270c75fa348e5a4535a9a461b36ce103cc6e15b12a063048e0aa3ebb98ac2d38661134fe9d83eb8ab1d179c348d005902ed3098b14adc0384e70c8d04f0cd6e87c2ce656e11fb7fe4ff7ae9d346fd5ccf09592aa9fc82dabe7b68e5b2da74cc96608b7964554ec58c2a72b41d951a130475ba1ecb274afc1b662800827dbdbdd9c77605f4d75e8ba3832d4dbd95b26c5f9db8e2f25f5a3bad54aac2c8785c66d96e755f29598d117e43cf841f4389e073cca40d400d1fba0c0ace561811716f584f3ac758ef9c8580dd641bc0cb59c2eb76890693b6197e6aa2c462134fed089d4ee975639155a620aadd0dee4b91f4b89bf75ebd932a56bb0399f0394c53626161a0e57e85a83c81d1bf6c51af602947073f8f87fe60d327ea22403e489c469140b8f1e83debde3b5cd9fea19c53cc2170e9570e47dd0100b6a5d88d894ad1dbea10dd47795149f155a11904c140726e7578b03d6d834a43d42341c544fdbd431072eeea2c075b26377f1419352525dcaa98f4a539f80e6ee5e77a918cc035f9036d724582a0f2e0717e3418cf018f8a839a0ce7a87e2771d6af9725dc6c12c1282c2434360f238a96e58f7e033edee3aac07b751470929b02c8cb2b2c8643a8716cdb06fb1036f80698300c71114b05f837448c1b43e1d13c64fa2afab29bd5eca34d7727d0f2277f34dddf8753416d14b1484132d6705c61b808fa23b9da60608bead0d0533c9df9c0f875b037478f0aa01237607cdefd0ad2055dd5283fd296825aeca854236c2cbb6bdb1251684083e6d995561e7197a9b53a32fac4a28dfb89176ba72b01e9340e315983efe1ac96ebdb243667f74c6a23c27133a493e235d41bf82311d6a5de1a3f7893553984256c858f4d319565c922399fdb08ac86f0f981cce3f1a32b85811b0792e6c2232a9b1ebc218624daedfe8324e53e885259e9091ee2286227ebbf82dd23393c1b1b53d621b711ce9ff27b9869f3d0d53e6f2325d0c4dafcbd0db6e561453f8ab9638f370251f72c9c20061aadca2eea137bfe2c1beaa6e665ff892290dc6612388ecf95add1627d47d242fd553ced2cafe273daa1cf4354b42ce6d74b83042ca7056ecbf7ef8b5f466c4fd809e7209096cad2f801d3e5fcbc612593d0b79713b55b9c16110627bec5308ecebbc81befb72af94a6beafd3e1b74b7a486c4ee7d3e855946ab95fee7048325487eace650424d7b6a61cd73e8c90bd77471d25cec9a22c55b1959f639c1c81f598714dae77a3d1654c27a2c6cf13fc8c4d6f3a82a1d6f4708c8aae4f25ad05e0fa45263c1ad3307e3980d6b787a7b0603446458adfeca092676a12d6b374a2c84c7dae17c4c8e093d03281237051f0794cd8f18ad7fd663c95ec9d248e2a4884872227b398e26d6d4baa344d89d1b541fe9ae59b96ead88e6d59a1217bd1497affefdef273a65b203ccbcf4ec142d61c101941bd1d6705de9ee1262de567cf71104d2c7ac9d13e075c608258366de9d5c491a322588ce0e5f1344b5b738205c508d83526dff59a9143de1f94f3efa0e6e560e0a880368723a7c415b5aa0d47cb2c73f9e4fddc96f2917fed29ce0c47c9bf8b5f3755be35fb2caddac70f39b10344999112f821d7db1046d7d63657d34fa6cd97d1a6a6116acabe0ecc416a779fbbe9b953625a686b3aff4abce276902b79394331058980f2c19ff05b8e39d3e7736e9f73ae3d2e5024a8778d24a5189a5181c1465a2b813998b34bd77012858a670d63c9f9d785730ac506cfecd63c090db58e59f642a4592f641c71ec59c9e79042837ab1257b6a6c8fdfd39027c9774d237390a428e3cd3badd8a94df8fc5cbb5d1695940fa952eadc90e1fec0d625957435d80102d4be3c6be34c2a46df94a27780546a187fb2a49ba2a1ab7c243ed2cf4958afccfee57e59f5f402180f764aa433bba6b7642130ac0950f8686abc836cc6c45544c956719a25e1908309d858218458a402edb6086b0da68d2182ee1ece1acc78b1f338eb72b2b4293f34cefc387c8344563ab8297a81e0738ce4b00bfad18d4bb7fed3148aedbaf524cb1806479e5765dd30270fa8de8cec4ba12af4a93d6925da82eff5c41c0399a69aa11baf2038ea2b90dd514b8a1aeb7c9ec2f9918015a0ee58120db9142c6ce2b7365e23f1a92d36c0ddda061b9429acc9fe3dd5cd535761c7e2c47f56934842f015e4fb4b486994ccc3ffbcd1490b3e624935bcd7fe830a3c3f4f78011f0c47556d47bd37deba7e60206860a96d2def88ce3f9803173f3296dd0c55cd2e72f4e7241ea1c1cd0f0aed3ba13da8c736d8341f8f8c514112bc95f31256c9eec8c7e98af9afd780a5935c15c703e26c4f7a58de6a0b53ece594e8defa43c6813892f68bc653e4fac2035337170b07a693ca261a2fece0fcb9cb79e27c4f203bedcb58013405efcf69e2ba905301b4abb74cee7a93658ef4159bc86cd4ea6fedb6ad5ef5b495bc258afda5a336cd9a425b6ce6417ea370d6eefb965b8b6007cb85630c4abca2f4e27009598301586606930d1e206fa164f722be29827dda61a9ce0d843d6cdd597b8085c1fc8b4c0c8b3850ed41a7a6419573eace55774b94516b80c8c9469976d1c6188d47045647ede548405312d6072e115ec79f8474e285b6e7c72910b312c44caa9d036cdc296d464c6c2457924275f5e2c828e979d6e6b03334ff6ca621f540cc1f70dfa348b8bfaeed8f0f3f77e8937a419871aa501ca32f1f0b45ea5fbdf565479d7aacf571fd6cc1d95b0fbc94b7c0f8c1910d0f19cea34070ce63a887b42dfcba9e75a028945877db6dfaca451423493c2a88e3453eb12546ac27be22f6f351d0d7d290fd0f498b6db3cf6224d78e369115e981c381903be279eb26b53d29b3cfc60d408b586a2318458e3030aa6eec7e1dff036b3b6e1514680df8dad462e5393b4c674de57f2878d69a368f561375b7c0a74f9621d301f8f0d7ef2bc104b82f9101668fcdfa53b25ad6bf27b01e2a8af01882b4d0ac7eae77047f2454d23ca195a0091c2270e6050eee167a36149d6182c36f61b04662412f92eaac0ab2a6c7e5bac2e225127c6aac4494a4ff8cfb5ef8e0c25500050c353c370e2257039aaa091b178dfc3bed4ea359019ee09c4243f347cb7876d480e07b1cccbb9fa4fc99ff49c435e1f2c2dffd2fa4cb444a110f11686468f08dd3717b458b6fd8703900401ce522cf978f8f51f004a3b7efd25c14ae63c98005c551c198ca24282ac54dac2d90259da7ba5bdf5ae7e080a71c300ef6493e46a07b571e255d9a23650f3f7fc29abab829e8b889e6f21e76acdfba239b2a1deb3464dd0e92bfc18cfbb6ac856ae9ab031814709c61bede276750439fa8dcebe2da4500554fc92f2109a13bd3662f15b1eedcee4fec0b91d28e64aa8bf749d719b6be42d25869a70ff81118ad8f4ea7b29d9819f761285e96d9182e037a0c2e62eddbc30423166acd7cd3ffb540deb7ad50582f0b43652f812e931f2eeba0ce75c3550e01c62d5e498d9fbf101ca511c4d308d882cd82c2ae57ddd613d630847916e23f761f24f58753caf0b25a212417de0cd2b0e32e1eda2a18aaaa90298841de92c579b1ae0a18ff8d4cf91a20512651df20517e3d71f510ec665aab375ed8de1888bf77e29c0e7d61bab5af2eed86ce7bd941d86a71bd6c9129b85317c97bdd6084d04819f901d87da79cb488396776a218ac60b7974fb39cdc96172e7b4b3f0a9e6bc326ec07db272650e024255605e29a9e9580739e1d77cf2ae6d15a83c70344ec48c6d004b7c79fe6e3452f46323f94ed08e7bfba85afd1cffd15707ac48688e1e69cf9535ef8b93f79f9ca28b6a036a9b34ad688f807d41837f5af541bfedf337a77c9f1bdd038cf27f7c34f5bd853ec18305362d6ef12728f7e65582724286b6d698d85551fb390e6b85596f5819e741ac4148272b2b3d174bf212914134919cf15852274d411c5b21e25b43f2d461e8b409ea65b437084b4829725a7325a3d2e29dd26f1baeba02ee129519bae15b8643326d61f7c73131a181f6b6a3fe71edd4842f1e66cd146ad85d750fb6cc274e4ebd1e8d4249255f08e184f2cc863b16694efc214f138fa364cbc13059ad9f943a3a793140b262c9a1e7ad5c16cf0bffc2fb3d8ad5cf781c59189746c8f8d3bee573d7cd471eb3b11013063ab1f4e379cda64bb6122353ca9a828989f4522ea90c4b450b39298520c55ec947dc7058662e27be02a23eb4a475da79e310a4ecb3f1c5a4856586c20090f118a0daeaabc45bf404b83ff8c91c12730f2e0412b9993bc00669d83233d9d052b4372b885b19a758191567267f4a02c5c7181431e9c7eeea6b3b583f2fd668083e9193d2f0c3bd99a1c360a539d39d6576a2e8fb517cfe0d824f4c7deb1d0a35a4043cb2434dd59ba8a91102edd344e2ffd784cf0da4cfc226d0a9117717025d7a5f3c0e68422fef4d176212dac7641a46a1e5d29d1eee89a00ae7b4be43185159a3b8e4a51dbdfa214f4ceb0c54b77a53941aaaed92a7ddd1079d7154a999f0d66e4f16fd545e76915fa8c1e9fc34a68b705c3cbbeff341a18484dc84c6b14e367932da0e6018ccc9f77e9e3788631bbe28708659b16d6808957f95ec21b91d17ea175e687821f11120ff64f4f75385543b9a28bb393f579c5fb65bf79b731920589692302268d0f6f6f56b29d37673de1f3b952490c610e79a92a8aaffa5f8078606076990438d05493ee532af539dfefb16d29474c9f4c60fb588cd30b9f2e8e9e56eb12815d762d44a868b57a364a4fc1d24f3ef8f1dc3d3d54f1a38c55774400c156bfffd21e97312c56d99f95ea06d339ef61d4c1955014e6a5e23f0d775bac788a580bbc0f8bcb9a1b6ac56ae6b1385136be8502b5c18167d1daed6ae31f6938c97c117d6fc38d5b1db2c070f008d3b77644b127c04d4a8cd20f1ddb89958f69753253def62f198147fe892737e8f27d16e49"}) ioctl$MEDIA_IOC_REQUEST_ALLOC(r0, 0x80047c05, &(0x7f0000000300)) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) r5 = openat$vcsu(0xffffffffffffff9c, &(0x7f00000013c0)='/dev/vcsu\x00', 0x90700, 0x0) ioctl$RTC_ALM_READ(r5, 0x80247008, &(0x7f0000001400)) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB="f472616e733d66642c7266646e6f3d", @ANYRESHEX=r3, @ANYBLOB=',wfdno=', @ANYRESHEX=r4, @ANYBLOB=',version=9p2000.u,\x00']) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r6}, 0x2c, {'wfdno', 0x3d, r7}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) sendfile(r4, r6, &(0x7f0000001380)=0x2, 0x0) sendmsg$TIPC_CMD_SHOW_PORTS(r0, &(0x7f00000002c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000280)={&(0x7f0000000240)={0x1c, r1, 0x100, 0x70bd2c, 0x25dfdbfc, {}, [""]}, 0x1c}, 0x1, 0x0, 0x0, 0x8010}, 0x40004) 13:36:47 executing program 5: perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x80000000, 0x1}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000002c0)={0x0, 0x10, &(0x7f0000000300)={&(0x7f0000000080)=ANY=[@ANYBLOB="3c00000013001d040000000000800000080002c0", @ANYRES32=0x0, @ANYBLOB="000000000000000008000a0010000000140003006970766c616e31000000000000000000"], 0x3c}, 0x1, 0x5e}, 0x0) mmap(&(0x7f0000000000/0xf000)=nil, 0xf000, 0x0, 0x1b071, 0xffffffffffffffff, 0x0) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000100)='nl80211\x00') sendmsg$NL80211_CMD_REQ_SET_REG(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000080)={0x20, r1, 0xa05, 0x70bd28, 0x0, {}, [@NL80211_ATTR_SOCKET_OWNER={0x4}, @NL80211_ATTR_USER_REG_HINT_TYPE={0x8, 0x9a, 0x2}]}, 0x20}}, 0x0) sendmsg$NL80211_CMD_SET_INTERFACE(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f00000001c0)={0x6c, r1, 0x200, 0x70bd27, 0x25dfdbfe, {}, [@NL80211_ATTR_IFNAME={0x14, 0x4, 'veth0\x00'}, @NL80211_ATTR_WIPHY={0x8, 0x1, 0x4}, @NL80211_ATTR_IFTYPE={0x8, 0x5, 0xc}, @NL80211_ATTR_WDEV={0xc, 0x99, {0x6, 0x1}}, @NL80211_ATTR_IFNAME={0x14, 0x4, 'veth0_to_hsr\x00'}, @NL80211_ATTR_WIPHY={0x8, 0x1, 0x2}, @NL80211_ATTR_WDEV={0xc, 0x99, {0x3, 0xffffffffffffffff}}]}, 0x6c}, 0x1, 0x0, 0x0, 0x40010}, 0x85) getsockname$packet(0xffffffffffffffff, 0x0, &(0x7f0000000180)=0x5a) r2 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000000)='/dev/autofs\x00', 0x191000, 0x0) ioctl$VT_GETSTATE(r2, 0x5603, &(0x7f0000000040)={0x1, 0x1ecb, 0x8001}) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) socket(0x0, 0x0, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000180)=0x14) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) r3 = socket(0x0, 0x800000003, 0x0) bind(r3, 0x0, 0x0) sendmsg$ETHTOOL_MSG_FEATURES_GET(0xffffffffffffffff, 0x0, 0x0) bind$netlink(0xffffffffffffffff, &(0x7f0000000080)={0x10, 0x0, 0x0, 0x1}, 0xc) socket$inet6(0xa, 0x3, 0x0) syz_open_procfs(0x0, 0x0) 13:36:47 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r2, 0x0) ioctl$KVM_SET_GSI_ROUTING(r2, 0x4008ae6a, &(0x7f0000000240)={0x7, 0x0, [{0x101, 0x1, 0x0, 0x0, @adapter={0x3, 0x3, 0x1f, 0x0, 0x3}}, {0x4, 0x3, 0x0, 0x0, @sint={0x5, 0x400}}, {0xd4c, 0x3, 0x0, 0x0, @sint={0x2, 0x6}}, {0x2, 0x2, 0x0, 0x0, @irqchip={0x1ff, 0xfffffff7}}, {0x401, 0x2, 0x0, 0x0, @sint={0x2, 0x8f4}}, {0x2, 0x2, 0x0, 0x0, @irqchip={0x80000000, 0x7}}, {0x3ff, 0x1e897328598302a7, 0x0, 0x0, @msi={0x90000000, 0x2, 0x8, 0x3}}]}) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r3, 0x0) sendmsg$can_raw(r3, &(0x7f00000003c0)={&(0x7f0000000040), 0x10, &(0x7f0000000080)={&(0x7f0000000100)=@canfd={{0x3}, 0x6, 0x1, 0x0, 0x0, "23c2331e3a4ecac85c6ca4732ceb23ff0d8712114375f6a8041a596bd9fa8bf70e33e3d301b49c1c381dfc8ce1a6cb02edddb237ecb4aef3c166a07b7e09474a"}, 0x48}, 0x1, 0x0, 0x0, 0x8084}, 0x4050001) write$char_raw(0xffffffffffffffff, &(0x7f0000000600)={"81bec2d30596f46bd7169f7774283fcfadbf2a6e72fe7dea54e8a3a78136daa1cb2ddd8720694899fe3163382c3f715d5bf3a92aa836ff4aaacf50e78fc99025435e5191f7b4ff0a02bdae9b43b92e545f832d8211376ff196a1f16ed9cee985a064be86ff62891091fd53ede6ac41dc7f1672c771c20b2a1b584ffdf3af1ddb1be41d246a7be85ab515ec3426ef3cf105b965d64c1352eb4312f5a0ab57f8b33cf84925d8848262ca977fed0e325032066eb186f559ce3838216e0508d10fc5d14e1c0bc498a44969c028109bfc4b681de87dd05abfbbe8ed80c0cc863edf657c16b48322dab0fec8f09c129fcef5cb56d58db680dd35ffa77d57143d32fee8672bcde0bb29690e55e926a92b0f37356009f5cd7ced80e1d64cf78892872a6a169e0357830b83e29df9a729847fd7b9b64ce6b11dbd05dddace2a174a309cbd5d405a2fcbfdce2f57a7589c9c4b17ac631f04eebe015f7c1ba63e88f6185b6cde541acde6a2cd66891f0e831bd619e41fd721459017d708f6e710d357cf8f2d3588e1c42f0ffce2dfe902e6867d3fe510f5f29c2dc94981b0374774ac1d2ddf7f2ec8fe5f708ee83e646bbf4f39112f092b26bfd3f0ab9f5b84ae03c74b9f5608eed28e6723032d3f036372b984d6755a9264816f9cdcdf6d8349f0efac764918bfb4118dc84dfc9362fc00fc6f8c055244cdd7ce9088552a1585d6142f47b06a3549747dc3101e4efc27b4b5755a9e703568c52b7039a615c97772d2ba1e385535ab61b66fb6d25ce47986d9b371ab05f15b1c81295a8b3b4ffec42f397984d7c2371a3c5e1781d40447e969339924e9f7ee33f2639566e089db485ecdd0996a26f20984b36d3792ba1eb3b036e8082b09c28dcb648c224e2dc690b9f578e412fd5e41aed8b1d53a5a1f3d12c92cea20deb289fa2e5aa6b22fd092af17a282436287e9502cd34b3e5ed38a2eda718d63acb1da35cf62258a30d2448e39beb193c7b126225c013d9dae7295af09281f6c7bb64450734d1e868e015721d760f25978b7cffc57f691f55ab76fdf2c9d7c037d950025e0b3910f8803a758f523c8fe9b6aa55b50f252ecaa02940865624d1e1cbb3ece4cfc4840bd022f85c43b2cec8d412c5dd0b9a3663dda126e1d223b21d20505207157a3521cb1ffc5b819eec2b9747ef73228237bd8629d922504d05a6578b8f8715dbeff2c18841b681c014fb6d7aa5d5b71eb5006320658960330a260f36ff7049444838a42b13adba0fea62f6046984e462a1bf5564b0f90af2e30f9ae7bffb4b68ba465716a6eae87892b7b0e7e86c85eb14e0bcb6dddc7c306a1485046ebb0a8eef27ce6c9a3894750e27e79987c0235ec4498b3ee1ba71dde88b40d413df965f725ad81ca643e365da74d3fe5544c552d07887588d460bd70e84c14e49845d8a6c93ccf638c0d0c1dabcb7cf471b4c8f2f57a4852e169242cf4255a3d9607ef4dd79badcae0a8bc6a3bf1aa2262d1793c4ba42fbcb45c3a95be510eb0c939af2726b02dcabfe5663afad5e493cd6e6eeb064e1dad6f52be6b339090420e7f87533900ae76cddad56f05a3d9f57c088facbb26e0cef975078d36b87b031b960186b4c77805c076cf58654ec1aadeaed7f028fc111b64ac87a5f0024ce270f3d9827919ba8685891586f06813ebda16368b90eb4edb9d07d370811aae00e11c2f3e3b2a532a3aad612e2c9452d4fa58e73ba8102f97ff8b927359a40b44fd092583190b296ce3948b2fdce7f6bc1aeece9f5245eb93939129573c5ad63914aff3075cd81a259f77e201d2703565116c9016059cc7fd3efe9a6fc95ca6b2c4d3d95323c8bfd68ba01bb7f3a54b7d9a98458cfc49305dd308c728e5f236fb96b0efffca4dfb5194144e940d76200a08bfcba481de1f0df65d6269b88fd50a7381ff7d7409f676a3921bbc079d35ec9301d174fd3b95b6dc2f27f48cc0e2a8427950d06abe56659334a2f41a78e4d9d3d43a68c48ed9e722e3b1f02b6b53e21c36522a0dd9fcd7d47e9b495e648043149817545adbb74cac8a596fec69210c5c37d436b7a86f6944ba09222658c40c5c53077f456d31acc03dde048e200349d98e9c6ac6ebc16a72a08a39a2baeba493433340796f5638fd93c2bc288a63f570d17a7304c4af59421a1b54d24bd85d01726142132845f8ec637d844923b62115ba5a8293ec666a87854e7cee43f522b5f9bf1decd6b6db7ea97ea36c01e7897600906a3a7d14959b09666f7624d78b47ebddf78840d5d0b1518537e0225bb94fe16694e15041ac1a027a0d35348446be3c74f5f8bc5cd7e0c7bf0fe162dbccf3824ea80fab06755f989963e636e34479bbb59c74997a0ac1cdca61452829ad1283fc6019f25999cd891dabc610fe20518b2259782b876b2993e9ced9efa78fc39ceb50550952842681fa5e13c55f9e14ece48f5d977769df4b4740dba15cdfa25edabb46bd72f2229096445250cae2f8b07fc567d8072617f9457a3bee9c5b986dc6ac5933f6dbc11319b3253c763d0ba75c0a5e529f4d61158a9c6e814bba7930b09c6d665280a64e92a9189bf8b079fcf60392c38366f619f8a821f988f22bda7dd92815439a6f0ad95a8b62bd0278459fe2af2511a727c461a3c94d5eec3a3bf339cfa3657547945257a716886c25dff86b30a84e80aab472446adbe7481a978f97bdb893e878fb7fb3b52ddf7664390f4af24008d97d27c17f551d3179f469bb80e96feb0e1f1062d8d76632326dde277d3e38ff4ff630f3d63a9b1a72a2510996626fa22afe4450f16b0fdb3a909510e98beac02fb44e76861ef56da11765bc4e4db3fd0a9e813f62b8bf7a2fb4dcc79e4a20a595d5d380c2afa533e7184ada8d9f64afdba4b243a4dfbc32b0f4afc121881180a2661b82051d4749d275e0dd14b3cebce3076a38b0f5338da80d81b0f50a9e1313bd845221c91ce5d13f1667bcee542df60681529b620c9e1b365e1af7497f4d412d32c702e5ee582ed3f3b8a4a65e7f53c2421933eea2ab5f5e9b7e0661159b52d8c4189c7b5e379d2780618b589712d506f931608760fe9c41d9b57b6e73941292f69febb49db75576f4a34ac806d6a4e3e49638a42da87964d16144c0bf409c60a44742fa321f8113d47209ce80e41951703d280bbfe2d8ae16460253bf4782f1be54315347dbcfbddf3e2094925f1fc84eb15dbc0139e75dcc0230e8c8bebed868e2858ae26d8db2b03de090a3b9731ff37e46d2aec684723aa353b926d0d86e8e801c93874cf64ce0ff172ada96a724607995cb7ce55dbf59703bab2a389b2f4faa135251133007e83cf7b37d9135a354c8a47194fedd82bfdbcf94f57a45f04bfc8e8afe683688fc0b742b3f5a0f5447e6ec3f5b2c63d530fd16f746ace0694cdf88b53a5c25900f38eb6db49541a06a6e3137730eb09a1d83f44fdcfd09eefea1525a10532a76bfb2dd90b10e031c6b512b4e719f309a16d7536fd9aefd69448760860219e3b5580b31e725348731b2fbef58829e45610b3fa2b11d008fcec4b4a804f207fc703eae03bae7a8bf7d7171095f32bd4008cc2a30609d6bdd468acd077aee7a2e51194deba0d3d7ddcf3a40b9ebbd14db6bda2e7c1990f3b0a312c9b9e2ed2169d67bd106c35b51cf1dbf7fec2b6ec1dc8b5dc98b02ea0a4af59be6988b391efcc37ba7beefa835d61d6eb163d3cd80c80dce878718591266082416784aa57c17275d4d7a3344d11ef733f0db4abdaf5de54a1e9485ace2c02ad74d0334882ea144b344b1e5b329b34aa1fdd4bb43e26aa64105428a80c753c6f28b384d1d454ec602da72487dd2038a419a035ff82c898990b6fb5cdef33b36e36e3719a69f732352ba7db1ee2d7040827876023162787e335f6d4682770c4c494e764d9020c6c5c397983ac4f20688ff243c08038e48d625b91c774ff93ab61d5c25a617873335ac17f23736414fc2ddc272342267df00b25d0daae0703781177d3bec0b3f27afdee3fdfdfda94520e13bd478c4c5d07f1c7d24c50bdd438d71f0d233073d7fbcc97d5e1d620ad298a7f8a39ac5217bc9c5ac8f86ad670d3ffff43c45415b33794bae172bd1cd315a876be927112aee51cbb106a0031c40ac7850836397b3fc3de562486e1c530721a46d198019e6edfab4eef0db1d4e5803f5b55026cf73ea52e338b8bf1bb66ba78e97fdcc4bfac80ea1d16f68c3c2c34f86cf2402c72fb5869404e23bb7ed47831cd0ad93450a75a32169b1c45ecf96bc1f0a2db05f56f387b71fcd21dbc41777ba7b86ea5c41bbe349b7e67437cde10529527f4d5b2d040889034ace855216a60748ab97464722490cff86cce534ab934a3e48744e061d380be34433df68a1e97d06d6bd8a50a033ef81951afd8d7809d58a40c67fc1360e2d20380c6eca5bb4fe7a5004f148464be6fadefc8940505c66ae729115f3729416b14c625d8b37487fb9dff9591dc70da8c7c8a71e82714423414dd6487a006a23d17561f2d23aff2c647cf124743e5907716432786749a2073df8529f16a969a172dd9911f46cc7b558881ea69881b8d96a5012d282be90be07e1a3496222255b1c04b33ae1b9f63f621ae1b1241500a4288a8e1e78171fd0200535c1e74e28e8d24f64ed111938baf4c67193c9fd348cf9a94de92f8a0a03f2c8a32faa07bdbebc0063463b5823a02db17879e5b695bf856028c1c189fa143f625137b96a75038ab175f955742d0bc0407ad7c6845097792ac7aaecb4eb38f45366de511663ca87bb590d0416772e12934354c8975bc84a988705a98179112421678c247df262d931153ed8022e1ed8e395f9f5f425f2245c2dd2940d4ec5baa5ea3980cca5f0a5c4c65163a25280f8ba129c19fa1de84897803f355fabf0fe98832fa43008d6668ec73c4bfff19aabd7be741adf6f1531f88b011e336bbcf19dca79da11cc67f19622df04dc46fba72ff3cd38b4edd762bd08d07a8e3146c2c5b295ad62fa62ec97a7e12599bc8ce9a11e1bafe10217d9ae6db346150eee0a1a96e47d1ce06c45b8c50355d619a100bf149ef7b9a98f2d25c325098adef2c42f79a72f6b4a9aa1c017150844a6cbc1d2a85cac5d8cdeb54e0f45901294383970a0d1ca4e3b70649b068bc2636e66bfdeafa799355f1bb1fcf227ee0a40caad5fee7059d1205e12181eda1c4f89c1bcbb68aeaf6e8af1e9a51749e96c4c6c674d319b162d000936573b95747e8a549c78303ad9b3bc2686c0c253c96d78ddc0be39d3d227283d2054054b9ae95e26410389cc76f01702b56218078da7669f0d3cedb2e7aff620629356163867b3249bebf7e740e7b9942f99b5a451480087497e786dcda2d8bf4cc3afda0a7aba96c3b4ea26d307696bc71f100e2bc7a1f9853c4034c4198375f572bf611f0ecb677628c02e6635f64bbc588b48c2e5952082a40876c11d15c693e15fa5df00ca410da6e19ebc2f1073252fdf902d2714c6d0f6948fabd5455e2e193c215ec9cd88ffaa036acefedb3519b2843515cc66602e620e5aaf56f31c1b14422d7f11aa6d7b25d9d426ee90a5bf3ad9df631664c8230ef22119247214a25f9f6dbe17780cade224f82067c57933fd0227495fb77fa8025681503d7e43e1dfcdc769419b8a700413026b2eef72d6a85aaecc13fa8248a890ae496853f034caa1f009bcc53f83a236e2a60ca21b7c8f66ea24862d6eca862477b4e6d85f58f5eb1947a4c9f8415c1a9167eb8a2056cc02e43ab66bb92f46e48e56dbded0fa8e5c5b0e1c624cd143b05b14342eb46d8073de958bcabd0541a29a40329de7e1de388f2509e03c507571402baff477839cb1da3311478d07bf3b8f01b792fd0bcc11042aeab4fe68ef124470aeec1f0d9bcd83366db7d8a2968f8086af6a21eedfb6da0c2f6d671f4201061459e52141df3a4cb85e046f9cf5cd084071883166d650e2230ae1269bcc6a9f7fa5022762b1a42f7f5250b17d4db3ef475cd729143a89c58ab7c5765e58aaefb6b0592f3fd306bcd1a90b49ea5f746dd48b8d028af48376fe55d5b73eb0573f1cd35a3c954b138a5c56292d8cb53e4d10a615d873b825da69aedbc9e6fac1fe2b700c5e201b49b586bf8189b77b30edb88f28ab745c179dce99dcacbdb9135a7e6ede93321296ea0274bc6f89bef5980b0b549148c497ac4549b066a8fc28e382fac6cc81978389d725912abac8e33fe2036e403a3277bc54eea80a42f1e60f966a235a1d1bda3ccbcbe3393aa823d75df423e291cdfded9101d52e0063c4f5b67cfa2779792879bfa150f00b28b9c323291f7903a0841a4d829f12167e93893850e5ad6045677e0a38d0b21c2f5b1574c50431419fd203f84dda505c80b782ed2291f1dc996f9f91f118f4d86cb25a46a9cc7544820186ce7b17876fc3339b5b64314c3d64d3e78c621df9c531d171638fe8fc9c35b8d2a2d462d610b1ad5eb5d52049d675df6e3a202d83cc3c7c123caab4ee3eeee2b2f7214af18dca7e9b1ba802fe54ce0ae3b0c91c24544d685cc3d15e125dd3039fa6c8b43f12c0a09ba4ad27d120afaebb3373b77aeccd74ddc95b591fc26cb0ca2da01dd286d5594b2a6d23c40d3d17b172bfa8d85126803deb743a1ee87977e8592d18b47ceb03380b8ca8916305ab93785cbeda6fa3fe05285364dc06b2084d82a0dea0667d68e47217a0a316b57ab82b940fa6d2520d9441ca4ef07a724a9168be3738a12f74ccc361e411cc0f220971af257ce6ec013e31584480d192737cceff593736da72c7b42ccb0d547fcfb9e4d3ebb37c3ccb730ce49698238d46f7f16e88b8c530d1511766b64bae41643824f386df24c3a0f5ba8cff3484603a6a25ff968bdc772c32c296daf4c244aab45c026b345102375227a8aa8cf3d744093886805ad4ac8c84301d0ef45d715e5ff6cff640f5500db042ba869a8a458a186a0e3c9d75adcca04dd6b97a3b0b213689ae2ad54eb6c211db5319982024dae64b4e6c65916481ffabc9086d317f647a5d159da17271830f445f1df055fbb1f1dc28c367d6988680ffef20e573893be07313ca996849bc4be8e058dad68d71cfa6d49f5198b861a3ff65246b0c54ae155d4bf772e1c506d1c0e64476dfcafcb40b47de26e0abe2b7ba2c7fbef9f90c321e1eef655ff09d96f0d3a6ceaed8991d3c83e5013110c603c4f292f7de8a0b5030c120a5e8204545161b97f8ea81455d85ff43e260dc468e184c7ddbcdf4ffcc5c3ef46ff88ed173dc8f0b1e77c3cb792f738adaf7849d93b758f5e7f1c6bed16c567f468ca61df014181aab291643013458a606f2a3aec28562045d1069b4c438989208daf1bf094a01c4f7681ebe1858d4a0b89fcd51ddb9dd526d662b088baf6773c1b3f9c144d109dc6541341e0b421155af61130c28bc6b313d9f03b7e56493a3af354b754fdb580fe3522353698191e6516fc194e6b90ca56618ed3fe48f4facf17819f54d183a830de5833d07437500735ee5fd115d6978a77b8a5d7411ca214dc9deb00a0b1e09857002478ed2fdbe55e2c8d50fae9077bc832890c5b14c2ab8533fa507ce12e20c69281c740f67fac1d55ced09a7fa2d64070c8ab70dab7b2acf611b78e65ccc4f6e4070cdcbb6752a496b56859fa79d609d467daf4c1b270716c3f8aa784df1187537beaf3ff50f44765df73456ca63c8ed8e4f67f4bb38cbca9398694f859688bd4bd4dac4ce246e7f0623829f24f6863c13d21b1bc308f1bad71f7886646a4545ab3541112fc1486d3f7ef162e0fe3ad7a09414db39524aff6fc44ee34305bb832a1b21f3a131185d02ebc32595d34aef745add17ab66340731d36f3ad2a4c68af3d38a32fbb43d56f918a01620a8b48c49fe9a1de11673e5e2f442717a59cda22d7c3a9dd432f8e64f5eaffa2b047c0face2baa29d96279f9e13bdf0066b4d49f5f83799519ec370b5e2a56cf27def61173d79bf06d9dc87db2eadf0eb700c2e03c196feebd15cd6b118d5a4661ac6487a738eecba1bd51be701465945764b393763b933311c5917dcc7bc9c0a44cfa38188ee71609af864bca30e50eec24d4933ebd566379d99a81021b0b6cd60647cbc173118b83d1cfd51790011ab436d4a078c018fa69d0076576ad7d17c4c5b0b037ca19890764eef8b3092097c8b27501aa1c96d823f44edae3249b1e7a0162537ee54ba86a90b0a1c0b35c4ea8d3c68ad8db2b1b8630501590f8d4d8c400af2937e83f1a6bc6737173eeaaaf286e9e8ab5440ab72907886f20ab1ada3b8f9d15912e1cd418367435b9f3a08090e56a06315634b88ee06e83385cdca966c833a89d98786454216dc6602fbdff00063739e1f81eec07a38c185ec8b166893ec978c78d26020399a3a86bc24f4adeb8bc89009468bab10fd9ef0f7afd6d002f974c9fd15055de97098bde495cf7f17adf7bff597566c226f5552c64b087e52c95ad4eaf980e2626dfac388070d831ccfa5ed8ae3e78de3878853d619a8ae0be1b4c7b7d81cb7adb4c36e02e324c294c192cab3bc96a7d4ecace6c0865d6d4479b6a0829684a64d09d8861781cf47705d61fa11b222def429122d9fab5abb71ca4f3ac9a976baaa1edd21d296f1b7d185b527d590b3b3ee2aa7b609a0caa82d5d8a7dc03079fdbd8fe84a41edf4b35e3c23ec7b0682fe5ae16a2e1ec5d0dc54fdcafb402d0eb1bdf5"}, 0x1a00) r4 = ioctl$KVM_CREATE_VCPU(r0, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r4, &(0x7f0000000000/0x18000)=nil, &(0x7f00000000c0)=[@text32={0x20, &(0x7f0000000180)="0f066426640f0017c744240064000000c7442402cf4d98d1c7442406000000000f011c2466baa100b800780000eff466b8e8008ec0650f23e40f01c466baf80cb8e578f08fef66bafc0cec8a7f05", 0x4e}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) 13:36:48 executing program 5: sendmsg$TIPC_NL_NET_GET(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f0000000340)={&(0x7f0000000300)={0x34, 0x0, 0x200, 0x70bd26, 0x25dfdbfd, {}, [@TIPC_NLA_MEDIA={0x20, 0x5, 0x0, 0x1, [@TIPC_NLA_MEDIA_PROP={0x1c, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_MTU={0x8, 0x4, 0x4}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x4}, @TIPC_NLA_PROP_MTU={0x8}]}]}]}, 0x34}, 0x1, 0x0, 0x0, 0x10}, 0x40010) mkdirat(0xffffffffffffff9c, &(0x7f0000000240)='./file0\x00', 0x0) ioctl$VHOST_RESET_OWNER(0xffffffffffffffff, 0xaf02, 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, 0x0, 0x1ff) mount$fuse(0x20000000, &(0x7f00000004c0)='./file0\x00', 0x0, 0x7a04, 0x0) chdir(&(0x7f0000000240)='./file0\x00') r0 = creat(0x0, 0x0) r1 = socket$inet6(0xa, 0x400000000001, 0x0) close(r1) r2 = open(&(0x7f0000000080)='./bus\x00', 0x164142, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x3d2}}, 0x0) getsockname$packet(r3, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x3, 0x2, &(0x7f0000000400)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a6f4e0e4a9446ca2b5f1cc1a100a9af698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227ffff000000000000f07a72c2918451ebdcf4cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1083a30369d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8ed8fb7a68af2ad0000000000000006f803c6468972089b302d7bf6023cdcedb5e0125ebbcebdde510cb2364149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f40cfd7c3a1d37a6ab87b1586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660580800dbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd80a504cea9542e62d7f69667e3ddcd567b3aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d60532af9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb61e8caab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326efa31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c713ce69701919c326feccbf15711297e8d2016219848624b87cec2dbe98223a0eb4fa39f695c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc22941330000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f00000000df73be83bb7d5ad897ef3b7cda42013d53046da21b40216e14ba2d6af8656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b2633398631c7771429d120000de3241bf4a00fcffffffffffffffe09fec2271fe01589646efd1cf870cd7bb2366fde4a59429738fcc917a57f94f6c453cea793cc5ee0c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768fb40fe418ce970275d5bc8955778567bc79e13b78249788f11f7610b8b75d4fa32b561d46ea3abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0d4d1d4b405c37feaf3dd95f6ef2acd1fe582786105c7df8be5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e76003b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694da85bff9f5f4df9b3e90e5c708ce65cd6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb26e22a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d285b3b8a8c9ae3d14f93100c2e089b862eef552fcde2981f48c482bde6e4a4304e50c349f4f9ecee27de8f2a4ebb04b0c485b72d538ba4958ea8e4aa37094191e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b6000000000000000000d6d5210d7560eb92d6a97a27602b81f7636df1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d1a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e600263d9756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466ac96e0d4b3bb49faa5449209b085f3c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c7868c6da7eaa69eb7f7f80572fdd11bb1d0d1280fbc22bf73468788df51710d7d31c000000000000000000000000009bff5348dd9639a9f34b5f92b7646000e3053358f55cb9f97c269eaf7327c32ab116a303ae64c9c714217c"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], r4}, 0x48) sendmsg$ETHTOOL_MSG_CHANNELS_GET(r2, &(0x7f0000000200)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x40000000}, 0xc, &(0x7f0000000040)={&(0x7f0000000140)={0x94, 0x0, 0x4, 0x70bd2d, 0x25dfdbfb, {}, [@HEADER={0x50, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'xfrm0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth0_vlan\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'macvtap0\x00'}]}, @HEADER={0x30, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r4}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'ipvlan1\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x3}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}]}]}, 0x94}, 0x1, 0x0, 0x0, 0x40000}, 0x20000004) perf_event_open(&(0x7f00000000c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ftruncate(r2, 0x200005) sendfile(r1, r2, 0x0, 0x80001d00c0d0) sendmsg$SOCK_DESTROY(r0, 0x0, 0x84) 13:36:48 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_EXP_GET(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000200)=ANY=[@ANYBLOB="300000000102010300000000000000000000fffc1c0001800c00028005000100060000000c00028005000100110000005d54d49034cb8eddc0d1d7b35a392cfac6665a42d7b145dc50076c50faaecc73f3bad032e7a4a36dadced505bcc4cfed02adee2f4f30a1dd94e35ebc9366fbc51716b8db4a3ad41e5e4c4fb9fb82b8e8b9568d3ea59bc444bb7f52c050efb4e2f118c44d4f8d4b45c5255f82f74ce4e6e5d7"], 0x30}}, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) r3 = dup3(r2, r1, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) r4 = socket(0x10, 0x3, 0xc) sendmmsg$alg(r4, &(0x7f0000000140), 0xffffffffffffff68, 0x0) 13:36:48 executing program 5: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x1, &(0x7f0000000500)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f0000000000000000000b0000000001000008000000d2", 0x5a, 0x400}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="af"]) 13:36:48 executing program 5: syz_mount_image$squashfs(&(0x7f0000000040)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ed010000000000008f0000000000000041010000104080028b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af010000000000001b001e00000600786174747231060000c401274d0032274d00321100000d001200c100024d00244c00110000c10100000000000001", 0x1f6}], 0x0, &(0x7f0000000140)=ANY=[@ANYBLOB="00acbf7cc1f812d216ed5874d1c9c2517fc5da7299eca4030c937965ae2a9545216d5fb2450a05fdf0cdd15fdc9ff5bfd0660c18113d72c9e719c7665d59a847ab867b978ab594362938d11455a2bd956cba4f539efc4088f04fb1c1855d9e0c231d26ce1756a1cbe2749e8982991f328da44161fea3a6ea208172922a2f86df30a9c6cb71353aa78535e048828e19ea717deafd3f9a1c48a61ef55b4ad738f0fc4845fd2c72a62c840800000000000000ae00"]) 13:36:48 executing program 5: r0 = syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', &(0x7f00000001c0)='./file0\x00', 0x0, 0x3, &(0x7f0000000280)=[{&(0x7f0000000000)="eb3c906d6b66732e66617400028001000240000004f801", 0x17}, {&(0x7f0000000100)="535b5a4b414c4c05522020080000e780325132510000e780325100000000000a41660069006c00650030000f40fc", 0x2e, 0x7fd}, {0x0, 0x0, 0x10e00}], 0x0, &(0x7f0000002a00)=ANY=[@ANYBLOB="666c7573682c696f6368febbe1f2f9e026bc6f383835392d3135"]) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r1, 0x0) getsockopt$sock_int(r1, 0x1, 0x23, &(0x7f0000000080), &(0x7f0000000140)=0x4) mkdirat(r0, &(0x7f0000000040)='./file1\x00', 0x0) 13:36:48 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(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, &(0x7f00000001c0)={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="4800000010000507000000000000c40000000000", @ANYRES32=r5, @ANYBLOB="00f7fff6ff000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r5, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000300)=@newtfilter={0x50, 0x28, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r5, {0xfff8}}, [@filter_kind_options=@f_cgroup={{0xb, 0x1, 'cgroup\x00'}, {0x18, 0x2, [@TCA_CGROUP_POLICE={0x14, 0x2, [@TCA_POLICE_RESULT={0x8}, @TCA_POLICE_AVRATE={0x8}]}]}}, @TCA_RATE={0x6}]}, 0x50}}, 0x0) clock_gettime(0x0, &(0x7f00000066c0)={0x0, 0x0}) recvmmsg(r1, &(0x7f0000006500)=[{{&(0x7f0000000400)=@in6={0xa, 0x0, 0x0, @private2}, 0x80, &(0x7f0000000380)=[{&(0x7f0000000280)=""/28, 0x1c}, {&(0x7f0000000480)=""/146, 0x92}, {&(0x7f0000000540)=""/249, 0xf9}, {&(0x7f0000000640)=""/4096, 0x1000}], 0x4, &(0x7f0000001640)=""/47, 0x2f}, 0x8}, {{&(0x7f0000001680)=@l2tp={0x2, 0x0, @empty}, 0x80, &(0x7f0000001840)=[{&(0x7f0000001700)=""/64, 0x40}, {&(0x7f0000001740)=""/209, 0xd1}], 0x2, &(0x7f0000001880)=""/225, 0xe1}, 0x3}, {{&(0x7f0000001980)=@xdp, 0x80, &(0x7f0000001a00)}, 0xcd}, {{&(0x7f0000001a40)=@nl=@proc, 0x80, &(0x7f0000001d00)=[{&(0x7f0000001ac0)=""/237, 0xed}, {&(0x7f0000001bc0)=""/62, 0x3e}, {&(0x7f0000001c00)=""/228, 0xe4}], 0x3, &(0x7f0000001d40)=""/237, 0xed}, 0xffffffff}, {{0x0, 0x0, &(0x7f0000003080)=[{&(0x7f0000001e40)=""/78, 0x4e}, {&(0x7f0000001ec0)=""/38, 0x26}, {&(0x7f0000001f00)=""/94, 0x5e}, {&(0x7f0000001f80)=""/4096, 0x1000}, {&(0x7f0000002f80)=""/136, 0x88}, {&(0x7f0000003040)=""/34, 0x22}], 0x6, &(0x7f0000003100)=""/98, 0x62}, 0x1}, {{0x0, 0x0, &(0x7f0000003340)=[{&(0x7f0000003180)=""/217, 0xd9}, {&(0x7f0000003280)=""/167, 0xa7}], 0x2, &(0x7f0000003380)=""/4096, 0x1000}, 0x4}, {{&(0x7f0000004380)=@phonet, 0x80, &(0x7f00000054c0)=[{&(0x7f0000004400)=""/56, 0x38}, {&(0x7f0000004440)=""/4096, 0x1000}, {&(0x7f0000005440)=""/70, 0x46}], 0x3, &(0x7f0000005500)=""/4096, 0x1000}, 0x2}], 0x7, 0x22, &(0x7f0000006700)={r6, r7+10000000}) sendmsg$nl_route_sched(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f00000002c0)=ANY=[@ANYBLOB="240000001100270d00"/20, @ANYRES32=r5, @ANYBLOB="000000000000060000000000"], 0x24}}, 0x0) 13:36:48 executing program 5: r0 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/net/pfkey\x00', 0x10200, 0x0) semget(0x3, 0x3, 0x20) ioctl$DRM_IOCTL_SET_CLIENT_CAP(r0, 0x4010640d, &(0x7f0000000080)={0x2}) r1 = socket$inet6(0xa, 0x2, 0x0) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = bpf$MAP_CREATE(0x0, &(0x7f00004f9fe4)={0xe, 0x4, 0x4, 0x1}, 0x40) r4 = socket$inet6(0xa, 0x2, 0x0) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000000)={r3, &(0x7f00000001c0), &(0x7f0000000100)=@udp6=r4}, 0x20) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r5}, 0x2c, {'wfdno', 0x3d, r6}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) dup2(r5, 0xffffffffffffffff) 13:36:48 executing program 5: r0 = syz_open_dev$dri(&(0x7f00000001c0)='/dev/dri/card#\x00', 0x1, 0x0) pipe2(&(0x7f0000000080), 0x88800) ioctl$DRM_IOCTL_MODE_SETCRTC(r0, 0xc04064a0, &(0x7f0000000000)={0x0, 0x745000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "0000001c000000000000000000000000000000000000008000"}}) 13:36:48 executing program 5: syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x1, &(0x7f0000000080)=[{&(0x7f0000000700)="5e9a0eee00000000000000000000000000000000000000000000000000000078f10000000000007584d42c2a6bce9b9c000001000000000001000000000000005f42485266535f4d", 0x48, 0x10000}], 0x100004, &(0x7f0000000140)=ANY=[@ANYBLOB="c4858708a1f8eccae257cb02c0b2aa3ca5b22bb17b22eed7a04bef381df806671db2bb549bc791b916e839092580817f7d000910bbff44048a4d24e860b621242b90ff31475fc12bc2e964c4c4bd1a5495b494a9277847e63a51c7dc01f2e77818d7576ea4e8c3e04bc8acbea1b0c28fd115b6dada0ac2c2464daf5a1feeae803d3a191640c03d72cfd2f8d762a793e46c9e6c68afa9e21203c454d17584140a035e739500f7b643df164ca89638743d9cef49f3209d75ae62d5785bd2fd839149204a811a46d95431a5247a1d83069486014d1d"]) 13:36:48 executing program 5: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1fa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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 = socket$inet6(0xa, 0x400000000001, 0x0) close(r0) r1 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/net/ipv4/vs/sync_ports\x00', 0x2, 0x0) read$midi(r1, &(0x7f0000000280)=""/4077, 0xfed) r2 = open(&(0x7f0000000080)='./bus\x00', 0x143042, 0x0) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r3}, 0x2c, {'wfdno', 0x3d, r4}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) fallocate(r4, 0x10, 0x2, 0x2) r5 = creat(&(0x7f0000000140)='./bus\x00', 0x0) ftruncate(r5, 0x48280) sendfile(r0, r2, 0x0, 0x200fff) 13:36:48 executing program 5: openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000340)='memory.events\x00', 0x7a05, 0x1700) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r1, 0x0) write$cgroup_int(r1, &(0x7f0000000200), 0x12) ioctl$PERF_EVENT_IOC_PERIOD(r0, 0x40086604, &(0x7f0000000040)) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) 13:36:49 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = epoll_create1(0x0) r1 = epoll_create1(0x0) r2 = timerfd_create(0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f0000000000)={0xe000003b}) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r3, 0x0) syz_open_dev$mouse(&(0x7f00000000c0)='/dev/input/mouse#\x00', 0x0, 0x40800) ioctl$BLKPG(r3, 0x1269, &(0x7f0000000080)={0xfffff000, 0x1f, 0x2, &(0x7f0000000040)="fd0c"}) epoll_pwait(r1, &(0x7f00008c9fc4)=[{}], 0x1641, 0xfffffffffffffff7, 0x0, 0xf) syz_emit_ethernet(0x4a, &(0x7f0000000180)=ANY=[@ANYBLOB="aaaaaaaaaaaa0180c240000086dd60083ffa00120600fe8000000000000000e761a81cf68f2cda4933f8efec60000000000000bbfe8000000000009227000000000000aa00000000", @ANYRES32=0x41424344, @ANYRES32=0x41424344, @ANYBLOB="5000000090780000"], 0x0) r4 = gettid() fcntl$setown(0xffffffffffffffff, 0x8, 0xffffffffffffffff) fcntl$getownex(0xffffffffffffffff, 0x10, &(0x7f0000000000)={0x0, 0x0}) kcmp(r5, r4, 0x0, 0xffffffffffffffff, 0xffffffffffffffff) clock_gettime(0x0, &(0x7f0000000380)={0x0, 0x0}) timerfd_settime(r2, 0x0, &(0x7f0000000100)={{0x77359400}, {0x0, r6+30000000}}, 0x0) r7 = dup3(r2, r1, 0x0) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r7, &(0x7f0000000300)={0xf}) ioctl$sock_TIOCOUTQ(0xffffffffffffffff, 0x5411, &(0x7f0000000000)) 13:36:49 executing program 5: syz_open_dev$tty1(0xc, 0x4, 0x1) mkdir(&(0x7f0000000300)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='ramfs\x00', 0x0, 0x0) r0 = open(&(0x7f0000000140)='./file0\x00', 0x0, 0x0) fchdir(r0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x8200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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 = creat(&(0x7f0000000000)='./file0\x00', 0x0) r2 = fanotify_init(0x22, 0x0) fanotify_mark(r2, 0x2000000000000011, 0x2, r1, 0x0) r3 = open(&(0x7f00000002c0)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r3, &(0x7f0000000340)=ANY=[], 0x44) r4 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX(r4, 0x8933, &(0x7f0000000300)={'vlan1\x00'}) write$binfmt_script(0xffffffffffffffff, &(0x7f0000000040)=ANY=[@ANYRES64=r4], 0x131) sendfile(r3, r3, &(0x7f0000000240), 0x7fff) openat$fuse(0xffffffffffffff9c, &(0x7f0000000000)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000000180)=ANY=[@ANYRESHEX, @ANYBLOB=',rootmode=00000000000', @ANYBLOB]) syz_read_part_table(0x0, 0x1, &(0x7f0000000040)=[{&(0x7f00000003c0)="020181000fff0a000000ff45ac04800000005400e931190000000000000680170003550000000a000000877700720030070081ffffff000000ed690000da55aa", 0x40, 0x1c0}]) 13:36:55 executing program 5: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r0, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, 0xffffffffffffffff, 0x0) pipe2(&(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}, 0x4000) r3 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r3, 0x29, 0x20, &(0x7f0000000000)={@private1={0xfc, 0x1, [], 0x1}, 0x0, 0x0, 0x1, 0x1, 0xfffb, 0x0, 0x400000000}, 0x20) r4 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r3, r4, &(0x7f0000000240)=0x202, 0x4000000000dc) r5 = dup2(r3, 0xffffffffffffffff) sendmsg$SMC_PNETID_FLUSH(r5, &(0x7f0000003800)={&(0x7f00000005c0)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f00000037c0)={&(0x7f0000000600)=ANY=[@ANYBLOB="2800046e8248a9a55256f31fd33ff774512643000000000000003ea82f1ce8ec3d370738422ba201796817c739110be65d00ace208929737260bbd0af1470502c826a14ad6f40c", @ANYRESOCT=r1, @ANYRESOCT=r2, @ANYRES16, @ANYRES16], 0x28}, 0x1, 0x0, 0x0, 0x809}, 0x4004800) r6 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000440)='NLBL_UNLBL\x00') sendmsg$NLBL_UNLABEL_C_STATICADD(r1, &(0x7f0000000580)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000480)={&(0x7f0000000680)=ANY=[@ANYBLOB="d2256171eff3d712dbcab64245a9e9ce640000fc", @ANYRES16=r6, @ANYBLOB="100027a19014ce7f9ebd7000fbdbdf250300000008000500ac1414aa08000400ac1e000108000400ffffffff14000200fc010600000000000000000000000001050001000000000014000300fc020000000000000000000000000000050001000000000028f6e8e3f54b1261400be9755feefb1f23c288df40579e490225e824a712b5ccd3312ebacec4a320f3c13ed20ded41b439ea85d76bf41d8bcecc6dab208d44fb1d27ccefc871df58db47eeac6111786c987cab"], 0x64}, 0x1, 0x0, 0x0, 0x4808}, 0x4000000) sendmsg$NLBL_UNLABEL_C_STATICLISTDEF(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f0000000100)={&(0x7f0000000300)=ANY=[@ANYBLOB='\a3 \x00d', @ANYRES16=r6, @ANYBLOB="000229bd7000fbdbdf2508000000080005007f00000114000200fe80000000000000000000000000000a"], 0x30}, 0x1, 0x0, 0x0, 0x4000001}, 0x8040) sendmsg$NLBL_UNLABEL_C_STATICADD(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000080)={&(0x7f0000000200)={0x14, r6, 0x800, 0x70bd2c, 0x25dfdbfd}, 0x14}, 0x1, 0x0, 0x0, 0x4000091}, 0x80400c0) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f00000000c0)={&(0x7f0000000040)={0x30, r6, 0x8, 0x70bd26, 0x25dfdbfd, {}, [@NLBL_UNLABEL_A_ACPTFLG={0x5, 0x1, 0x1}, @NLBL_UNLABEL_A_IFACE={0x14, 0x6, 'virt_wifi0\x00'}]}, 0x30}, 0x1, 0x0, 0x0, 0x4000010}, 0x4000001) sendmsg$NLBL_UNLABEL_C_STATICLISTDEF(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x3c, r6, 0x100, 0x70bd28, 0x25dfdbfd, {}, [@NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @local}, @NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @empty}, @NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @private=0xa010100}]}, 0x3c}, 0x1, 0x0, 0x0, 0x8040}, 0x800) sendmsg$NLBL_UNLABEL_C_STATICADDDEF(0xffffffffffffffff, &(0x7f0000000180)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f00000000c0)={&(0x7f0000000280)={0x60, r6, 0x400, 0x70bd2d, 0x25dfdbfb, {}, [@NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @broadcast}, @NLBL_UNLABEL_A_IFACE={0x14, 0x6, 'veth1\x00'}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @private0={0xfc, 0x0, [], 0x1}}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @ipv4={[], [], @local}}, @NLBL_UNLABEL_A_IPV4MASK={0x8, 0x5, @loopback}]}, 0x60}, 0x1, 0x0, 0x0, 0x1}, 0x20000884) sendmsg$NLBL_UNLABEL_C_ACCEPT(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x60, r6, 0x200, 0x70bd26, 0x25dfdbfe, {}, [@NLBL_UNLABEL_A_SECCTX={0x21, 0x7, 'system_u:object_r:sysfs_t:s0\x00'}, @NLBL_UNLABEL_A_IPV6MASK={0x14, 0x3, @private2={0xfc, 0x2, [], 0x1}}, @NLBL_UNLABEL_A_IPV6ADDR={0x14, 0x2, @private1}]}, 0x60}, 0x1, 0x0, 0x0, 0x8881}, 0x4) syz_emit_ethernet(0x8a, &(0x7f0000000200)={@local, @remote, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "209200", 0x54, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x4e22, 0x41424344, 0x41424344, 0x0, 0x0, 0x15, 0x86, 0x0, 0x0, 0x0, {[@exp_fastopen={0xfe, 0x11, 0xf989, "22f04d7be4617c61d3e9ad889e"}, @mss={0x2, 0x4}, @sack_perm={0x4, 0x2}, @timestamp={0x8, 0xa}, @mptcp=@synack={0x1e, 0x10}, @mptcp=@mp_fclose={0x1e, 0xc}]}}}}}}}}, 0x0) 13:36:55 executing program 5: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$sock_int(r0, 0x1, 0xf, &(0x7f0000000100)=0x4, 0x4) bind$inet6(r0, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r0, 0x0) shutdown(r0, 0x1) syz_emit_ethernet(0x4a, &(0x7f0000000080)={@local, @remote, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, '~\x00 ', 0x14, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x4e22, 0x41424344, 0x41424344, 0x0, 0x0, 0x5, 0x10}}}}}}}, 0x0) 13:36:55 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000280)=ANY=[@ANYBLOB="3c00812000dc4f7506635008b20000030000b343", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b0001006d616373656300000c00028005000b0000000000"], 0x3c}}, 0x0) 13:36:55 executing program 5: keyctl$invalidate(0x15, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f0000001200)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100000061a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df79f298129da4871307b534bf901115e17392ac66ad029d1c000006146001e04aeacea799a22a2fa798b5adc43eb27d53319d0ad229e5752548300000000dbc2777df150b7cdd77b85b941092314fd085f028f2ed1a4535550614e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f3024b7041b1df65b3e1b9bf115646d14ce53d13d0ccacda1efc5f9094fa737c28b994a8512c816fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f5ee7ea2e534300bcb3fdc4b486fd03eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d43db8db03d4b7745fef1d04ec633dee254aed491b849a5a787e814c4fd21a18986252a70f8f92eb6f0e8c7db3598a6a7a103680e5e5971ff4bf23242a1f2c28159f09943b1b0452d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db8b20ce3f9f16cb7fc20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84af326f37f3e2c25a61ec45c3af97a4aff3fc8c108755f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85ad3428f4a1bc3f8fd8e4a5a33744ccc448bdf1d41a2d8bda74d66016ac59dda0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da32396a614cacad4aff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730401000000000000000000000000eb55d001623258a141bd587cc9dad46de56ef907b0000000000000000079ae5498f6589880ed6eea7b9c670012bd05e7de0940313c5870786554df26236ebced9390cb6941b8285d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bacf13464ca03aff14b9aa4bd9539f5096412b92012e095b84c20243ff98df3347f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd1d0000002000000001c800000000000000000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921f0128dfd70b438af60b060000000000000056642b49b745f3bf2cf7908b6d7d748308eea09fc361b4735efbf3411718d6ee7aebf9ef40662d7836d252c566f5ee938a836804ed3a1079b0282a12043408cd60b687dcff910700000000000000456f7d2a42bd13da2022f23daec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8fff71c2710a7ea8ae0dc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d006c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b28a60ca770663da451790cc36000906d5a9fad98c308e39bd3ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a73145dfcedad69da9cd4375c624600e78f4458542b14f29611f95d4a31838eeb20c20bb82aa31771cd379ec83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d310ab16bce9c764c714c9402c21d181aae59efb28d4f91652f6750b6ec962802c0320f8059195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa8090000000000008c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284db80e4636c25b96174327d82761c26e329555f9290af4000000000000000749efd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d20baca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92332af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a644e9e3d769db497c3960dfde12182334caee994adc38a436367a54b9e182b78e9a0ceb9a2cebdf902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101987602688888ccb85c86b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000002100000000000000000000000027c9a46157a3609b6fd9843ee19ec647249a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3dc8c17a23692759ccf5a205311b7ab2253269785d8db874609fd88e6043bd52ae84c1bb0c8a6c769f952283a1f4e3842edb3d42c68a2102fa1296dfff4a979369b0e8ebc628879a46e820a2cf91381dcc198e353047db70686d147357024eb3cb94f1e89cb5ba0a56aa046b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f1634e8fbd8d31330d89069f9648a2ff93060ff073b3a113e47edf76f7d1b8b90bc0df4cfb0b9c8c80158b44ecae9420654f7016b0aac117087406d343e27b372d603f0000008f2bcad7fe6bb932bc5751d2974e95455a277f9a9aeb29aa185d7fe74b25a3b472bc7bbdd2ac5a1ea608e8137ace0336a2ed07302475b38a1607cc1a84be659355629ab13a16d49008c3fcfa2423439aaf3e36cbf537801d3b384d63b95a3607961d5b59da48a0155e8e42cc13c702cc40c89cf86c2021d72f9f4ab1b00de555a5a39593c93871ff7eb5ecadb64837a2d887236cedaa5152e3d5864e57581b61f2b0960600000000000000265f091e7bce17d20604ffab751773a5cf2ed6c94682ebf13548209b8a719a7abc06ed03832bf274707c7c97536e20d2cb639ecd58709b05a20097208d03f7a146a690191361873867864e0af53eae997eecfa0dc3dcec19d3d901ee75c8710470d9eb6f62c5c721883f1544ba6627a9d2b58e8fbade7716f159af1c8dab05a933746c16b638df94b561c6715a32a394ed1e6c01670c931bfa52c58c6f34d64e758a7a7f7dcba2bab170ad7556a45774dfcc55257215c8ae719dc1c232fc6699ef83f85887d04a543030b4328ab48744ac23ff56fd2da52eb9fb2eefcdd2d92d73ac1b111ea8b5e1fec36a3579879acfe366d393f1fa9cbe08d9ba57a443643e9cd2519c88e91a5e458e66ea26822d27a45e0a9c10a127fed19e36b52655d4dd919a95eb4c25a08cb6e1a9b4d6813a0fd07a4ad9df661ab8b86a932db0df838b178540d88bd08365e547c970e2983200703864a3b9e1482cb479dad6d34d211b05267eb1355520e9ec0c5014b0832f7fb35782fdbfcbbc1254d295aa126f912ab2447c6a9007f53a7f5d51ea480371748d18d8e10608ab8261fe058d1732f28814a9981d84a04a2bb36c89bdd245e3293a14df1ac567301a79514f103abd387d6ef2d9d94508ac0f6135c8921279573e9ef585980789a92b9848906f545559d32112b5040f0776703763249ca98499efbb9e7362e4999594c1086d8954e9469db01d85fb0b9b3148663e9ea2e755d96c2986712d25a9922565e947d03c42215118426d5451c262985bd571c363d260faea1db53e2cf3427c90aefa2662a1c2b28b0e020e872bda1d39da508de5a2952627ca1e0d5a0a1f3945ef2fba3ff9f5142b2a35d23b6728febfd82dfae07f59532886d96ddbf59b7f95ce81f048de58baae4cc90ef4878ce334a36055159376de87dd8f8a15f2ce182e8da95582e0b2d56c94c057dee4d66039905b750bbbee4edc051da9ac5ddf9a0e96e1308611aa0a8d6b6a640e803362f361641ee367c2863ef432057eaf6d47765a1fe091a557fe0006f7003c08c0bc8f3d47bf703f466799aa89b73f10a5e9386377189e9fe5a302a6a3eef2f4bb10300ec4dff63c15fcc6ab37fc303a593422b0ada81ee70e61506393ab7994645c1c6f2016dddb07e411e37d7a1597ee1b1c35d9ce13b9bc378e9e660e1c57bdceda9cec725719dbc10aec5e4e84d79ada50c0304065c63437328caf28844e06abee81b0bbc34ceddc5a281161f00b4dc290cd3397ea8c78d185aafd546acb8a7448b10f67196cac6436ec4377009f1c703439f1a3a7d03f63826c3e3b408a5f1f66f1ff2e188b4d3e2a5edd89ca3b388166483f3ba72c146f3ddae21a84c12376d71eeefbb73159ec61aa26596e8e41cdcd8ef70e3ae061048e75fb75eea7744d437a2ef67825699c47eec8c5cd79729293665019f6ed528e40442f47408352ffe3cf332f93528071cda332d19e6d2f33f0455ec99f47aeef72ef74613abcbc142956563802a62eb77567bbcbd053f34e764d844fa808c2c62ff9d8f3ab215a8a66815f8f0750a2ec19552779a254e82cc22413c1eed679db64f46691a30ae2d1c7e6bc17c6b3ddef8d08838cc27b57df515ea1514c4ed59b8c60e2b600d028c035184a7603851decbd9d07f9c6773040a5e23ef1a40e9737ab955622a6268cf838a8b274b99010856be0574c9ab7f62fe27a365bad3264d3dfd352e7af5cc9243013d7"], &(0x7f0000000100)='GPL\x00'}, 0x48) 13:36:55 executing program 5: prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x802106041ffa, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() clone(0x62208f80, 0x0, 0x0, 0x0, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x0) r1 = gettid() r2 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ptmx\x00', 0x0, 0x0) read(r2, &(0x7f00003fefff)=""/1, 0x1) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r3, 0x0) ioctl$SIOCSIFMTU(r3, 0x8922, &(0x7f0000000040)={'ip6gre0\x00'}) tkill(r1, 0x16) clone(0x0, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) 13:36:55 executing program 5: mkdirat(0xffffffffffffff9c, &(0x7f0000000240)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) mount$fuse(0x20000000, &(0x7f00000004c0)='./file0\x00', 0x0, 0x0, 0x0) chdir(&(0x7f0000000240)='./file0\x00') perf_event_open(&(0x7f000001d000)={0x5, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xfffffff7ffffffff, 0xffffffffffffffff, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r0, 0x0) r1 = open(&(0x7f00000001c0)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x8400, 0x145) mkdirat(r1, &(0x7f0000000280)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x186) ioctl$vim2m_VIDIOC_S_FMT(r0, 0xc0d05605, &(0x7f0000000040)={0x0, @raw_data="6f56c9451021227dd8e1b982ade97972538d14bf75e37a3c2a6294d9a363a36520186d41bbbb16d75e6bd78207d3829e1cdcf4ac4c8d331e0e039cd90dec0ad13c1358a0be40733636403532ad171c755d0f68338d2a3749a3ece3a6b3f112c1c8318e39ee5a796ba5ff2552dab7eb8d9a56563280e50885797b8128dfb615ef238eb8566c5b5ad957f545e777cb8bb47faea40307b0893b266d848066b6f245c6595c82977b7334b125effdc6f6a02497cc5b6e6ed69c2c9ba9d72285b3e67c8578f0ce662cb5e4"}) r2 = open(&(0x7f0000000300)='.\x00', 0x0, 0x0) mkdirat(r2, &(0x7f0000000400)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0) renameat2(r2, &(0x7f0000000180)='./file0\x00', r2, 0x0, 0x2) r3 = creat(&(0x7f0000000240)='./bus\x00', 0x0) fallocate(r3, 0x0, 0x0, 0x8800000) sendmsg$TIPC_CMD_SHOW_NAME_TABLE(0xffffffffffffffff, 0x0, 0x0) 13:36:55 executing program 5: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='bic\x00', 0x4) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, [], 0x1c}, 0xd}, 0x1c) bind$alg(0xffffffffffffffff, &(0x7f0000000240)={0x26, 'aead\x00', 0x0, 0x0, 'morus1280-generic\x00'}, 0x58) sendto$inet6(r0, &(0x7f0000000200)='\n', 0x1, 0x0, 0x0, 0x0) accept4$nfc_llcp(0xffffffffffffffff, &(0x7f0000000040), &(0x7f00000000c0)=0x60, 0x80800) prctl$PR_SET_CHILD_SUBREAPER(0x24, 0x1) 13:36:55 executing program 5: r0 = getpid() prctl$PR_SET_PTRACER(0x59616d61, r0) clone(0x2000000002000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r1 = gettid() r2 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$IPT_SO_SET_REPLACE(r2, 0x4000000000000, 0x40, &(0x7f00000002c0)=@raw={'raw\x00', 0xc01, 0x3, 0x268, 0x0, 0x5002004a, 0x0, 0x0, 0x0, 0x1d0, 0x3c8, 0x3c8, 0x1d0, 0x3c8, 0x3, 0x0, {[{{@ip={@rand_addr, @rand_addr, 0x0, 0x0, 'vlan0\x00', 'macvlan1\x00', {}, {}, 0x16}, 0x0, 0x70, 0xd8}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x0, '\x00', 'syz0\x00'}}}, {{@uncond=[0x0, 0x0, 0x0, 0x0, 0x0, 0x60], 0x0, 0x98, 0xf8, 0x0, {}, [@inet=@rpfilter={{0x28, 'rpfilter\x00'}}]}, @common=@SET={0x60, 'SET\x00'}}], {{[], 0x0, 0x70, 0x98}, {0x28, '\x00', 0x4}}}}, 0x2c8) ptrace$setopts(0x4206, r1, 0x0, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) ioctl$sock_inet6_tcp_SIOCOUTQ(r3, 0x5411, &(0x7f0000000040)) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r3, 0x0) setsockopt$inet_MCAST_MSFILTER(r3, 0x0, 0x30, &(0x7f0000000900)=ANY=[@ANYBLOB="050000000000000002004e22ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000500000002004e22e00000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000faff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004e227f00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004e20e000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000002004e247f00000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004e237f000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e56c3bc8219cb925c336d0ebf6c96352ee198d76"], 0x310) tkill(r1, 0x12) wait4(0x0, 0x0, 0x0, 0x0) r4 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) r5 = socket$inet_icmp(0x2, 0x2, 0x1) setsockopt$EBT_SO_SET_COUNTERS(r5, 0x0, 0x81, &(0x7f00000000c0)={'filter\x00', 0x0, 0x0, 0x0, [], 0x6, &(0x7f0000000080)=[{}], 0x0, [{}, {}, {}, {}, {}, {}]}, 0xd8) dup3(r4, r2, 0x0) ioctl$SNAPSHOT_FREE_SWAP_PAGES(r4, 0x3309) 13:36:55 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000000080)=@newlink={0x50, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x24, 0x12, 0x0, 0x1, @macvlan={{0xc, 0x1, 'macvlan\x00'}, {0x14, 0x2, 0x0, 0x1, [@IFLA_MACVLAN_MODE={0x8, 0x1, 0x10}, @IFLA_MACVLAN_MACADDR_MODE={0x8, 0x3, 0x2}]}}}, @IFLA_ADDRESS={0xa, 0x5, @empty=[0x4]}]}, 0x50}}, 0x0) socket$nl_audit(0x10, 0x3, 0x9) 13:36:55 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) eventfd2(0x8, 0x80800) socket$vsock_dgram(0x28, 0x2, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0xa, &(0x7f0000000080)=0x8, 0x4) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000180)='nv\x00', 0x3) sendto$inet6(r0, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a}, 0x1c) ioctl$VIDIOC_TRY_DECODER_CMD(0xffffffffffffffff, 0xc0485661, &(0x7f0000000000)={0x0, 0x1, @start={0x6, 0x1}}) memfd_create(&(0x7f0000000200)='\x00\x83\xc5\xcb\xc7\x108\xa4\x03\x9c0T3\xc5\x97\x95\xb5\x8fM\xddU\x10\xaaod\x96\xeeM\xbe\x0e\xe4\xcc\xc4\xcf,\x9f7\xcc(Z\x13`\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00c\r\x14\xd8g\x02S -\xfd\xb5a\xedf|\xc4\xf9\xd2J\xadi\xcc[\\P\xa6F\x8c^\xc7i)d\x9f\xfckW\x86\xe4Qg1\xbdD\x1c\x13O\\\x7fS/\xc9d!\x19\"\x16\xfdC\tz\xf1\xf3q\xfd\'.\xb4\x14\x14m_&\x88\x8cfI\x18&\xea5\xa0\x00\xd2\xcd\xf0\xd5\x03\x9f\x18\x8d6\xc9,\xc9Y\xb8\xc9\xdd\xadp3\xbe\x93C\xa3b\x18\xe7\xcdx\x86aA\x9e\x83\aKc\xba\x05\x19\xb1\x9cJ\xce2\x9fW\xd3', 0x0) 13:36:56 executing program 5: r0 = socket$unix(0x1, 0x2, 0x0) r1 = socket$inet(0x2, 0x2, 0x3f8d) ioctl$DRM_IOCTL_PRIME_HANDLE_TO_FD(0xffffffffffffffff, 0xc00c642d, &(0x7f0000001880)={0x0, 0x80000}) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r2, 0x0) ioctl$BLKTRACESTOP(r2, 0x1275, 0x0) ioctl$SNDCTL_TMR_METRONOME(r2, 0x40045407) r3 = fcntl$dupfd(r0, 0x0, r1) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) r4 = dup2(r0, r2) sendmsg$nl_route_sched(r4, &(0x7f0000001600)={&(0x7f0000001500)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f00000015c0)={&(0x7f0000001ec0)=ANY=[@ANYBLOB="08010200272892e74b0000005d9c7e695750e601eef4a6b1873021baf8e1cd4fc56a491844f014ca266414e5774276957fefd423490ed5ba5f1714a05e3961f904110510f1e5653ce196b13108c192010a234c9cd27c604772a270f81ebdbfcba9bec60f5548a043747240846f6449c0bd5761e8652a1525ff70c0b1da4a518adf10578b78aaf3cdbe555aa6222fdb87e8a6467fbbb6c003cd02bd94cabbc1da0589a7c7763b67b149fa1b7d31c08a4f47e866721c14e0439762a16ef164e8efdc642c46ac18591aa8ce67af65b28f9d4657933b3fbf3a7e4925ee98bb2b97276d07445e66eff061", @ANYRES32=0x0, @ANYBLOB="0200f1ffffff0b00efff0c00090001007072696f000000001800020001000000baa928643f314449d2dc0c3912d01fb508000e000e339236b80008801c000100040100040600000001000000e00d0000000000800a0000001800020042fb06000800ff030004060004007f00030080001c000100427f040002000000010000003f0000002246ffff060000001000020001018800ff0fe8faff7fffff1c000100b30176004e080000000000000700000001000080030000000a00020001000002010000001c0001000206080bff0300000100000006000000080000000600000010000200040003000100000097070200"], 0x108}, 0x1, 0x0, 0x0, 0x44}, 0x4004) r5 = openat$audio1(0xffffffffffffff9c, &(0x7f0000000040)='/dev/audio1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_SETFRAGMENT(r5, 0xc004500a, &(0x7f0000000000)) read$dsp(r5, 0x0, 0x4c) ioctl$RNDADDENTROPY(r4, 0x40085203, &(0x7f0000001b80)=ANY=[@ANYBLOB="ff07000099000000174c5d0b7e26f40004732e1006f54871b7ef17f469bda0bde5e7ada309321338df9d196b94a429f8ae5e86db866b61423ef313ff518f34b677d6ad4e52416c5f35afa04b7672b5f022562edaa566636c1485cd3f1d1af1511f43d301e6801507d86563620fe25d116e925e60dd254ace44e18d555961b5ba65b83507f599417de6a33521a769b0fd1c99eae905b063069ca513b59f909471d1adfc0583681bde56a7403de6993a95d25c167b3ea5d9d64406e963eb66a00ec5b469efbdda15b3c945d67c028b395b94410a4d420078068478c4784230d2c4bd5187977ad94ed91a3b8f38c5a10d5b40d61fbf01b236709dcf6984eb87bc0785ed9a351b84211f1e3807"]) ioctl$IOCTL_CONFIG_SYS_RESOURCE_PARAMETERS(0xffffffffffffffff, 0x40096100, &(0x7f00000014c0)={{&(0x7f0000001440)={'KERNEL\x00', {&(0x7f0000001180)=@adf_str={@normal='NumberDcInstances\x00', {"077a4590253b4b674c9a8e8d07f860d16e8e890d968c3417f958217847a2a51f0c8ecf7fe8c36cf0006e88d16c81d0fefe9869e7977e633cda6fb8c20b117982"}, {&(0x7f00000010c0)=@adf_hex={@bank={'Bank', '3', 'InterruptCoalescingNumResponses\x00'}, {0x913f}}}}}, {&(0x7f00000013c0)={'KERNEL\x00', {&(0x7f0000001300)=@adf_str={@normal='NumberCyInstances\x00', {"b4c20da9d8b06030cd445935df6d9805a9087ce1bcb224abc28d9a97006db7639bacdd8c8106c44c570103c1bcb7f2e07013ee11556efbb92918bee48654c365"}, {&(0x7f0000001980)=@adf_str={@normal='NumberCyInstances\x00', {"1007382382e80ac75248facddecf5570bfcf1ca5b463f9d95e76194dd3ba357c8732fbde33e9036294f8747dfd6867700b92d0f7bfc57bdeee929a5184dc4f58"}, {&(0x7f00000018c0)=@adf_hex={@bank={'Bank', '2', 'InterruptCoalescingNumResponses\x00'}, {0x69}}}}}}}}}}}, 0x81}) ioctl$SNDCTL_DSP_CHANNELS(r5, 0xc0045006, &(0x7f0000000080)=0x5) sendmsg$NFT_MSG_GETRULE(r4, &(0x7f0000001780)={&(0x7f0000001680)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f0000001740)={&(0x7f00000016c0)={0x58, 0x7, 0xa, 0x101, 0x0, 0x0, {0x3, 0x0, 0x8}, [@NFTA_RULE_USERDATA={0x23, 0x7, 0x1, 0x0, "dc1ee5ca7d16839c42fe823d19ae1784dc92bc7d40bfe3c7cfa51e0edffe57"}, @NFTA_RULE_COMPAT={0xc, 0x5, 0x0, 0x1, [@NFTA_RULE_COMPAT_PROTO_IPV4={0x8, 0x1, 0x1, 0x0, 0x29}]}, @NFTA_RULE_ID={0x8, 0x9, 0x1, 0x0, 0x2}, @NFTA_RULE_POSITION_ID={0x8, 0xa, 0x1, 0x0, 0x1}, @NFTA_RULE_COMPAT={0x4}]}, 0x58}, 0x1, 0x0, 0x0, 0x40040}, 0x40000) read$dsp(r5, &(0x7f00000000c0)=""/4096, 0x1000) ioctl$F2FS_IOC_GET_FEATURES(r3, 0x8004f50c, &(0x7f0000001640)) 13:36:56 executing program 5: 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) clone(0x0, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) request_key(0x0, 0x0, 0x0, 0x0) r0 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000080)='/dev/vsock\x00', 0x0, 0x0) ioctl$ASHMEM_SET_NAME(r0, 0x41007701, &(0x7f00000000c0)='Z\x00') r1 = socket$netlink(0x10, 0x3, 0x0) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, 0x0, 0x0) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000380)=ANY=[@ANYBLOB='<\x00\x00\x00\x00', @ANYRES32, @ANYBLOB="fe00000000000000837312000c000100626f6e64"], 0x3c}}, 0x0) 13:36:56 executing program 5: getsockopt$inet_sctp_SCTP_GET_PEER_ADDRS(0xffffffffffffffff, 0x84, 0x6c, &(0x7f0000000280)={0x0, 0xb9, "ff2c4df6a707a5ba0c7b57a06e5997c4401a0310014a5bc2e9b445214de4a4a2e7f7e960b354a75d1971d5aba1404941fe3fccca2d7e1d35489b00109e0927a0cf2cc96684f2f2cc1a6d75ddfcdea989738045f6838eef08ae20e1376decd0874e58e1fa8c6e505765bbb5d1ce39c2eb2261ed2bbeca406cbca8b4e690c79d5c0253fd48166dcaf774ffe83aa8ce5a5842527ce8dcc527725b579b0c63e21c93f57566d062670a24c27a284ec3bdfb063837a540aed5f5d841"}, &(0x7f0000000380)=0xc1) r0 = socket$nl_netfilter(0x10, 0x3, 0xc) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000040)={0xffffffffffffffff}) r2 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000480)='/dev/autofs\x00', 0x444000, 0x0) sendmsg$IPCTNL_MSG_CT_GET_STATS(r2, &(0x7f0000000580)={&(0x7f00000004c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000000540)={&(0x7f0000000500)={0x14, 0x5, 0x1, 0x101, 0x0, 0x0, {0x0, 0x0, 0x8}, ["", ""]}, 0x14}, 0x1, 0x0, 0x0, 0x40}, 0x20040880) r3 = openat$mice(0xffffffffffffff9c, &(0x7f00000003c0)='/dev/input/mice\x00', 0x42000) bind$ax25(r3, &(0x7f0000000400)={{0x3, @null}, [@bcast, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @null, @default, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @null, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}]}, 0x48) r4 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000140)={0x54, 0x2, 0x6, 0x101, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_CADT_FLAGS={0x8}]}]}, 0x54}}, 0x0) getsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(r4, 0x84, 0x22, &(0x7f0000000100)={0x0, 0x202, 0x0, 0x7, 0x0}, &(0x7f00000001c0)=0x10) setsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER_VALUE(r4, 0x84, 0x7c, &(0x7f0000000240)={r5, 0x7b4e, 0x3f}, 0x8) r6 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000)='/dev/zero\x00', 0xc0000, 0x0) ioctl$DRM_IOCTL_MODE_SETPROPERTY(r6, 0xc01064ab, &(0x7f00000000c0)={0x10e, 0x3ff, 0x6}) 13:36:56 executing program 5: mkdir(&(0x7f0000000040)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000280)='devtmpfs\x00', 0x0, 0x0) openat$vfio(0xffffffffffffff9c, &(0x7f0000000080)='/dev/vfio/vfio\x00', 0x80000, 0x0) mount$overlay(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f00000000c0)='overlay\x00', 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB="000200"/16]) r0 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) getdents64(r0, 0x0, 0x0) r1 = open(&(0x7f00000002c0)='./file0\x00', 0x0, 0x0) getdents64(r1, &(0x7f0000000100)=""/241, 0xffd1) 13:36:56 executing program 5: r0 = fanotify_init(0x0, 0x0) sync_file_range(r0, 0x4, 0x9, 0x2) write$binfmt_aout(r0, &(0x7f00000003c0)=ANY=[@ANYBLOB="0000000012"], 0x8) 13:36:56 executing program 5: r0 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000080)='/dev/nullb0\x00', 0x4000000004002, 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) mmap(&(0x7f0000000000/0xe7e000)=nil, 0xe7e000, 0x200000e, 0x13, r0, 0x0) syz_emit_ethernet(0x300cce, &(0x7f0000000000)=ANY=[@ANYBLOB="aaaa8aaaaaaa000000000000910000008100000f0d3307c00c300000000000eb00000000000000000000000000000000000000000000000091c8ad1fbb7f00"], 0x0) 13:36:56 executing program 5: syz_mount_image$vfat(&(0x7f0000000000)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000000040)="601c6d6b646f736617e43c00088020000200000004f8000020004000000000000000000001", 0x25}, {0x0, 0x0, 0x200000000011000}], 0x0, &(0x7f0000000240)=ANY=[]) openat$dir(0xffffffffffffff9c, &(0x7f0000000c40)='./file0/file0\x00', 0x44ec1, 0x0) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x2, &(0x7f0000000080)=0x5, 0x4) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0x6) setresuid(0x0, r1, 0x0) mount$fuse(0x0, &(0x7f00000000c0)='./file0/file0\x00', 0x0, 0x0, 0x0) 13:36:56 executing program 5: perf_event_open(&(0x7f0000000340)={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, 0x0, 0xffffffffffffffff, 0x0) syslog(0x9, &(0x7f00000001c0)=""/234, 0xea) ioctl$KVM_SET_MP_STATE(0xffffffffffffffff, 0x4004ae99, &(0x7f0000000000)=0x6) 13:36:56 executing program 5: perf_event_open(&(0x7f00000003c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x7, 0x2}, 0x0, 0x7, 0x1920, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) pipe2(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) r2 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000140)='ethtool\x00') sendmsg$ETHTOOL_MSG_CHANNELS_SET(r1, &(0x7f0000000280)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000200)={&(0x7f0000000180)={0x7c, r2, 0x100, 0x70bd25, 0x0, {}, [@ETHTOOL_A_CHANNELS_RX_COUNT={0x8, 0x6, 0x3}, @ETHTOOL_A_CHANNELS_TX_COUNT={0x8}, @ETHTOOL_A_CHANNELS_HEADER={0x40, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_FLAGS={0x8}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'batadv_slave_1\x00'}]}, @ETHTOOL_A_CHANNELS_OTHER_COUNT={0x8, 0x8, 0x8}, @ETHTOOL_A_CHANNELS_COMBINED_COUNT={0x8, 0x9, 0x6}, @ETHTOOL_A_CHANNELS_RX_COUNT={0x8, 0x6, 0xdb9b}]}, 0x7c}, 0x1, 0x0, 0x0, 0x40}, 0x0) r3 = socket$kcm(0x10, 0x2, 0x10) ioctl$SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS(0xffffffffffffffff, 0xc0045516, 0x0) ioctl$TIOCNXCL(r0, 0x540d) pwrite64(r1, &(0x7f00000002c0)="27cfa7e9acc8fb9a68916e76bb66913f3eaa6db56f4a1dcef7f14a330088ad52a818210251a71a7353c461cf0091c3046014fd87e26eda599872411fd5eca1f0d69c81286822fb3bd3cd72dd838dece8491c9f825b36dabc691b812b8b299ab6051448cd5097747f61886d2fa9f6b59274c5926bdab6a6e2384faa4a2bc750ac5eab7d29fcffafb25d3eb142b9d496fb120716ce6e4569779fea77e7676a7c2cb19f874e1b2c07c607341f2e845100ff5d4228e69e5c425d707236923cc4f653df2f8e997405e3703f035ab0cd0b4a1db2e00d763bc499c439323506a29c8dab3fdad044f399b520e35039", 0xeb, 0xffffffff) sendmsg$kcm(r3, &(0x7f0000000080)={0x0, 0x3200, &(0x7f00000000c0)=[{&(0x7f0000000000)="2e00000022008151e05b80ecdb4cb904044865160b26160002000000740004140e001100024d0000dc2976d153b4", 0x235}], 0x1}, 0x0) syz_genetlink_get_family_id$l2tp(0x0) ioctl$PERF_EVENT_IOC_SET_BPF(r1, 0x40042408, r0) 13:36:57 executing program 5: r0 = perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 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, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$TIPC_NL_NAME_TABLE_GET(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x1}, 0xc, 0x0}, 0x40000) memfd_create(&(0x7f0000000240)='.^\xc5', 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000600)='cpuacct.usage_user\x00', 0x26e1, 0x0) openat$cgroup_int(0xffffffffffffffff, &(0x7f0000000000)='cpuset.cpus\x00', 0x2, 0x0) bpf$BPF_PROG_QUERY(0x10, &(0x7f0000000080)={0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0}, 0x20) ioctl$PERF_EVENT_IOC_PERIOD(r1, 0xc0c0583b, &(0x7f0000000000)) ioctl$BTRFS_IOC_SEND(r0, 0x40489426, &(0x7f0000000140)={{}, 0x8, &(0x7f0000000040)=[0x9, 0x8, 0x101, 0x5, 0x7884, 0x100, 0x0, 0x6], 0xfff, 0x1, [0x9, 0x7ff, 0x3, 0x9]}) ioctl$PERF_EVENT_IOC_PERIOD(0xffffffffffffffff, 0xc0c0583b, &(0x7f0000000080)) 13:36:57 executing program 5: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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 = socket$rds(0x15, 0x5, 0x0) bind$rds(r0, &(0x7f0000000180)={0x2, 0x0, @local}, 0x10) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r1, 0x0) r2 = syz_open_dev$vcsa(&(0x7f00000001c0)='/dev/vcsa#\x00', 0x7, 0x311000) fsetxattr(r2, &(0x7f0000000200)=@known='security.apparmor\x00', &(0x7f0000000240)='hugetlb.2MB.limit_in_bytes\x00', 0x1b, 0x0) accept4$alg(r1, 0x0, 0x0, 0x80800) sendmsg$rds(r0, &(0x7f0000001600)={&(0x7f0000000000)={0x2, 0x0, @remote}, 0x10, 0x0, 0x0, &(0x7f0000000780)=[@rdma_args={0x48, 0x114, 0x1, {{}, {0x0, 0x2c}, &(0x7f00000006c0)=[{&(0x7f0000000100)=""/44, 0x410200}], 0x1}}], 0x48}, 0x0) r3 = getpgrp(0x0) move_pages(r3, 0x9, &(0x7f0000000040)=[&(0x7f0000ffc000/0x3000)=nil, &(0x7f0000047000/0x2000)=nil, &(0x7f0000718000/0x3000)=nil, &(0x7f000024d000/0x1000)=nil, &(0x7f0000061000/0x2000)=nil, &(0x7f0000ab2000/0x1000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000872000/0x2000)=nil, &(0x7f00001a6000/0x3000)=nil], &(0x7f00000000c0)=[0x6, 0x20], &(0x7f0000000140)=[0x0, 0x0], 0x0) 13:36:57 executing program 5: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) ioctl$sock_SIOCSIFVLAN_SET_VLAN_NAME_TYPE_CMD(r1, 0x8983, &(0x7f0000000080)={0x6, 'xfrm0\x00', {0x9}, 0x3c28}) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_emit_ethernet(0x7e, &(0x7f0000000000)={@link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0x3}, @random="e0d35b1004bb", @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x70, 0x0, 0x0, 0x0, 0x1, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, @local}, @source_quench={0xb, 0x0, 0x0, 0x6cdb4a01, {0x15, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x89, 0x0, @empty, @local, {[@lsrr={0x83, 0x1b, 0x0, [@multicast2, @private, @empty, @empty, @rand_addr, @loopback]}, @ssrr={0x89, 0xf, 0x0, [@multicast2, @multicast2, @rand_addr]}, @ssrr={0x89, 0x13, 0x0, [@loopback, @broadcast, @local, @local]}]}}}}}}}, 0x0) 13:36:57 executing program 5: r0 = socket$netlink(0x10, 0x3, 0xc) writev(r0, &(0x7f0000000080)=[{&(0x7f0000fb6000)="1f00000002031900000007000000e3800802bb0509000100010100493ffe58", 0x1f}], 0x1) socket$inet_udp(0x2, 0x2, 0x0) r1 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_inet_SIOCSIFFLAGS(r1, 0x8914, &(0x7f0000000140)={'syz_tun\x00'}) r2 = socket$netlink(0x10, 0x3, 0xc) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r3, 0x0) setsockopt$packet_rx_ring(r3, 0x107, 0x5, &(0x7f00000001c0)=@req3={0x7fffffff, 0x7, 0x4, 0xf, 0x8001, 0x9, 0x100}, 0x1c) writev(r2, &(0x7f0000000100)=[{&(0x7f00000000c0)="1f00000002031900000007000000068100ed853b09000100010100ff3ffe58", 0x1f}], 0x1) ioctl$sock_inet_SIOCSIFFLAGS(0xffffffffffffffff, 0x8914, 0x0) r4 = signalfd4(r1, &(0x7f0000000000), 0x8, 0x80800) ioctl$TUNGETIFF(r4, 0x800454d2, &(0x7f0000000180)={'dummy0\x00'}) accept4$unix(0xffffffffffffffff, 0x0, &(0x7f0000000040), 0x80000) 13:36:57 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={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, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000400)=ANY=[@ANYBLOB="3c00000024000b0f00000000e4ff000000000000", @ANYRES32=r4, @ANYBLOB="00000000ffffffff000000000b00010064736d61726b00000c0002000600010020"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000340)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {}, {0x6}}, [@filter_kind_options=@f_basic={{0xa, 0x1, 'basic\x00'}, {0xc, 0x2, [@TCA_BASIC_CLASSID={0x8}]}}]}, 0x3c}}, 0x0) r5 = socket$nl_route(0x10, 0x3, 0x0) r6 = openat$hwrng(0xffffffffffffff9c, &(0x7f00000002c0)='/dev/hwrng\x00', 0x440000, 0x0) setsockopt$inet6_MRT6_DEL_MFC_PROXY(r6, 0x29, 0xd3, &(0x7f0000000380)={{0xa, 0x4e20, 0xfff, @private2, 0x81}, {0xa, 0x4e24, 0x8, @dev={0xfe, 0x80, [], 0x30}, 0x4}, 0x3, [0x0, 0x4, 0x0, 0x1f, 0x200, 0x4, 0x0, 0x8]}, 0x5c) r7 = socket(0x1, 0x803, 0x0) getsockname$packet(r7, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000240)=0x14) sendmsg$nl_route(r5, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000500)=@newlink={0x20, 0x11, 0x40d, 0x0, 0x0, {0x0, 0x0, 0x0, r8}}, 0x20}, 0x1, 0x74}, 0x0) getpeername$packet(r3, &(0x7f0000000300)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000440)=0x14) sendto(r5, &(0x7f0000000540)="a9270fea533d40cf59adc8c0a9109b4375b2a50852aa3be9487ebbb2e29b3cf9455be45bb6f7a53cd39098fc179ad474fdf6cbee98c02a3b339cc1583e0ea5bc49ec277dbafc51c04fe0706e611192d8821ae5734dbd78593534f1ec617c6869f3c06ef70177cd8080d2bdc547e36548f3cf62b554dee2f2dc923924947ab27f95aa7b10f180ec0344eb38a5875c04f8d90cd83e0a0b12205afb4a4941653d10b309b312beadc580ae982ca77715595f04123271f06970aa8d3b99b5738423bccce7818e96e5ba5f", 0xc8, 0x4004000, &(0x7f0000000480)=@can={0x1d, r9}, 0x80) 13:36:57 executing program 5: sendmsg$NLBL_CIPSOV4_C_REMOVE(0xffffffffffffffff, 0x0, 0x0) sendmsg$NLBL_CIPSOV4_C_LISTALL(0xffffffffffffffff, 0x0, 0x40400) sendmsg$NLBL_CIPSOV4_C_ADD(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000003c0)=ANY=[@ANYBLOB="b800"], 0xb8}, 0x1, 0x0, 0x0, 0x40000}, 0x0) sendmsg$NLBL_CIPSOV4_C_ADD(0xffffffffffffffff, 0x0, 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x20000000, &(0x7f00000000c0)='./file0\x00', 0x0, 0x2001001, 0x0) syz_open_dev$char_raw(&(0x7f0000000180)='/dev/raw/raw#\x00', 0x1, 0x20043) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x68200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) ioctl$sock_SIOCADDDLCI(r0, 0x8980, &(0x7f0000000140)={'\x00', 0x7}) connect$inet6(r0, &(0x7f0000000100)={0xa, 0x0, 0x0, @ipv4={[], [], @broadcast}}, 0x1c) syz_emit_ethernet(0x6e, &(0x7f0000000000)=ANY=[@ANYBLOB="ffffffffffffffffffffffff86dd60d64d4d00383a00fc020000000000000000000000000001ff02000000000000000000000000000e02009078000000006024004000007300fe8000000000000000000000000000aaff010000000000001000000000000001050c68deb1caadea"], 0x0) writev(0xffffffffffffffff, &(0x7f00000001c0)=[{0x0}], 0x1) 13:36:57 executing program 5: syz_mount_image$tmpfs(&(0x7f00000002c0)='tmpfs\x00', &(0x7f0000000100)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=ANY=[]) chdir(&(0x7f0000000380)='./bus\x00') perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x7, 0x0, 0x0, 0x0, 0x6, 0xd002, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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}, 0x40000, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2}, 0x0, 0xfffff00000000001, 0xffffffffffffffff, 0x0) r0 = creat(&(0x7f0000000400)='./bus\x00', 0x0) ftruncate(r0, 0x208201) r1 = accept(r0, &(0x7f0000000300)=@can, &(0x7f0000000280)=0x80) r2 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e24, 0x0, @loopback}], 0x1c) connect$inet6(r2, &(0x7f0000d83fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r3 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r3, 0x84, 0xd, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) getsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r2, 0x84, 0xf, &(0x7f0000000680)={r4, @in6={{0xa, 0x4e23, 0x0, @local}}, 0xfffffffc, 0x6, 0x0, 0x8000}, &(0x7f0000000240)=0x9c) setsockopt$inet_sctp6_SCTP_SET_PEER_PRIMARY_ADDR(r1, 0x84, 0x5, &(0x7f0000000440)={0x0, @in6={{0xa, 0x4e23, 0x1, @private1={0xfc, 0x1, [], 0x1}, 0x5}}}, 0x84) open(&(0x7f0000000200)='./bus\x00', 0x10103e, 0x20) r5 = openat$cuse(0xffffffffffffff9c, &(0x7f0000000140)='/dev/cuse\x00', 0x2, 0x0) mmap(&(0x7f0000111000/0x2000)=nil, 0x2000, 0x1000008, 0x12, r5, 0xf067e000) r6 = openat$misdntimer(0xffffffffffffff9c, 0x0, 0x0, 0x0) sendmsg$alg(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)=[{&(0x7f0000000500)="12da01b64668e420af4ac990f691189a21e7a6783393c05d9b1e660dcdc795b1239e196706d3a4039f26c8bc5358cd5071fac1491b1775a25cec9812b2b6bd2fcd0ebe06aa49900ee8909c4616295ae029eb86aff9d70214c9e20dfff20035cb0b5f687484134d3015d4ee53c9e2f52dab3e09c1ea757e0a891317d0cf6da9ca340d8e3106b76713f6b923f238c2f1b4aca07972e44d10f60c2d2347fff0cdb7f84065c64624452649369fc2c3a337ee019d00a5dd8fa4c46b1a07", 0xbb}, {&(0x7f00000005c0)="8c8e8403c2b81eb980a81306d3d5638f6092ec61d36d1809fecac48e1cc1dd27deecd5eaa1547bdf3c9aeec064e6efc47023838eb891d787f2cb6f56cc8ed21c719e6f8c9102ab4d0d67706dfa9ba7915a45f33ec0d069139ffd2dad52744d0cad158158299c1cda2001a94d9b635a17f1ca1ca61455fd33e34d2da06ca16995feaba02f8c200096935a4dfb320c7fede2c9241c42ff29cf230364da97b1de2cae79d4fa91908e5608a3e297a9e3c8ca03fc56", 0xb3}], 0x2, 0x0, 0x0, 0x40000000}, 0x20044840) dup2(0xffffffffffffffff, r6) read(r5, &(0x7f0000000040)=""/176, 0xb0) 13:36:57 executing program 5: unshare(0x40000000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000280)=ANY=[@ANYBLOB="3c000000fff0dbddc000268f1c872d2b010000000094a5de32f9a99db8b265febbf062c2757ba6325988c3eae526c7c3b517ab1ab05bbb4c596c1f785b887bbcb44846db91fb61578882c2b0de850523aeb9c1258eaf09a1411c424d0dee3e8e104470f88d4ae343b77f60521c962b26e8bb288d0eb42cc48164274abfd8ad02eecd6327912d29c502247fcd05863c959f5b6e48a791c1ff48a8650fa4005c9d93821278f5cc15f5e07ae01ef07f6e2229e1ddc4dd6f71a1d08e5b6d8316b587007e", @ANYRES32=0x0, @ANYBLOB="ff7f000000000000140012800a00010076786c616e0000000400028008000a00", @ANYRES32], 0x3c}, 0x1, 0x8000a0ffffffff}, 0x0) r0 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r0, &(0x7f00000000c0), 0x492492492492627, 0x0) getsockopt$inet_pktinfo(r0, 0x0, 0x8, &(0x7f0000000080)={0x0, @rand_addr, @initdev}, &(0x7f0000000100)=0xc) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x3d2}}, 0x0) getsockname$packet(r2, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x3, 0x2, &(0x7f0000000400)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a6f4e0e4a9446ca2b5f1cc1a100a9af698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227ffff000000000000f07a72c2918451ebdcf4cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1083a30369d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8ed8fb7a68af2ad0000000000000006f803c6468972089b302d7bf6023cdcedb5e0125ebbcebdde510cb2364149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f40cfd7c3a1d37a6ab87b1586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660580800dbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd80a504cea9542e62d7f69667e3ddcd567b3aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d60532af9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb61e8caab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326efa31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c713ce69701919c326feccbf15711297e8d2016219848624b87cec2dbe98223a0eb4fa39f695c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc22941330000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f00000000df73be83bb7d5ad897ef3b7cda42013d53046da21b40216e14ba2d6af8656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b2633398631c7771429d120000de3241bf4a00fcffffffffffffffe09fec2271fe01589646efd1cf870cd7bb2366fde4a59429738fcc917a57f94f6c453cea793cc5ee0c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768fb40fe418ce970275d5bc8955778567bc79e13b78249788f11f7610b8b75d4fa32b561d46ea3abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0d4d1d4b405c37feaf3dd95f6ef2acd1fe582786105c7df8be5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e76003b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694da85bff9f5f4df9b3e90e5c708ce65cd6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb26e22a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d285b3b8a8c9ae3d14f93100c2e089b862eef552fcde2981f48c482bde6e4a4304e50c349f4f9ecee27de8f2a4ebb04b0c485b72d538ba4958ea8e4aa37094191e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b6000000000000000000d6d5210d7560eb92d6a97a27602b81f7636df1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d1a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e600263d9756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466ac96e0d4b3bb49faa5449209b085f3c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c7868c6da7eaa69eb7f7f80572fdd11bb1d0d1280fbc22bf73468788df51710d7d31c000000000000000000000000009bff5348dd9639a9f34b5f92b7646000e3053358f55cb9f97c269eaf7327c32ab116a303ae64c9c714217c"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], r3}, 0x48) getsockopt$inet6_IPV6_IPSEC_POLICY(r0, 0x29, 0x22, &(0x7f0000000140)={{{@in=@loopback, @in=@initdev, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@loopback}, 0x0, @in6=@local}}, &(0x7f0000000240)=0xe8) getsockopt$inet_IP_IPSEC_POLICY(r0, 0x0, 0x10, &(0x7f0000001500)={{{@in6=@dev, @in6=@remote, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@loopback}, 0x0, @in=@empty}}, &(0x7f0000001600)=0xe8) r6 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r6, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x3d2}}, 0x0) getsockname$packet(r6, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x3, 0x2, &(0x7f0000000400)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020a6f4e0e4a9446ca2b5f1cc1a100a9af698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227ffff000000000000f07a72c2918451ebdcf4cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1083a30369d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8ed8fb7a68af2ad0000000000000006f803c6468972089b302d7bf6023cdcedb5e0125ebbcebdde510cb2364149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f40cfd7c3a1d37a6ab87b1586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660580800dbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd80a504cea9542e62d7f69667e3ddcd567b3aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d60532af9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb61e8caab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326efa31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c713ce69701919c326feccbf15711297e8d2016219848624b87cec2dbe98223a0eb4fa39f695c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc22941330000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b6c4a000000002b435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f00000000df73be83bb7d5ad897ef3b7cda42013d53046da21b40216e14ba2d6af8656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b2633398631c7771429d120000de3241bf4a00fcffffffffffffffe09fec2271fe01589646efd1cf870cd7bb2366fde4a59429738fcc917a57f94f6c453cea793cc5ee0c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768fb40fe418ce970275d5bc8955778567bc79e13b78249788f11f7610b8b75d4fa32b561d46ea3abe0fa4d30dc94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0d4d1d4b405c37feaf3dd95f6ef2acd1fe582786105c7df8be5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e76003b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694da85bff9f5f4df9b3e90e5c708ce65cd6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb26e22a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cb2003016f1514216bdf57d285b3b8a8c9ae3d14f93100c2e089b862eef552fcde2981f48c482bde6e4a4304e50c349f4f9ecee27de8f2a4ebb04b0c485b72d538ba4958ea8e4aa37094191e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b6000000000000000000d6d5210d7560eb92d6a97a27602b81f7636df1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288a0268893373750d1a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e600263d9756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466ac96e0d4b3bb49faa5449209b085f3c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c7868c6da7eaa69eb7f7f80572fdd11bb1d0d1280fbc22bf73468788df51710d7d31c000000000000000000000000009bff5348dd9639a9f34b5f92b7646000e3053358f55cb9f97c269eaf7327c32ab116a303ae64c9c714217c"], &(0x7f0000000180)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], r7}, 0x48) sendmsg$TEAM_CMD_OPTIONS_SET(r0, &(0x7f00000019c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000001980)={&(0x7f0000001640)={0x334, 0x0, 0x10, 0x70bd27, 0x25dfdbfc, {}, [{{0x8, 0x1, r1}, {0x128, 0x2, 0x0, 0x1, [{0x38, 0x1, @mcast_rejoin_interval={{0x24, 0x1, 'mcast_rejoin_interval\x00'}, {0x5}, {0x8, 0x4, 0x6}}}, {0x3c, 0x1, @enabled={{{0x24, 0x1, 'enabled\x00'}, {0x5}, {0x4}}, {0x8, 0x6, r3}}}, {0x40, 0x1, @name={{0x24, 0x1, 'mode\x00'}, {0x5}, {0xe, 0x4, 'broadcast\x00'}}}, {0x38, 0x1, @mcast_rejoin_count={{0x24, 0x1, 'mcast_rejoin_count\x00'}, {0x5}, {0x8, 0x4, 0x6}}}, {0x38, 0x1, @activeport={{0x24, 0x1, 'activeport\x00'}, {0x5}, {0x8}}}]}}, {{0x8, 0x1, r4}, {0x1e8, 0x2, 0x0, 0x1, [{0x38, 0x1, @activeport={{0x24, 0x1, 'activeport\x00'}, {0x5}, {0x8, 0x4, r5}}}, {0x3c, 0x1, @bpf_hash_func={{0x24, 0x1, 'bpf_hash_func\x00'}, {0x5}, {0xc, 0x4, [{0x6, 0x51, 0x0, 0x9}]}}}, {0x3c, 0x1, @user_linkup_enabled={{{0x24, 0x1, 'user_linkup_enabled\x00'}, {0x5}, {0x4}}, {0x8, 0x6, r7}}}, {0x40, 0x1, @lb_tx_hash_to_port_mapping={{{0x24, 0x1, 'lb_tx_hash_to_port_mapping\x00'}, {0x5}, {0x8}}, {0x8}}}, {0x3c, 0x1, @name={{0x24, 0x1, 'mode\x00'}, {0x5}, {0xb, 0x4, 'random\x00'}}}, {0x40, 0x1, @lb_hash_stats={{{0x24, 0x1, 'lb_hash_stats\x00'}, {0x5}, {0x8, 0x4, 0x10000}}, {0x8}}}, {0x38, 0x1, @mcast_rejoin_count={{0x24, 0x1, 'mcast_rejoin_count\x00'}, {0x5}, {0x8, 0x4, 0x80000000}}}, {0x40, 0x1, @lb_tx_hash_to_port_mapping={{{0x24, 0x1, 'lb_tx_hash_to_port_mapping\x00'}, {0x5}, {0x8}}, {0x8}}}]}}]}, 0x334}, 0x1, 0x0, 0x0, 0x40000}, 0x800) 13:36:57 executing program 5: r0 = open(&(0x7f0000000080)='./bus\x00', 0x400141042, 0x0) r1 = openat$hwrng(0xffffffffffffff9c, &(0x7f0000000000)='/dev/hwrng\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_SYNC(r1, 0x5001, 0x0) mmap(&(0x7f0000001000/0xa000)=nil, 0xa000, 0x1800007, 0x11, r0, 0x0) r2 = creat(&(0x7f0000000100)='./bus\x00', 0x0) fcntl$setstatus(r2, 0x4, 0x6000) io_setup(0x202, &(0x7f0000000200)=0x0) r4 = creat(&(0x7f0000000280)='./bus\x00', 0x0) ftruncate(r4, 0x8200) r5 = socket$inet(0x2, 0xa, 0x0) fcntl$dupfd(0xffffffffffffffff, 0x0, r5) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) recvmmsg(0xffffffffffffffff, &(0x7f0000004300)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) ioctl$FS_IOC_RESVSP(r2, 0x40305828, &(0x7f0000000040)={0x0, 0x2, 0x0, 0x1299}) sendmsg$OSF_MSG_REMOVE(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000001580)={0x14}, 0x14}}, 0x0) io_submit(r3, 0xe0, &(0x7f0000000540)=[&(0x7f00000000c0)={0x0, 0x0, 0x0, 0x1, 0x0, r2, &(0x7f0000000000), 0x1a000000}]) 13:36:58 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000440)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)=ANY=[@ANYBLOB="480000fc0f0005470000000000aa41b1eb6a3fa9", @ANYRES32=r2, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket(0x1, 0x803, 0x0) getsockname$packet(r4, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) ioctl$VIDIOC_PREPARE_BUF(0xffffffffffffffff, 0xc058565d, &(0x7f0000000140)={0x6c5, 0x9, 0x4, 0x1000, 0x1, {0x77359400}, {0x1, 0xc, 0x6, 0x9, 0x5, 0x4, "508bcf6a"}, 0xc74, 0x4, @fd, 0x7}) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xffffffffffffffbf, &(0x7f0000000000)={&(0x7f0000000380)=@newlink={0x4c, 0x10, 0x800, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x9810}}, 0x4c}}, 0x0) 13:36:58 executing program 5: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff}) r2 = dup2(r0, r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000140)=@deltaction={0x18, 0x31, 0x403, 0x0, 0x0, {}, [@TCA_ACT_TAB={0x4}]}, 0x18}}, 0x0) r3 = socket(0x1000000010, 0x80002, 0x0) sendmmsg$alg(r3, &(0x7f0000000200), 0x4924924924926d3, 0x0) write$snddsp(0xffffffffffffffff, &(0x7f0000000240)="8e8d6da04a7e66979146bf3b1d360392b49cd68f89b33a7e832e73f7b3e56fc9c6fe9e0192b7e950ee6b1a50abb737d546b212f9221f76bd13e77ad6a8c83f5f486034df803da42c1c21e1e3621de66d7c6670ae38162278aafab1056df9f9ee459dbd01e0f20a01c8e758e5bb77d92caa09b009c0949fd257338356ab18c22ce201d3ecd80740ecc74ce5c1414d7be721db7b6d46521abeca4131b07eac658a4f925a672886601eae3f5385acdb130c8a761c93e5c1033a58f88ceecdc02a3aa1b4ef38c030fb8bb5596ee02fa192de52644fe9e19c9360eb5320acde797935be498078a05cde0d18c4cca0f24027cf935b6edcc8741be983a3e9d96ae86bf7bf7d63f7c45752f981b2bc7c7cfb60a353c6825a4961588e9131999cd985704527130b34ee2e996aa03db22c564d52f84f6b4c6c130523f0a0e1c3fd42f82c5eb50942ab2b294616667dc5c88dab9a8c6bc41e25422eb904a151b20239e19f693d019506eccbaf8707e9328a9048b0aa90da2f13e3da7b3665b80700370b0014ab65e09980c0011b99546a00af93ab22cc1ca2df975b87a91b45b147b74b076cdb28e13707fb122f4908eb7491c1d751ed9426f3050ad6eced183f161693aa8cc133df29b0f4685839a980f5f7387d9c5e84ebb65c6baa3a82380cab16a6c9df0fdc67ea833e14b7fb70ace455403bfcdcf9ad847496bf5e88f06eb9e69ba40dbefc7b2cbc83ff0eee35db0ba836417855363e4a4beafd07680544ca8c48d5cf2626b23e73ca2ebb30ceede934327edc572f139683a0d9da1f8ca7f2d54c760b63ac8e089d04bed4608b1ceb847147ee86ff60a897adc62d6bfa77a34545602819d86469a4a8c64b4a608dcf383d73540613901eb9264933b57ae0e570001277a92fdbc1cbcd2b6aa28008b3b76ee147c7bd5f02b9f77d1502142b12c8eef3f48301fb221d3c87a3cafd2913649db984d24bd71a4d2a74bc2afb0d596d8aaf1defab9607e50f0c9fd446fefb8ef0c05496713c9fbd4fc7c08cbdff2b0db9655f9e3171c4bd9c57718767fa4ef8928debba8a49ad3c9dfddef92c202b90bacb8a8f3660d50bd5b56d9ddb761b95faa82f84db9061eec0be57077a23a9cbd270e32c456eff7b4775b261d6e5746b1e262834751093db062a1a0f517bcb63ad683c25d7a7b3f262aef19eeb2d9a33fd1b0a66d189577cb8ed41784a6586d4f069066ce9f625ffe9a747df2877f39ea6e9b3ef9b33aecafc37577ce3fd6754a8839b6812487e4d5390ea7168a63733c3f961e3f59befc7eebdcc4b657d4bace4cc96500a688a2bff0de493c8ddb9be637a5eb8a1263e51d64029f57cff63f50407f6856752c3e5fdb27ba55c869ea11e3540f71fbe79e261457157db4635078e046bba760bbd5fbf6b6014f7bdaebeb9dc327c4110081f454573b739afb19900ff69149cc251a94fcd47e7e5a1b2ec670cb81fb52965dfe2c1a286ddf18dae3f866962630441565719f70087701ae2496fce6818fbcb6a2581f7eb6e82fc1a35fe35049c5f93d2efbe258abb35d00c9eaa4435d25c1c4ab2c036e20da51436d70bda07e2fe45db7cc7dc7753550dbd1568bf3caa34410ffdf00f4d23f2033c747510daa1daa678f9b767266acd319ad284daca7ba8cc1f262db077185b7c83a9ce5d0d71fd39f385c31e57675102bdf3d25395b1b20037f12d78df0a6b22fe1e8b94361d0acae617228b89834b38a068590e0a16860bea2f3168f58642f69fb395de70d3e189470dcbe7f2608efea4e8d6cc281a78c4b4ddd46d75400a859db1ae5f3378642e45a7e80f71e04c144e5285d1b5ebb6107b1d0bf743f53e0f3d9c85fb63b5bc0f74eb8195e984d97f7d6f941cda9f02c2901d17a5b400b27ed447a80d00d9dcb967c296095fe5bc7b8fa721b9c04d499c31cfceb752aae6c58ad729397b96a767f1ff1f5e1258283a0ede078fb59744ed0699d3ce579afd21e02df99504abaab08884af51e633975d22629caa85ea34b5aca313c6b8a13530df030faab1722f9b2ecd17cc9ba4b28e799fb3352f96c97af2e1c73b68bdee25f226fa3e3d8cd6b2e9df390ca056fe0ac8e8d27b3069ccd5c61e6f9f6e87eb9fe02304c1205295d35e7a19a2d09cbe75b9991579d30bc2a87805d9174d70ab3ae2707f27d691a4a4c4c1c1673652f9c8e8180f670059b6b50586d0de8c7043421856490b3907af9b0e2d99b154c994e02e72dd7c1a222f9f70ba5dd97130bae00e82da4f92e55c6281fc7e2c9c72af7138b07a254e11e2fcfead354e420f96567c8e113555829ef3ebff17b59cf45dd32d978f48efa4fc8749b3a2a53b03e6d77a954869f3b9d89a441f91d455c7b5df6a4ffc62ad007714d50a7c9bbf682fb1932098a046e57e07a46ac99e82ee7242ce8a48457c0e8e7a4dee03f9d940b8e9658479ba182edca4f6b9bd3f8fbdcbab3b5be637e971cee6afdaee8730935a3a7e3ef8ac1c0a1045ce7e8695093cb8857265fece3dc81fb4f98c2a90bb2b18411e87f622ebd144b62e3c23317f9e72692eb5c315d88891dc96f13aa172a174f8e774ad46840b249dcd27115a61d7a9e4ab71645421c01399ca40968e3896bf3393c4504d4ffcac76ac3ba2503aff2e5ec9e44e02690baa11405569f36ca6f74c22e60fad9db23f28a3e7bda62e8f23e5a90160c6210b921a10f7f75aaada039a70b292f3feacb47173cb498c2a148363460fb12309f67b69b75cc545d508468927135cfc3b8ab9ded66c14dc807ce4bf59b4d958ee9082b0d772221c4969b4fc19f8c4c3db24757f796c4c1552027bc7c76c142e525c1be23eca8714d98ddfabd935f0ebe39322576a5f2cd4bac7f17c9d1be97e9751c0bde8e2443e373f6c9889810faf406d644d811159c6346eba91e1d2bd26b8b44b3697f6788bef6dc4659028f400a2af3b7bbbcffedbf770ac3de0b9efddaf50e0eabb3cc780e14c768907af3384a7b6937214e4e3662bf60b79cca83d245912a5257b8653f0c0e63a11ce480c25940eaf6ed302bda045666fe065324d1007536844ae74c5491772d23c3bf20c99ced0a7a148aaa94b243eba310c4d2fad162d4b242bd1a5babce5f592e5205f44086659fc65358962b884797e39a138ab0d1e86b78c0cba57eb16d2604e6be92fda8c836eafee27be10a63ce294a940b368d7abbf331c12881938daf65c0fd607e82af66002cf9fdddb8f6c49fad5979deb5aa8f762e7faec3dea79849c35bb2f6315596428b280c72da9813b23d1c78cbecee7b13c850b3307ed571f165a8dd554955942f054350849ba19ffc07660de727095ea56aa562e6e51ab2b7bd9660ce8c095ae6841d2d1bc9ad2e8ef057d714dc66a8dfe3f749e9243372a01c3cb28f59ec9d3619fb8d28f324f68c6925ee5ae26ea46600da32f42ba5e56551278d11b2bf0356cbfce2721c0567daea0462e59e16a72e1de38e1e1e4724ef55d9b7eaac2a4f860ce21dfb9ea43be773423c850b3779952cf28f508afd19c64494fd55e4d462a9e4ab3e9e70efc7b61ae310b3b6da79465a649d2991340ad94279c3e5f1c481f8b7ca83d9d9d9b21060e33dffe6394aebdc81574e62218945d57d2d327a4397e6477c37a6821a9d338768daabfe6c530d74acec930e1a69b33e795a2b0344e601e899b5d3582b41f8c2a89e0327078970d78690f952866f235b061437194c8004a827e11f560ce48466457fd5ea87d7e90ad80091129335b6afeb5bedeb213ec9f5705a90d4cd519fdbee984dd41d561cad92aa73f5398df91bb920094e9a1a6165ee99ba0eef73e1045ef2822fb16ab72333faf74984a5e2ce125eee4ed547e57c44563d7ed5d3ef73281f4914fe7207eb3bee1c5f4fb12078359b8d700214a9b106f6e5c789036cfb1595729c791f49e6494ca5bb94b386d6e4800dbe20eef3e0ff26e1054444cfbc4d5b26cab4174f030366422922f814265523c465760f9e4462acdf960a052369603e0f1ae5cc58b1fceae913a82f73e22a567374354751eff09de6f6dc33a44749afd7a5cf3817d3111b4951079112f6332710a28d07b67ad56459f027261c8cc4e4d9d1a8c2ae8446fbcfb6fe46a7d0294bb12b70ca5301175adb39265562c318a738dc5635071aa8a0c97656ceb748b943d193684c5b600e1746259535856f19905702ad4f8506d8c57ed4c1a73187652d8e8b8aa7eed4405fc4a46813964aa5372b44f7b53bdcb63d7a70f185e02c35b77935a2348bf37854d14155cc2a4656807dec14681583e3fb128bacfe5484883748319fcfdb46d8bb58bb136f9d8b49ca1e14555efce77f0d35283a23aa997427f7510a3a1431210f04e6651a7b5662ea3efbdf0b2c90c3c337dcbfd049b866c612d38d8fa103e08b6bd8eb5e4a66f2de1d4ded8ba1c68d1a2f1af1b5861e1b2fa1ac37b7ffe256faf5231317f1f624330d59ed78e437c213c67b796cfb89a9f75f1d698f1a1abbfd8dea5421de10aac54a1d8e8e4efffdaa58f592d983dc2d43aa7db2682d90c07c08f4c85f915fd6bc6ae92ce923e1f10779cc94b8809b7340a9a382b1e7acf7e81b8bb9460d76f73b08066363a2c6e4e16257da2eb381a683124c83b1aaac37571247c28151deb4738b968bbed22eadec5a1acf4ee7d3765fdf17f675ce041dae0a01ff9df2b3870a67099c56f31f41dff4ed51063dbfda2818f36c4acb313dbc7c1afc29a6d2b8bd4ce5c30215401f3d6e44a78582a0e1e05a310088bc3387b98ab0e01ccb6f4dd9528bf2d775ea508636f08c62352ee6f09c4e3ce16c90ed6e2f636fc161c37941ea55b386cb03489914181b373e4729e89873598bbd46d4a1b9c0709cd66bb7a91234d9c2410705a5112609c80408772e397f64e07e3f8dd4a135394720cd8bf4f969b5da3b3ebc19dd1085db45c476f75ef7e0d353f9464af790e2a13555704d22427631363ea8b79f19c2612636c2a86688d0b674ba11b02a88ad3cf1dc28ef5f78818adc535d00dd691679ca0b129616e3e2e71ee045e411ef5054ae0163dd628c577b8c96c99c72cba9211567d10595e1a18b3b436f06746cf0f740d2e6f56d00b89817817eb82d7d90ec45dc8a21f2ef1a5f058da4f08eb410c1dbd9316fcc7e99260ca03eaa3527af34a143a6961ae25bce1e4ea5b9415a6029ed8ef90514e19d29c8ebae229659971a6ad5fb6092f48fd7b7ec024d8f8922868da12158d4777e861c810a0c7e69a0ca553d21da8c9fc48ad62182617dfc84543f06e6847c270b06a6fb59bcffa2eabf653bfd3da13121b5bc8229a13cf02877d179f774414c60c50b261d1cb6710dee2aef4cdf6a8bd1805bf23c2691e33ba071d10c0cb5e5071fb662647ab5cd6231191f2fd36d11d0af1b9ccf660595c8a7d9a0b78d7f33dd06c90fe7bfb0a6a7e0f021421d70f53e4f28747ee5182c11b6a80c92e91bf95554421034c16e5e9ba478e7560941e0c253445ee880fffffee2cb0a5005c87eadfc7da37a0f1b5e02f89552390077c2e4673a2a4e38ac34c5a1e8385e0d9fa7495edd602eaa9692509dd9b7a71208813c686b06981a3d92734ded139338466606a517d7297082270eb5377f818b89e5002ab9a43a94bd5e867c29931674667f773a7526b7c9620a5eb983160772c2a90877a7846979106f645c82de7de78364b7ecb9052b4db9582766cefb629ff79ad81e1bdfc7c6ed270dd449e2986f14445e228751974d5cabbb3fa8e90f458c1ac5755f344705afef04830e9514194d12fc1bedc7b6ac868b710e7c5098167", 0x1000) 13:36:58 executing program 5: syz_mount_image$msdos(&(0x7f0000000040)='msdos\x00', &(0x7f0000000200)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000240)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') bind$rose(0xffffffffffffffff, &(0x7f0000000100)=@full={0xb, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @default, 0x0, [@remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x0}, @default, @default, @default, @bcast, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}]}, 0x40) r0 = open(&(0x7f00000000c0)='./bus\x00', 0x1071fe, 0x0) r1 = creat(&(0x7f0000000080)='./bus\x00', 0x0) write$binfmt_script(r1, &(0x7f0000000340)=ANY=[], 0x1015) r2 = open(&(0x7f0000000400)='./bus\x00', 0x14103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r2, 0x0) pwritev(r0, &(0x7f00000002c0)=[{&(0x7f0000000740)="da1e9bbe8011d2d10db4522283ab303ca2825aa7b88274dc0476bd3619974ea8e0558514e7f06d3fbfb7adcdad949ba1f80453905db0044778725285e65e4e2e2440c8baaf0f874f845f2af0f978e5e83294e88192dae53024b77ef1b0a47617a27e0105e55017260dd71ec5bae461c015069efb1555e43d2554688c3394e69c4f133e1baf802662c275726f38720719c248cdf84b919b4900e561bce3cb3afcf26f762956ed41095643531bbd7c5852d0f96a065f253e49c24cb7701fec6cb183fae3a95593a4ca9d8070797f5922755bc49516d4595af524e4ed7bbc1ad97119d63f943746b3f1225a3476c8069fe122d541f914b26369adfac2038167d21fcc61f553d7f6f71775c38a751c23f3e8fff084147f820fb4ebc5b50d9c7e98436d13f4a189ef1856d99cbf62e651f1905c598b7adc7514619cc9e00bc1a4817788cb5df872edb5ccf1e8a4aa38ce9bfecbabf5f47e8c4a5559ee9c307f2dba22b3039fc90da375e54ab349e7cfe868a89e8719b238385bd3553d69d940dacdcebafb5803f32e76c977a5729a9726a93bf4032b53ab4bad4364aaa4cde77fd1d41be3be7fe29dd0833e06b644d73a88eab5adec55b11dbcda8b71f133c8d18223b3e6025b129df6b7e99fb53b17d7113e493c1d897c84eec3ba7709d66946f286937d7507c7b5d73e23bc946a3dcfae5f8f6fafc966130ed82411d6fc4ab6da8b9c0148c23f6e618492168219186010d1077d00bbea52df2443f4ed17e17d4e1818ceb378187cd9f0ae76926046686f78f1c1785fc5e30e3e94c5c44529df1d1da5d13d5f77fb20ce79a306c59fd0628109628889352ba4f0c03175671d155c761c67697506505e570aab1120dcb06a5ca40daa574c8180795c07ea627e1d9049fd249c00a3a5771a8a030b166edc7bc6d20d8cb6b4f776ee3cca2b59f8e555ce7cbdbeda63329a31a38f9b9d45cd68046904645059c8cdf43abdf866e94d522b69b7b2d1a6c943c9b2a937ac182991972a51e118b1f7da1b0b512ce9cffe7360518858cc09a3e6b1382ce641497160b4cf6176c09862fed7248579783678cba0ce069806b6a81c641c772d9479a209ab850707a7e77eb724d04a86a106851293cbeb27554f8e1c7da5b36d6c7103f3aaddaee488d27271fed49cf24f7b1fd9894e3056afa678d53099c93c8c4cc9c03ff2e6ca5212db65cec93ca6882d72f02ee3feb65f7f2d4219b44ba7918a10fd5c66a17be9f81604491cbfb9ad9e74f4d87099af334764d75a161b69d0b36faeeda2889f7876b80714e46b0ecdbbef5304913006fea469c368d7e074632894e3217971b13d66ad88f4203fc01acbfff01b0708ce72f4ceae18a883a4c74e51f6f1b3826aea09019c99071b827786e5f74c938354d44727c052c17debc310793968647cdb0317b7e74b5bddfacec11b457b978de0585d68e53ddedaca50b2be62804dba5b4a237383a8d60eaaf566fbc6bc9187621a44de35a1c386859e7918c35cd0e874a3da3e52d7f4ae8ad7b3638a872852b5ab3da9b195ba69062f1f297f69f8fefabdc3b451f9426fc6864327545c413aa90ac0745ff7e44b56bfe93d44f7ace3baa0b15f51860da162880fd929152a1a199366d206b3c0af1fff150eede599e8f9741755a36c1fda6193b0d08d53bee0e81774968781b7ea30ae9d1d705d6719b93c29485a84994c489178840a0088e3e7b78dc404929f31609dcb365c9428b15f1af474480a1f93e623e5df9bf4154f830e90811c269d1231f05302abca591f3a09cbbd16fc1cecd7e4a86547b62523573e36b2e98adbf77a3f9b291faf80fcde39212b5d20fbd640b39e04eacb38ff8c0113673c35510dbac31ef893f00e72a013111ff941f2f06f559cec7914e428b57d47c1ef8a04dbf0d44813185ae89e124d0e3c81d51b33e13ca7eac94d6f9004b165e0186e706f043f284cd2d96348e29088789830426bed5d44fcd10fe2d339092fcedcf7397b0ed38c028406c30ea2eb06d7d0da50b2ff9a1fef973c16ef989fedec863c365c66ad5c71107f3a8932fbf2da6450bd5e735d208e4c545c1d7839696c610ecf40ded2a276e170a103cddfcd920e215258dffe12bf0ecc2ed7e5a67fccce5e268863999393cc3e7cb4c8f9c697950091abe0ecdfa7063cfa601dde728f25eddd904fff788c87c127d760bdecbea609ca9c11463f8b4427b74e6fd208cf4306a4a09e8e0594f59d4ea2ea9603af014351d38541a8164426746347e73bd171bbbfdeb37fced655de91c02ccd352e0c4b67feaab1f08e8fb0e7c8f770b6f47a5fb0e58494fb0a6b1607cada2824e888ee7c1b646b3bef096461c662266ebe195cb6c70967750758a2f85677144781a5d1a6c453c2371789ac5879bae095b76d8b4456e21ec49e588f3a10ac5c543ee6c8acfde2aad4b0cd51bae393f26f52d2499b141e5c9b6485f83816be2a98bbf26fb032c9edaccc8c0b8bba9733b1d446cfd17157f40cffa5a8b5284cfdfc2239ed38871c146a20e68b1e65cb3d904d184debc2597d0a50046e56b49c4726cc13bf3a2522c884828c0fa50f8fee82f051463b2a39dd7c9b206dd81769634750d963998ac3836ea0880bedd2b07a1720d59e5682c4d94354e09d45ae6c13a551ce8ea796c35ce5168c7b01e8ff627f1eb9e842e23e45db0f3d10acc601189b14157536f0992299e5d6a31694cced90611dd9fc36de8363cee017d702da734668ff0c4c251da654ef1c3ccbaed4bed5370ca9ad96999cd64f71714a6bc6c91d168d88be25938a088debc7203fc1123d6dac5638b13c0bf7a78a319a9d741c6b078214b4897163586c7468cc711fedf975b22cebbf0656f030d2501a2ea69d0b82af9682d00c76e4a33bbb984ec739ea825f704a9f3478857aa021145061be17f59dd6ab5f1f7a0b56a5618bcfed05b388dbe30018f8c53e65f32d1372ee5d809112a39e1a294b9c8b684f44bebde83015ae00ecfc2457163ade05bfb5cc7712ad21674a366fa4804a91dbfd638ddea2ca3fac1ff7953be86cd8b45262a6eb212628838454287ed11f36f55e1c9909e8df1ab915d47f9eb78f832546002ad09d92a46ead8178879aa7f5547b1ee91545b723beea00a5eb7da9cdaefdf77b09ede28273a85748892b65ff5939", 0x8c1}], 0x1, 0xc00, 0x80000) 13:36:58 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000240)={0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) r4 = socket$inet_udp(0x2, 0x2, 0x0) close(r4) write$binfmt_misc(r3, &(0x7f0000000140)=ANY=[], 0x4240a2a0) socket$inet_icmp_raw(0x2, 0x3, 0x1) bind$inet(r4, &(0x7f0000000080)={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x34}}, 0x10) setsockopt$RXRPC_UPGRADEABLE_SERVICE(r2, 0x110, 0x5, &(0x7f0000000140)=[0x0, 0x4], 0x2) connect$inet(r4, &(0x7f00000000c0)={0x2, 0x0, @multicast1}, 0x10) r5 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r5, 0x107, 0x12, &(0x7f0000000040)={0x0, 0x1000}, 0x4) r6 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r6, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x1000}, 0x4) splice(r2, 0x0, r4, 0x0, 0x100000, 0x0) 13:36:58 executing program 5: r0 = open(&(0x7f0000000040)='./bus\x00', 0x1410c2, 0x0) mmap(&(0x7f0000008000/0x600000)=nil, 0x600000, 0x800002, 0x11, r0, 0x0) pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r3 = creat(&(0x7f0000000080)='./bus\x00', 0x0) fallocate(r3, 0x0, 0x0, 0x1000f4) r4 = dup2(r1, 0xffffffffffffffff) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x2400, 0x4) r5 = getpgid(0x0) pipe(0x0) write(0xffffffffffffffff, 0x0, 0x0) ioctl$RTC_WIE_ON(0xffffffffffffffff, 0x700f) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, r5, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) write(r2, &(0x7f00000001c0), 0xfffffef3) vmsplice(r1, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) r6 = open(&(0x7f00000001c0)='./bus\x00', 0x141042, 0x0) r7 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r7, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000240)=ANY=[@ANYBLOB="140000001000010000000000000000000000001044565db09c93df3ff312270a20000000000a01010000000000000000020000000900010073790011000100000000000000000000000a3178799a160c0bd1412b11943e9d9bec587de7ec91a67458620031b0ccae84e6fcc6c9327cfd0292166c24d95891adff923c2343c387c2b2c646fd2d15345a6ffd2b779df228e4f10ec133c7fc8cb42aac6ebeeb507f05437076620f49f25ec46308df163117bcd150ed8cf244419c31549d0fffa468f6d8b6c87217c70a8e136a89aae79cf0bc2c55a6ed8b8ae0768f3acbf03528873d4d952e63522470d1c01504e8172cc834fd8f041677266b9f7ce012a8b0f28e9776aee790c664c72de861cbc5c94a"], 0x48}}, 0x0) sendfile(r6, r6, 0x0, 0x8080fffffffe) 13:36:58 executing program 5: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 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, 0xfffffffd, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$inet6(0xa, 0x400000000001, 0x0) close(r0) r1 = open(&(0x7f0000002000)='./bus\x00', 0x6042, 0x0) r2 = open(0x0, 0x0, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r2, 0x0) ftruncate(r1, 0x2008002) sendfile(r0, r1, 0x0, 0x200fff) open(&(0x7f0000000400)='./bus\x00', 0x0, 0x0) socket$nl_generic(0x10, 0x3, 0x10) r3 = creat(&(0x7f00000001c0)='./file0\x00', 0x0) write$P9_RREMOVE(r3, &(0x7f0000000280)={0xfffffffffffffcd2}, 0xff7f) read(0xffffffffffffffff, &(0x7f0000000180)=""/19, 0xfffffe47) 13:36:58 executing program 5: r0 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000140)='TIPCv2\x00') sendmsg$TIPC_NL_LINK_RESET_STATS(0xffffffffffffffff, 0x0, 0x0) mkdirat(0xffffffffffffff9c, &(0x7f0000000240)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, 0x0, 0x1ff) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x7fffffff}, 0x0, 0x0, 0x80000001, 0x6, 0x8}, 0x0, 0x0, 0xffffffffffffffff, 0x8) creat(&(0x7f0000000280)='./file1\x00', 0x80) r2 = creat(&(0x7f00000001c0)='./bus\x00', 0x0) openat$dlm_plock(0xffffffffffffff9c, 0x0, 0x0, 0x0) lseek(r2, 0x7ffffc, 0x0) ioctl$FS_IOC_GETFSMAP(r1, 0xc0c0583b, 0x0) write$binfmt_elf64(r2, &(0x7f0000000740)=ANY=[@ANYRESOCT=r0], 0x1a0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r3, 0x0) ioctl$DRM_IOCTL_MODE_DIRTYFB(r3, 0xc01864b1, &(0x7f0000000040)={0x10001, 0x2, 0x15, 0x6, &(0x7f0000000000)=[{0x80, 0xea0, 0x80, 0x6}, {0x3f, 0x0, 0x3f, 0x9}, {0x0, 0x28, 0x0, 0x4}, {0x0, 0x5, 0x4, 0x9}, {0x9, 0x9, 0x0, 0x806}, {0x9, 0x4, 0x3, 0xf800}]}) sendmsg$BATADV_CMD_SET_HARDIF(0xffffffffffffffff, 0x0, 0x20040081) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, 0xffffffffffffffff, 0x0) sendmsg$NL80211_CMD_START_SCHED_SCAN(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000000}, 0xc, &(0x7f0000000200)={&(0x7f0000000400)=ANY=[@ANYBLOB="58000000f9b5e764b27f25fde42e6f4c6aaf8cb0493406b45dc191358e7e5c643b63e4b60ba71b4e52135ad56c5a95d13e5d34d5f37970582fd78ddfe19637795217cf5e739362a49e08", @ANYRES16=0x0, @ANYBLOB="000125bd7000fbdbdf254b00000008007700000100000600f70042620000080077001f9100000a00060008021100000100000c00990001010000000000000a00f50050505050505000000800dc0005000000"], 0x58}, 0x1, 0x0, 0x0, 0x4008894}, 0x4000000) open(&(0x7f0000000180)='./bus\x00', 0x60403, 0x11a) syz_genetlink_get_family_id$tipc(&(0x7f00000000c0)='TIPC\x00') ioctl$DRM_IOCTL_MODE_GET_LEASE(0xffffffffffffffff, 0xc01064c8, &(0x7f00000003c0)={0x7, 0x0, &(0x7f0000000380)=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}) 13:36:58 executing program 5: r0 = socket(0x10, 0x803, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r1, 0x0) setsockopt$inet6_IPV6_ADDRFORM(r1, 0x29, 0x1, &(0x7f0000000040), 0x4) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x2ba) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = openat$md(0xffffffffffffff9c, &(0x7f0000000180)='/dev/md0\x00', 0x202, 0x0) ioctl$F2FS_IOC_RESIZE_FS(r3, 0x4008f510, &(0x7f0000000080)=0x8001) r4 = syz_open_dev$vbi(&(0x7f00000000c0)='/dev/vbi#\x00', 0x0, 0x2) ioctl$VIDIOC_QUERYMENU(r4, 0xc02c5625, &(0x7f0000000240)={0x5b, 0x2, @value=0x7fff0000000}) r5 = socket$packet(0x11, 0x3, 0x300) ioctl$FIONCLEX(0xffffffffffffffff, 0x5450) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) setsockopt$inet_sctp_SCTP_NODELAY(r0, 0x84, 0x3, &(0x7f00000001c0)=0x81, 0x4) sendmsg$nl_route(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000480)=@newlink={0x44, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @bridge={{0xb, 0x1, 'bridge\x00'}, {0xc, 0x2, 0x0, 0x1, [@IFLA_BR_VLAN_DEFAULT_PVID={0x6}]}}}, @IFLA_MASTER={0x8, 0xa, r6}]}, 0x44}}, 0x0) 13:36:58 executing program 5: bpf$MAP_LOOKUP_ELEM(0x2, &(0x7f0000001180)={0xffffffffffffffff, &(0x7f0000000040), &(0x7f00000021c0)=""/4096}, 0x18) bpf$MAP_LOOKUP_ELEM(0x1, &(0x7f0000001080)={0xffffffffffffffff, &(0x7f0000000040), &(0x7f0000000080)=""/4096}, 0x20) r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_DELETE(0xffffffffffffffff, &(0x7f00000013c0)={0x0, 0x0, &(0x7f0000001400)={&(0x7f0000001100)=ANY=[@ANYRES32], 0x1c}}, 0x0) splice(0xffffffffffffffff, &(0x7f0000000040)=0x42, r0, &(0x7f00000010c0)=0x1, 0x7f, 0x7) socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet_tcp(0x2, 0x1, 0x0) flock(0xffffffffffffffff, 0xa) setsockopt$IPT_SO_SET_REPLACE(r1, 0x4000000000000, 0x40, &(0x7f0000000b40)=@raw={'raw\x00', 0x2, 0x3, 0x650, 0x2c8, 0x2c8, 0x0, 0x2c8, 0x0, 0x5b8, 0x5b8, 0x5b8, 0x5b8, 0x5b8, 0x3, 0x0, {[{{@uncond, 0x0, 0x2a0, 0x2c8, 0x0, {0x6020000}, [@common=@unspec=@bpf0={{0x230, 'bpf\x00'}, {0x8035}}]}, @common=@unspec=@STANDARD={0x28, '\x00', 0x0, 0xffffffffffffffff}}, {{@ip={@local, @broadcast, 0x0, 0x0, '\x00', 'vcan0\x00'}, 0x0, 0x1c8, 0x2f0, 0x0, {}, [@common=@inet=@policy={{0x158, 'policy\x00'}, {[{@ipv6=@initdev={0xfe, 0x88, [], 0x0, 0x0}, [], @ipv6=@loopback}, {@ipv4=@empty, [], @ipv6=@loopback}, {@ipv4, [], @ipv6=@initdev={0xfe, 0x88, [], 0x0, 0x0}}, {@ipv6=@ipv4={[], [], @dev}, [], @ipv6=@remote}]}}]}, @common=@unspec=@SECMARK={0x128, 'SECMARK\x00', 0x0, {0x0, 0x0, 'system_u:object_r:cpu_device_t:s0\x00'}}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0xfd) r2 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r2, 0x10e, 0xc, &(0x7f0000000040)={0x80}, 0x10) sendmsg(r2, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000100)="240000001e0007031dfffd946f6105000a0000006720000077000000421ba3a20400ff7e", 0x24}], 0x1}, 0x0) write$binfmt_script(r2, &(0x7f0000001440)=ANY=[@ANYBLOB="2321202e2f66696c653020202f23205345434d41524b002020726163002000205345434d41524b002072617700202a20270aa248548860464e4506bc9d528e07825654e28715e26ba9c63a9b8a4aa8c809d43f3f525a2f372f674cdf9844ac0780de950fd61ab26efb41944c918c84bd76cfbd0bbd25b1c2827d85a26b15761bd4ea802f1e872e9b535b1cd86f29cc8f64b7995f5818397d96a94c60caeb7fbe1343c1533ee0d2d7abb2df27c08e81faed9e1341a6c891d03e71d26c8a5bfe39be457d5ed4614163445b6b6f24204d9d2817f52ea09267e5a44edf1c0793e01c0ecec4a03d5b40d7c3367555fc4d611a8735f7c3054ab6ce4ec1ec7d5d691abe17f3f9c73219efb3d885934135072f3a6829c9092ada46a728f56ca2bf86b255890638ae3f363df01886e5392bf347184243a66661c2af01ecda227362dd5c3bc5a3c19dcf5c9902508978bc4a5b2a5a2b1c12981901e0228dc8626f045aa8e7dfe22582d4ea1162202c507a77d1cdfc9f929a8c04f6221f2634c1248413b133da2a02981eddfcec05d782547d07e9ce820ec809ee511055adf9c244775e83517b"], 0x11b) ioctl$sock_inet_SIOCDELRT(r1, 0x890c, &(0x7f00000011c0)={0x0, {0x2, 0x4e24, @multicast2}, {0x2, 0x4e20, @local}, {0x2, 0x4e21, @private=0xa010101}, 0xc0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x679a, 0x0, 0x100}) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000080)=@newlink={0x50, 0x10, 0x705, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x20200}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @macsec={{0xb, 0x1, 'macsec\x00'}, {0xc, 0x2, 0x0, 0x1, [@IFLA_MACSEC_ENCODING_SA={0x5}]}}}, @IFLA_ADDRESS={0xa, 0x5, @empty=[0x14]}, @IFLA_MASTER={0x8}]}, 0x50}}, 0x0) write$FUSE_INTERRUPT(0xffffffffffffffff, &(0x7f0000001240)={0x10, 0xfffffffffffffffe}, 0x10) 13:36:58 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000280)={0x0, 0x8000}, 0x4) syz_emit_ethernet(0x62, &(0x7f0000000000)={@empty, @random="6f9bbc4163ee", @void, {@ipv4={0x800, @generic={{0x5, 0x4, 0x0, 0x0, 0x14, 0x0, 0x5, 0x0, 0x0, 0x0, @private, @multicast1}}}}}, 0x0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$IP_SET_OP_GET_BYNAME(r1, 0x1, 0x53, &(0x7f0000000080)={0x6, 0x7, 'syz0\x00'}, &(0x7f00000000c0)=0x28) 13:36:58 executing program 5: r0 = syz_init_net_socket$netrom(0xffffffff00000003, 0x2, 0x0) ioctl$SIOCRSACCEPT(0xffffffffffffffff, 0x89e3) r1 = openat$proc_mixer(0xffffffffffffff9c, &(0x7f0000000000)='/proc/asound/card2/oss_mixer\x00', 0x0, 0x0) sendfile(r1, r0, &(0x7f0000000040)=0x1000, 0x202) seccomp$SECCOMP_SET_MODE_STRICT(0x0, 0x0, 0x0) connect$netrom(r0, &(0x7f0000002380)={{0x3, @bcast}, [@default, @bcast, @default, @bcast, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @default, @bcast]}, 0x48) 13:36:58 executing program 5: syz_mount_image$btrfs(&(0x7f0000000040)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="90e42e8500000000000000000000000000000000000000000000000000000000f90cac8b044b4fa88bee4b8d3da88dc2000001000000000001000000000000005f42485266535f4d07000000000000000000500000000000001010000000000000000000000000000000000000000000000000010000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000061000000040000000000000000000000000000000000000000000000450300000000000000000000000100000000000000000000010000000000007200000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000001a8885d61aee4febb69bd33546bd0e04f90cac8b044b4fa88bee4b8d3da88dc2", 0x12b, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a', 0x14, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e40000100000000000000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000001a8885d61aee4febb69bd33546bd0e04", 0x6c, 0x10320}, {&(0x7f0000010400)="000000000000000000000000105000000000000500000000000000001010000000000004000000000000000020500000000000050000000000000000005000000000000400000000000000007050000000000004000000000000000080500000000000040000000000000000000001000000000080000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f050000000000006000000000000000010100000000000040000000000000000b0500000000000060000000000000000d050000000000006000000000000000000510000000000060000000000000000605000000000000600000000000000000000010000000000d0000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000005000000000000700000000000000001010000000000004000000000000000010500000000000070000000000000000d050000000000006000000000000000000510000000000060000000000000000605000000000000600000000000000000000010000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000050500000000000040000000000000000101000000000000400000000000000006050000000000004000000000000000000500000000000040000000000000000705000000000000400000000000000008050000000000004000000000000000000000100000000008000000000000001", 0x274, 0x10b20}], 0x0, &(0x7f0000000880)=ANY=[@ANYBLOB='thread_pool=0xf']) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='hugetlb.2MB.limit_in_bytes\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28012, r1, 0x0) getsockopt$IP_VS_SO_GET_DAEMON(r1, 0x0, 0x487, &(0x7f0000000000), &(0x7f0000000080)=0x30) r2 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) 13:36:59 executing program 5: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) accept4$phonet_pipe(0xffffffffffffffff, &(0x7f0000000600), &(0x7f0000004000)=0x10, 0x800) r1 = dup(r0) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x3d, r3}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) ioctl$BTRFS_IOC_RESIZE(r3, 0x50009403, &(0x7f0000004040)={{r0}, {@void, @actul_num={@void, 0x8af0, 0x6d}}}) r4 = socket$inet_udplite(0x2, 0x2, 0x88) r5 = dup(r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) r6 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r6, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)={0x54, 0x2, 0x6, 0x5, 0xf5ffffff, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_CADT_FLAGS={0x8, 0x6, 0x1, 0x0, 0x24}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_TYPENAME={0x10, 0x3, 'hash:ip,mac\x00'}]}, 0x54}}, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) sendmmsg$alg(r1, &(0x7f0000003e00)=[{0x0, 0x0, &(0x7f0000000180)=[{&(0x7f0000000040)="dba3968da0b86eed6e4f7fd8e8a61c2842c784604b7987461d8089815e6fce2e23e24fa1493057461e45f9275bf11594db372e7af5942f131d60cb8a41447a421054e256b862fb843107d8883df78f23f8af3f0c0fc2c283599b586a59814672a8e8a5b7c7d9ea763325e5bcfe343baed0bfde551e5908afa4da286e5adb54f9369a9928d0cd66660b", 0x89}, {&(0x7f0000000100)="4a559b9aef7d20acc7c722735038b15b316d2204a040b6f65470f61836ca7cb723d00e24a9dc4af94583b64a7f5bdc74d2baf3319ffe956b3e1b1cc89fd8279ef7fc73267c7ca0", 0x47}], 0x2}, {0x0, 0x0, &(0x7f0000000480)=[{&(0x7f00000001c0)="fe631e229ff6f59e55e25dea216bdff69140eeea0794aa9973500f124a14fc46c26558187ce390e57a979fee3cb1f8e18cca7ba2cd31040b4f2ad95ec8bae27a852470c720e1f7b34443ec5dc0b1d85952597e836dd1aed78f01b9a20b26954318b501c40393d3ce32cea3eb8deab86a5c6f8bed65f11765975f2e00f5ec19", 0x7f}, {&(0x7f0000000240)="f4605ae85c51e835c5fcb87658f4af284e34e3fca5c312d0c3b557f4854f16703dcc152cf0f9d7b083bc9e1175cb8dc67e9cb8a2bcc9eeed55b0191b738cb0bed6708b31bfdd523d0f0cf77b552a67d215d14a0e5997de08606cd17911ed51526b387790e308a04cb42568eb041c1237146e837d116934d5ef628d55ce6b8c263e53854c62c67d61c56fb06cc5c37e3bb718466af54d7e4e39", 0x99}, {&(0x7f0000000300)="6ac488644ccb0b0706a79992eba1dd46662ecdcf44ecd6bcd079761c51da9e52fad410e73ac1022ff9c8bd5f5824781396a994d9a3af23834cb86cef5322a656a18deecfb6ba354b2f9b7a6c1df46dcf0feb05f82ed0c5052da85946877b2f4c9691dc68f86690fb7eb81e064c9c5075c402976fc23727df49a7cb6f7be37c42f7b7637e577217329deef36a17e1fa501be1402b05180443", 0x98}, {&(0x7f00000003c0)="06c3a01c699bb70f08098ff09af8752bea7286b7f2a4b08340e2cf1fca3dce9f14c069a750e5aeacad45beb9efc52171c97f9392b7360f218c003cf755e50162a8fc590090595ff767304b081ca6e2369b3bfaeab79c18c028c12dd1a5f92a8e9fd415a862c7f731a0405858fc6149be7567704b2e508d959688f5a756004b2b4fdc6bfcb9bb39e8c101e3ea6b27", 0x8e}, {&(0x7f0000000540)="e4f0b2c6f0f1d1830db73ea22cebbd5cddb860fc92950cb3fc42a51822a19bcad9748d864c33cdddb9bd4edfe4a2ec8a7f67086916d1505d11aab356eba840f934c32c282e225c570bc6989406cee2f865145632f04a270737e2181f928debb8cc3c94559b4910e201c443c60a2defac0d22089093349742f008abd811d9b431f2508ad4d4f8269af56f80080090d459eb68", 0x92}], 0x5, &(0x7f0000003f40)=[@assoc={0x18, 0x117, 0x4, 0x829}, @op={0x18, 0x117, 0x3, 0x1}, @op={0x18, 0x117, 0x3, 0xabc551cbf7f5abf5}, @assoc={0x18, 0x117, 0x4, 0x3}, @iv={0x50, 0x117, 0x2, 0x37, "066c6fbcf8cb151d6351ff229304a648ff1192bd33718974eaa2d6ddd61d4d8a86d64c60be8f2643a631c1f53567a00d558c4d2e87eef9"}], 0xb0, 0x40000800}, {0x0, 0x0, &(0x7f00000017c0)=[{&(0x7f0000000640)="b2d8f2357fd68718064c805e591669e84fbcb1e5649b6a765be6257604e9edc5e695cf8b4c54165d434dd696994c5e90824b679eabcc90fd8d2eca47718b66b29440521ee238ea5c1ca1e001cf00858b5ea198df75455601d6ce70fc2f84", 0x5e}, {&(0x7f00000006c0)="5ce585f4714580317d180fd79204a169aa4d82cc8e2426bf10d0c4cc42ad9b66a1f0d44a8b0df84ad59719a8c5c555877d34d82b5cad6f98e4a1944ae76684d061c491d3d21627fd3f0997190df6925dc32e3b1ddd27eddb8524cab75a6665d8ff7d3edb739236e28a18c69c370f7361859a0ca07af2177b982dc512b60ed9816b203bad229d2166b0601f01866affc01f9620f63bde37d37a660dafc81d0023e89480488dbad7b7a8132e6dfa5b584da54209167926a3fa477786775d5910ceddc375868004062d6bee2f05f583e63a117f4212", 0xd4}, {&(0x7f00000007c0)="0ec68db965b8169c5f22602707531c75ab39dc0f062b7a2cd30609d1b174f0206c3d2de13ec6556b8dc049943975d5af60ce36a14838a107de0af8207fdf29e198f2a6d93da837fdcbf849229874f1ec1df1b0111c253f0ee52416574596ba5d86df6c200e4f1bc6a0b3cd1143281669a881a5a27835538e9466f3a88285990618cec2164f57b0237e1a200cf47dd9ba83e838200d5c73890673c956b369f9df69af67d284eb17f4164d0f1974a8e409e9cbf63e6fc50cf981c16554ffda4acb43c3076ce6991b71cda317fc354d6dce82fb829eefc8e7af8e0ea161bddde35620c78a14f3b1c066853d524f2c1f0abad79189678e22366bea830fb6c51055d9fe5406e49e86fd83760e6b6baa85d529b1583f2df61d3433c1648771a0e753610b8334bf38c1892d05c53b88a8398df76ded9c86f7a7afa5283fa6ae2fa3ec319686443a8a35fd879cae964474963c6c2f6f893f259c39ba483396f4ee28717e1ae839229c83d7d44e3842f89030f2d6fe67e03b2094da7a67399343569a29ec38197dd526d93127eb79ebe81ac706cb8430dd9aa953f81acdcb9dec9a18a399ca54ac0563bbf8d92af74814e1c06144b501c90f974a419e724b253b7522177ced8a604026d649dd5a465238271501470a4d5b2179dc2c7835fbdf34d95d3b4953a6c539f9562dc0af0b4c7cd54f13c5e0388e274c032421eb1f4af2ca1e36865304569c1d9cfcb7d70abfbcd86231bc895f74076a0986bea20d2f62a688bda9a31865eef6131e581b56e4d0ff5bbe0b091eb2a2b99419d7d347cf5202cfdc873ee47313e451b77d82ebb42c2e34a91a9c85b5492f0e1c37991cf1a948bb504b33bc28eff83c3898dda95b9e470b9e1db8f7f8404d17afabda580af46d80505e132c481e0276ff673ab1cdccb82c4a89bb6ebac50dc8e11032e3996bc744a99fbe2a0a1a42e151c41216ee35608c05c18b7b65c92aa3caddfe404e8daa9b1ee8232121d85fb311e251405c69648c8bbffd932dd8757965de434eefd4bec01c1915cd64aa782affaa935607d3b1b317be328bc7d3966cdf34337862ffe5ce2f7d75470a131363f83a6ffb38be9baf2720514943c6612a957d783c5ebe97232e757f90cb5aa1857b5362ba0964b014573fa425b655b7ddc3ad66bcb8a1aee2b1dfd39433a5537afa9e142597fb710d8ab418c84c01361abda10191a27a3d840da86ea26a54d02d91934504889c2e1de402a372ea1f0c2c6ffafc651afb869b6ca9a0edb63001d645b47115e1b22dfa77be4bb0b340c6b11b27a6e15ffd6fa45de110ffa945fb0b4f7ebfc9270e0104b0d80e47692fb67b9c99f7a90bdc5ed20b1fa9c49d014c027719154038debe9d711d4f045d426c392e791be583b3048e79c3d87b6854b2a7a150572e370a9cc48ca04af3670dfe7145cc763043a2ec554de113df912a8f8e460a2c7b8d43c04713e47e3e57a25e55026a869536aee0b22c15aab28a699dab07f0c4cb7585d4986a39c2dab24536cdfeb04f42eee3c1eb5eaae66a5faface59e72b8b3398df1c1a7921762bc7fa9789ce6bd5e186219a793ddb86f646a9e32d294abc04e7add6f409708e3aad55e56ec34a074672e24ebc6881b0961e0332b858b51e136195644a776c8528f70c51aad18fc4067e3810a81b5a2bfc398917d2f9e135b0d8e3219befa67c549d9531742e89bb07270ca524fe4953736616cef147943524753e8fcefc317a105ea18fbad51711f34a55e0ffc8549982360b96ca1682ae9b13cdf4e1734329341761c94b8d333f199fe4e46644acb550eaaee4f3657e36466a42ef116d85c78a8bbce596c444a7a0938dfde2f3606a016b6566f3754abe2ff9a3a6c722aa8d88affe302894a3eb39f3346f0b1800626852a70367891075716a097d8aa9036ad3ef51c8c1ad1eb1bb31e5c213e1dda2276d0e3a1b30ce1f61cb31141c7e527fc36c59534b04ad10a7ee59d0be4c028d33d4b5bd9aa4feeaad917437b2b6badd15f18bef6d8eb480983e4fb08237b0bfbf8e3ebbfb9c23e943bd8f00bbe9a7eefc0fab34f1f302fb5d54b1340c12d9dd11a1a06e5aa88ed234ca08dae54f3567f57438edce911df5d4ecdef55a68fb1ced206c15eb01f6652d262a0d6cd4836fdd8e912d494484a8ae620e13d302834dbd93d816c12779d5b009a03fe1f72923485c5268be92d00ee41c4763911bf9dfa7af5bd457282858359c7d551fb7f3b64e283f084e952392e960328b3304ba6102c3da78452e17976bd3cf8d391fc746e33839cb503eec24afa02f5e4babd70c7d8cd846396464d785e73656f05bd5c31c5d425e50b39a117a4fd663d567297b265d3719d2474154690537d0844a79ada1974195989f991dd8e9a03a12612d50d810cfe5c69919e819774a6a39a3bddc77ba15b88a5772057f6558083e9770ae25a5f2c85e3cbf17e30b2ba53d7c91147a77870f31a4bfd5452718c54376ffdb8608a6f13673af21577a41296cb6ee2403e97216f76ac5fce36546c218b7007fa966a674272a7a35719193aa03797ed7eb42d55c455ae280fcbcaed53e2b4aac896f1b43b052c80484229c165fd2861a2e493f06b97e3a2b929b8d6d1d745185ec49bef92ed133bea6b765240e862dfe78748d15f5886d212740b825c1d5c51821822d3d20de65328ee29f40bbd17361882a726f0a8e1c057b13e5195a60c5d73e81b445c39b61ca0b2df69d968fe4a22b249d6fbe86327b579d7432f894bcd20058aab91ea9151a77d2573ae325cc013029e98182e55ac529ff495e5c1745e53985e420e94876d3d0a08974868117340a8ef93ddd0b4d56f64cdbe9f13009d4f9302511a4309f6d66b95edb8bfe4415dd11e8147ffaf4476f972ac3611d669db242a57da31b5409ba6275f2bbc095fc8f449b98673a25d78a22c5afcced5690898bb12004d42d275af597942463934010c25cd9e4ce48ace16317f67f5aef733a9a5f1a18afe36741cc98ea4190d42f148d77083da379e220b4cb382681c3eb82508b4e4d7f6e2d2ad780aa1cfaf91d6483faebc000ed594ed656305cb5a11b00d40ec98732d641a1e868f4d15e1703ff6d8a02dae72e5b2a4db9299250e0f765f59ce29dc61d9e5f172aad52cfdb901a4a23fae80acdb4baa72092d6ca32399e087012f5e7bce0bc505649ba21da62327bd434e47369f123b7146edbb00c3d914198cb751e5fa65c3e2d60246aedab7c3ac5bdb14d4e684716f3713ca94f2c369cf7bebd99e31dcea9f164772ee9ee57c7fb2fd51520c37f026ab49a2c6ecb92721cf9d5164218e2b5d8031c6df1c108008af2d4b4a9724e73cadb0b144f2948c7c3935d93ff9017329c74bd5d8ef35cbca14674deacc6dc989eb1a142007d95baf19e32b7e8fb73b45eceb19569af3e57acd09930005ae9d9acbed56797828c8fc7ab3e8815617beaecb602e2cfdf543feac847c15e78ed2f55767922d4035dbe66b8e41ea5c5028f61c7afc04f696bf31b827b0af734ef074cec8317e80d22477744c95d3d5ca749e7ec744a2bba6400778aa101fd27f4a179b0ba8ff908e3f6b1a7c0563d751f1a44aaeec05227522eb15741b789b743c06115f4e13cfdf416f3e466c657c64a9e41d6a6f8aa8f46102e8a94086f0d1d08085d7bbd0423643be8d4684be8f173f876f145b160694a9bafe9f5226d4855ce9fc9332642eb012d222f236412102bad5f46c95f3a1c3b30ec339e51db5f274205fd9223fb3136022a4461d8e85739428b4a82473e8fb2315358c8589f732e49541bbc0825e32aff87a1a4c6576b50716dc11278a7b854e969bc79773506d483d15c10f2560a69b359f3782b38a035761997174d51e880c4b6945c5df0c689ddb7884973bbd1b9f7415901d928221c6fb159d77c355c911d233755a6b67c22fd7a449225553c9e62da0ebd77439f105da64b0ec183f8667e099c8eeea167b2d833e70bcfb7c81cff114f2d5f55e8ce6e6dc3e5d07157381811dbef348b127d7b312890d9323897c633146240f92b6d6351c27f462f36af4860dd57c23d1ca8885752a141fef1bae35724f854d8c976732ec43420c1bf25d6eae37c71dc69372f1e9bf0187b60a932ef99dd716faa0928a67d2c8c0252f93121ff59829c5769a3f72576e102d101cf2b386f0a717229064c7089add93df3b5e25c665e3895ef1b5c68e55191e080187cb74069074c3961088eb99ff5b2b70af9ded214f20538d437bae927bae7a37262f95c4559748ad8ac791db312ea2966c7ea89022411fbc91e86b17f0eb1dc68c851cf7b1822671fa38d3761f4b97c893b11d01be030ce75d41f7de2d4e1a6cd36edab34b3b3e7149fe3b74b3923cb38818c4a149434e01b5ae0dbcdeda39eaf6ceb392c91225c6557b562cc9396390f40d4166f78edccd7140c42785f033d60e0312395475c26fd334613036941206c3aa8ec821c1c89e79923b5611ec5d619bb51a9c448170788f5c594aaa7c180d7bd73a24c8e7ca21186223a20af768ee2159a3b4284005fe0953cd6e75a4d6ca1b9205adc52c730c8cf8fa6cc98da5b25e515c0887e64333e6225c82f7ddd116c5c1b091bc83e8e3f6e9aa2b4d12bc4d15f5ba7ca6c2b47c42eb9f227b77d1906db2b51ebb877bdeef4587143a64de9b1187ca0d07d7493599a30ff6937639b361531c90471ecb6487bb47f9d6c6e6cc68ca33d08cc25a6d81cfb5ccfcb55b66d61834b9c0b4d81aeace967631cf31b0c8183557246b0a4a165226d111a7eb0b1e6c281efa8b41fd6a9f9dac7f93209031e0e5b6a0e894b632222ddd670c58136fd7f2fc4fcfa246ae43f15dacb864031bb5808326ada8af7ab7f0426b856edf7e5aa8624d6b58238a196aec6d33f87c3ec2fc4ab67ebd003d4057859674ebeffbf6d6c785f3c98b733368ec5d90530c3d6a1852395c94a6f9cf3b0688bbea146095197ace1a58351da523e339017000106398c68b5c16734bc8b16b507ca6ce6c0a8ee3421d5cf4ef995ab04f8b93c443f4a35c36dd17e0a6f7e065a719a03dc0d8ecad9765c9fefc28f929159b77c17ed559ad040bb5dcec725546550237966955ec82f1df4f9ee92f61317b77ed81956cdc8951086262e27ca9c7a5d4669e2e71a9589843289c32826a17bd2f6d78913b63daa020fc3c363e15bcf8175bb3424ee1a3b9adcff2f829005a2b82792b81498a3e388e41ec44e9b8a4efe96bec1be057cac675af5d5d8874ce1da57065ad31ec72757331ae9ee1453425d1c4ed8a8029f3d8934c2f400267dc76c94bf9f20e2f2a3c47629cbfd5639f816f9716b7cb33391402fa0d3834264cf3e51c86c97a315dfb3e92e89276efcd60510eecd84b8761ae567d2ed56e6abc62b96bc72810bfb624471b6548bd07cf552656af5749a16988aaeaa4d8a064a9f34dcbfe8e1de07494da98af2059aaf006e7b23c822f671531edefabc5979ea25911504c8c23d29344a55c918a8951dda84d085a344b8b9811cde751a86990e32c836f7725f97fb030e179c13f4279fd8df7e2cecbaeccabf86c8484f87e38ec83dee3c37d751f6d66141a50c2aef6fd1086e94f44b6034af210a92bbada5fe9732199340551377c35d0bfc5b08459857609b08fd1d550e7feb7719c4d3c8dc5c74662f5cd6f36c9dc6d497e516ddfcee8ceddbad0e40b7ffadf8e11e0b0321057e672b2cc374e5ae7bdb175c5287692d261c49be172dd7fc854621d01fc635d0158ce4dafd4953ddf6c56bb6e2cf301314ea867beffd745a9edd28e99b0aa6560", 0x1000}], 0x3, 0x0, 0x0, 0x4c109}, {0x0, 0x0, &(0x7f0000001900)=[{&(0x7f0000001800)="9f1bf5f37247603a737703ef1f00e0bd571a0714b0a19a4b2be439a1683c124c4ed8a7c17529ad8d4988cf38fcccc0305012a71616f9e076ea396b8e9904b861a4255bd0b7ae4871f74dc48defba754d196af8104db5b3048024df7274fd077fbc213f545354738ba763a205bed9bfc8a6aea9d0bf5d6cf2481b9b16b4e38142cb35b0f107fbf3a7da63f986dd23f9a443ae12f076ac6042a852c70b5161fa5f035b23430d3bccd2fa985522f9c3d28e92240114cf961b0ffd39f7943842c671cdce", 0xc2}], 0x1, &(0x7f0000001980)=[@assoc={0x18, 0x117, 0x4, 0xfffffff8}, @op={0x18}, @assoc={0x18, 0x117, 0x4, 0x9}, @assoc={0x18, 0x117, 0x4, 0x14}, @assoc={0x18, 0x117, 0x4, 0xfffffffa}, @op={0x18, 0x117, 0x3, 0x1}], 0x90, 0x4800}, {0x0, 0x0, &(0x7f0000003d00)=[{&(0x7f0000001a40)="360164bf0d277ca349f07636a8de3466a98ac709cd16d02b5bcb06e20833b48fc7beeb6a95f041306c5fcd862eae31c285c8ca4f4d30863bf1afa800cf952a72754b413b900b3b8dbda6590e0995ef1e9f3f070171ebfd3db6a9473d8dd10187c07d583cca47b950213aa61bf53846cf882d51e4c2255fd9b2391fac34c218280d97b24cf097e1a95d8c7feb25124f7c64c0e6771a631c790591fd22", 0x9c}, {&(0x7f0000001b40)="d8923ab13f1506a61554b66786ad5a82c94493f8d7dfcaa037e58e5ccb9357be6d9de8d198471db5e20a6496503d8c0df8cf92bb13c704a2a4db1aabed049ea5f238a7361880816d23f41b1d6a43970da71247ab8b22aca7926e8e35efb28e2e32fb971d459d8444cde8503fd69f8fa313f5044e1394a2645c0fa0ace4639bdf66b451f28608a55b79192e5a9f92b3981537fb5205da31cb074dbd42429ad59a96a0e7f45ef6e5e015270265fe440c791ce95c0ee15786feadd41ee0cd860c850f1e80fc5e1b78ffadde50f57322c7726ac4d2c9a71471092f79cfc8f0a3c470439c485da1f6693c76d393b009e69f50b22dc6f856714c679857a6fe7639eaa03e37da0e00e113736a2fb8967d47cf11c4d69ab96e60545bf969c7420eea505f40a3035c9e86899b60945281a5e62f6d73511e2b9dcdf70ebdddfd0b71b33612ea1bc837ffc1daf519513c5c533fcca9f65433073a73a3c47b5fc0ee170399b9076ae4d63eaf24c176298a9d3328a9226675c209ea1382d738c7eb513d1dd018d2d93b5c1cec5c103588ab376abb6c05aae2fced687431b9e885a3c1be9ce1df6d0ef6e6b05284e2a9c8774659defb6f6c1704129b23fb79ce37fca5914357a9af1e4d1c1c08d429489d4a5489abba722e99e689ca75eca45b79e532fea7d7573a29b03c5e9856a1758f4755f69ed586f60c6698abd27da42e257b93809e1012c5fe6f028862acd9253fb0b4070b29093f7e3edb7febde51291476f6244e4857d1412ed683b51aa57c340fe33746311fe86df5e81ec4e6634e99b4ffb567ff587b0a036a1b34afa06c4a5ce9318303b277aa023f5162de53faab4e5f4cf38ea43b3006721c4119b81832c6479b728562fe9b63bcb5084f5ba7058556318ae717bf4f475a5008c964e19c5d3c8fc92ac9e765944e24218e01ec4f33993c08605e3e5219156de9e155ae03a30e0555aa88f1b5b982095df9175137fe67f9e70c2d6b04344ab01f68c9611e76d24420e76a9eb36d61b0bf6d3139e94a2fb7248b2027808c6c916fd066be8ad385c4b13fed8e367bb51790635dee32d28aefcc386b26de01c58e91b292cc308a7ad88c182dfb220d505a0e605aad441f7d3b13913828c07a9df7f8eb8c30790aea19ebc1b31ca40ad6eaf4be4a1f4bfd0087fbb775bc30cb97df88005c36e14abee555b8b28542035adc679c47f81348d2231b2441ea51b9022165d54882b241cba61c05537ad5e974d3709c1322e074d431ecd2c60601f701433fa4b0f0f9862b3d60f85a68dd7ae42848178642dfa8cfefc5dc14e5af9c9310fe16a85228ac87d808b256b37159548910ae5db56ef1bb119e0fb1f3d68bf7322d1e7040dbd53190a30a73a32e0d1f5e32f7a0914d70b3ef1539ba43d910894e0dcfa2b9e521b4ea242a3603236ef4e0c329b9ec614b9122a691adfb851c2b079c730d2566792c68ea3ca5822af19ce88a0a81c9c9d51bbe2f35c74b493e29592e38a9f8f898a829f686c0d20e494412e49c460515ab0891f043fcdccce1696e409634d967a1f49e5c81ae8122c877695c2d2e81b275ca5df5677db0f4448bbc8941c187a8c84fde4c2464c0282d38ee00b6fe5df9a96519ee74d794a9ac6d2aee15194832c4ab1b620cba34fbea16c629a2f249a5f83c933cb873656c489618d8e984d09fc9d953f37853bfe8efeef5ee511153a087f97a67acee87b9e47595a3c9c78f7bb58d2d97010d4d569341008189c575c63206bc77bac9c2ea885e282797d93def8aff7d1adf201fd72734abdc0fbcf2ed7e5dbd4a8368891d39dbdec219d7bd8f7051e7cc2f8263b408268901b3c54423cd72147518a7a9b775a2bc51546ca03f9b1a3ca59ad47bb8aaefe8c65f7293422850cdb517ad415e7bdbb3e24a5ad1d89b70bad1ded2325781f8f9d29e8567abf190c0d7c7a78c82e857091ceffa5f0c2c4d56752363a0bd459e9a1de4ef05a626036370844c243ac52530d98ce77867e3c251dba2907b9f7f9761e838356445324ba6d3d7c8ebff92ca9fc786d9d39463de914bef3eb568c724feb420e1971972ecf5773462a478ea1153ca37d4c4946c2d1580ba27c4712db8e632b6eca80350e77a005d070f4458d681a43279bffcf26f66b4d223a63dcfb1a740aedab9e5be79c5592ec5d0bb6b3732c28562e59f75576570a136dae271c2ec8c20ce46af4a82eff67e2258efab3a53a771f3a119555d151ee8bcd5b7d7d3d4b4f2e5ba10f38b30755fdead8b42f9fdb8691958b4f71274f8ec1ad1af535c9fdd9c36bc1d6abd164b7fd9574f8389946ddfc4ebe0d75a7bfc7c4ad27e1fd0e2149db8c33428ea7d8c3c6eacdfe79eccd3c7dce79e4f50f9ea30575b6e7fd709cd2091fd237074b394d77e5c5c09edd8f81d119c0539d0a8288258ebb477fc27ccf5088b485ec0d4f8c99f32faf484ae3f76a78a5f6951391adbf58bd2b0d9110ac995cd6dfa861c8a574fd070de57a6fc4bff1e6caf6c4986ba9102f95b1e0024977c1fb83885ac1e28378feed3e78990c47f7a83bf116d3dacedadc0a9602684d3d8036c98efbe125f28efbf580765b653af49fc3d7819f004cb79eb31acbcdc6de7bad32011d5cfe7aba75e15fffa6c8d2fd4441070a50f967eb5d5c0eed50c745c06d611b45df86175370a8a321fb9b459c52d6e528a45cee28e5f750c8a483223e7b952ebcf94a426014720db2237813df85f4f64901861b82657cecf652c465a1e10ef1d05109772b5d74933ba5327f16a98942a46916609d6de5403c0767d84bc8e96faa770d00fdbd30c811916c75414b896b535f75c695d78988fa1922e7c4eb062ccc1be67002f51f7e1b29df241fcb02f4b61bf1ad2ef50084040de31b04450b8563f204ea59195c4fbe587fd6a108296cad09b5cdda05713d29ca9725b98ec70b488a2a0516698d1fd2b5e58976d6f9aae707939239a1d773e391ca2fbb39ae3b77877f71310d2c2b350ee562de3ac4286c6a7f38de8760fbc3fa847471493bed6cad3d5673a210df3b05b6f5afb7b2d7624ff2e3c57a9cd77be3f87fa0910af5d48086826d23999c8b4fc3cd33d3d176709b8507aded91af590141d3b4eebea7fdaeff60f446950cc88ce459e0e15226416f12b69210933e9105789e40ed455aa76c56abe585967e9709f3a686494e812f724baa28dfba4ef95b6cf8a893da314427265084844166563696e161b9d005cb6f215c26eaf2900aed22fef656c25e2e0383d762ff83ee0385ef0ceb67e21607ec2793a5a0892ecc8db8f89b36e436bc29a3b8fd894dbc1111350fcbb013da9ce64972c231771e208f5f3250467f5b738c7c90a9478751d3b851bc06863062c3d3308fa0d6cf1c2d7e76a76e51c31eea5eedf837cbc5e994d0428c1cad4a42b1377c18227e3813477843372c6936bec8883281efbb0b0332d12efd1f74689c94e4cd3e21204e556a522e3f6a65d4eec37f063f7d8f3d815621d43f1805f5c8f8f716eace4045726d9fd2a4c7520ca805c77676374ac3b53a2c4b04f117d26e0f044a8f81ece66f231a3c22222b77fb7a69b4bbceaaed6c62616f4c7ead8a2332ca32b8c6017147b92a9c48d260abb066d4e64cb9ab8e2e453d6c49987f9966c734642135484fcfe56b5e2ad5c4c79c9d04ed1550d668aab028f30a4414a2478621f03980770247d53408f9ead1eceff673664c67d1af82480fa36efd634b25776529ab95a9cb8b6fc6c35601121b9464d8cd89990d167d749d4527af87ce6028902cc7fda8f8efb42bf5fc0ad3a882ccdb4c8271af8e1ad92d01ba0e26142db66c2a7c23b72efea4fd00ea26bdafd01404560e4b4d5b73644fc4fc7a2e9e414942b7e4c6ee8af18bea96558843f35276364d8a8cdf2f70781485726c8a397ef7f8ab4be0d4123fa9229bfb960c1da6fe8596b7a32b8971aee6e76005f391f8970f716299504a366db435243b3d4587d2222b26ff6b0e39d4ad748d2a3496fd2f899b885d4cea1f23bddbbd36ddda40d31de059b6dbc6d6c9d911e4741445f70ee8bf15e50b1551f61d21abae1e45f66ebc8274cdd1ed687e6c257aa3cae7a85f17df8d375a71ba7f6afe99b5cfc169290b4c9c9b2987cf014ec3aecde33813808c6c633a222bd2fb2d95e06e93be7a99cc592a414b550a00e93bc1bc2ebe4579164e0ec3e8cdbeaa285f62007d8197ba330cc3c3ab1902a706b91770572063b3448406d50a5978e1eae7235e3d4d7890373aefa09cc81fc1ce66b302c296b499e25e7ff8c4f266f8cb5bb1eba338f1f73a8a8af6fbe74510d81fbb600e98a28bcbc3b7d7f180e3d3dd2641d5eae25577ad3eeee1d6e1a05841e35d3a21064e7ee91cf97734dd7bc9a7524bdf26ecacb4a5ffc2c31102144b7eb2dcd5094bd9551d9d62369d4ae9f1060b340ffc1fc050c3a47db0c27787c35569a049384188c0a17548863f29a6830aa507eb5f8b5e7d35648938b588b6f7ebb487195f3688ad9d3c81e4dae97d3a5f79a973957fc5287d91cd4992ccdc0bee37d9f510db449c8a05d99143832a4e19d326a3990ea4c8df62b5e0737b05be4d975cc54ba2f90cd3de927d8f2678d97a5cba298bfb854c70de2d03eb77ce16370286bb1cad6618bcff3888997c7c4bc7ca6196bb55639fd674c01f86dfcb83fa7559d80fc0ff6e21b6ae4225ea8c4211c246790fdebca6e1ca1f052364f52398c99070742c2b982f81f5dd7cc86d8afea76ba12d737c74cc7399c896b555905f29bec60895d4956fe1e0a6e550bb46e76a58d8e2b04a6eebc5409dc00ef9c0e866013791e4b6cfd2263dde0b08e53bf88994dd8eb013bafbc864b39468fe440797df3c724caad818cdc1d612d4ac64c398fb64e39009a68de6e36dabb1b3464c33fdbdb98c8ebde79386c86ef4c2f93d99e5f84b074a011f0ec3bb8ebc0196639486e18b315dcc986c9a10522dea70bce75d1c96b4dc04497069bc055e37c7ad291a9d61af7c01b8e4084f3fce62fbac17712a7997373271d73083dda38d658799768044f0de79ede538b8dd4589f3e35c85d769977b326ae57a495b289182fb2942ad997381f12af89f195eac46d01acc17ddbdfcbc62d30f2292958c9a2be1a1aa3e37d21d6ec33c7c5ebb0dbe10ec0105520f0a9d1f1ffad8dc8e3a61936692da6771854c0632a3ad422ea3d2c6e72a4bfc19f75c540eb11814bfab51372f55b3c5e3cd2efcc7e53fa9810032a596437706192f0140d7eb90e2e827102b27a06df4b0cce51743f02d80a885b2b9518033e9dd89ed52526544494ff6b81852ddd31e39d3c7eb766784f2d5253f0c4b6b7fd67cd9be933121955f990915d62533f0ac432f626930cb55449572989731469ca01d26d7f9a3763dab1c0bda5133861c81f5be33c1485b78841707e1a738ae3d0f9ef9b9bddc93d5bc33e303c78b3021d17a52945f00fd63097fc3f20befa552ce991ec002df580c8a812cc28de29187348b240579521b87cc1f11d861e6533855839b61e3d3935bf33e8681a89635e905230e68cec5ce4cfec70a8c8365ad0bea362e2c3dd041a8c0a713d77b80879ab018458f8bd6049e84dd1d365fde9af6d1396041fb7051add66ee69081cf55098fabfdc46132b8828633937df785807940b4fb3bd0dc949ded9fa2569b2f62b7d5ce8449bf7890335f522522b0a1f7bb61ce5d8eb3b3eb1b196bd37936a42aa7f21327b1c750f2f7b824457de96f10a8e43c4cc5f0502438f10658c8e4db2f04463cabe4bf8d2a4e9c9fdf0507fb198e67994fcf52c00c06f", 0x1000}, {&(0x7f0000002b40)="e553bbf9fb830ecc6521a76b427ea2e53b0bed85cc8964666edcf7aa96867b79b9f250a42c46e152078f6d7a73c58f4187ea553cbf0cbc2568750829f656f9c775ffb5ce38d5662154fd91c5c2948b88a75051c1d42ac9e30c3b430179827589d77bca85aa55dc81f57266f5b077cfde3e247a86548acd4a8628b089734117749280188c93eb346cf152", 0x8a}, {&(0x7f0000002c00)="8d41d077c82d", 0x6}, {&(0x7f0000002c40)="a490cd46c0b9500b0a536d49a6fe7fac601016e8489d6bc9162694dc56b5ec1cd2ae8587090a4f30ab36c520655bd9f3efd4a56a8e384ac299e790f8a1b20c111246889a2f1d5dfdf44609589dd1559b1216419e08da4d186c9021a651f18d1d019fe3714d1738e8347f767d5ce27c84b612b45ba550eec2c7f24e9b0ab860c91ff8ff773bfd65d3", 0x88}, {&(0x7f0000002d00)="8e4bf749fe7f8bf97b924cf4edaf04ecce5c1ba6feb461ed3ef2472b34823555bf4b1e5c1beff839ed2d916a67d5143b00e286c7287101ff1e3aed8901c4c8005a526fd97a530fd31c11739976c29548d2d1f66f3c42ddafeaf32f9ec243f7bc683dedce06cb25dfa7e12c4a645e9e93f7b49ee5cda253aa2b873efeeff65c59db26be9ca16f307c2a2a90a6c1b3d389c81964a2e18f23ed1a02d5a7dc068edf9c5602b67175ca6be5d0f15721031034aed0d36f6ff80e8caa846c9f392ba10386483aadcbed585ab42257819735d4bf626031dda44ed0240ae8e6b3473dd64217d2ce4d76619c976c75820c5b3b5f8995f813fe615ca24df20d56e6abf95b5c904689da92443c6d0fa6b680a92bee953999d93b0ecbde90fcbe215c5a793d519fbea17e70bdff59bfe3db112924d3b406583297f018e4253aad9d046cf1ba67f6f9de09d6f4d623a7897d6b2be6ffd3eee01ef83de0c1eccbc7a7fa14ef7c889976fd3d508e496c1d6467f52e04cae112a4fdfa8a2c339ae8d0d783442cd49e48c6ec734beff7513cf14ad28a779dacab9dfbe866847c6cc02ba3131b4b8b4e534ec4ba7e6384965410b24c76bb44b35923ab8d84bbfbf21c6e43326f9596914c3a64bfa4dbe9610a758bfae009a36a31d0bac3515bbb9f1b6e73628ceba21d6560dfde3db465b86ca753b0ca6ed1b299ccbfea2024e623a076c4b2b7920080eff1d207ee36010cdc2b58197f928a53fe43529becd9ccd79c2c04b474f03547320bee754e240c7d99d60c39c8ea9ae4a2904cbe800fa071a6d71cc445a89b5111e8d5b64e03cc40ca8a9b5fcc5e405572af5aa729cef44e5fa4ef517b2a2e8e1ee6291d78c9da3c7e17bb95a919dc4ae4b51cfcf1b17c885f65909b7763598a2d300018e9836620c8793b3f585868d481cf8e15e44cee158b297a4b965278f8ff1a76753b7558987d34c41ad5b1935d1f4abd00fc5c126f8a83ae75906e78adf047f1b158a99ba2d449b8a8910e288d45ea203261f88515e848747bf03d627f91ef6d5b3282d8e5c9ab1434165f746b37c902c16e61a280ba414f30b6594d6d089b83305fea90ccf491cee5b6c8c6ae51c26041fffcc2ac9149ca91442196109c38f01d88453381f9f4ae9cea49af97a764e893c41e4816657f8a54779e2db2b671dec31f1da70ce629e478ffa532304924e73713f051bf4e2171475827bbd19bfb8aeceb653c03f51524987c69c06827f82238e8565ad6fba073160ee76b7b0985338db9f10b3c6b3b76b9c04b1760e360c8f131cea8a0ce657ea73112bf5fce5fd86409ba70959f0994a531952566d81e13b355fd61235f252ed90a523a2dd41c880d8f45c82fd3f178dc795b4f8a51ed417cde8c448373abccfdd565ac7154325e6b215849c106331afef28ee90e1c8cd7d3dfafee98116dbf307fa1adc8b9fb848124f3f8f6906d8dc6ebfb0ca691b32908ec5bddac3a37c43e7b4c5913e9b682051de95ecd221d43ab9ae88cc8e156fb427943e44ef06c563a878d6615f78743264829d6b5beb83054c24851c77f765cfee706414782abdc9c0aff2621211c2bd66d14fc2eeaa63af1dae27ab915ee9776c6b83cd92ff9ca9888b1b0f373156e705cf4d3f3ad07d93c00a9cb0e0c5543b49c5962b11387ffbc625b9c2949b81617f4fd0f722b6ac44b067168310e28070233fd08cf3a8e5a0fd06023444d023b8b7d303ae03b1bbad7f3e69d1ee2f0187abf0bcd2895648df040d3e57dbb52062bff44ad0cfdafeb25553d3a2d40e24742b80f6ed5eb807eb0506b86e9299301134938476bccd68795e213ffcd1376fb80dd3762827a3fe21e3464a8fced826582b187feb1f5f3e0564ca3da9ffe09e8e3fda3fe4615979834e8fd681db74eb12ec45229adfa04a16d99fcf89edff948b187eaa991f60de9e6ad0fb6596202a6bce878d235d951909264d1ae78e4825d2bd330c18e77b5387f1271f317f1050b1fbcf93a36cdde95b4e1384858575ca8328ea50b3973375b50db2e5c827fea1863d1436649daf800ff61948ce64e31f0290746bc5e939cb11d72c143042d9914f3676f00fde55e27d77990c84b3d6f3a24e2d7063580af31c9bf5e62a6a4167dd26bca4739630b1d4d3c5833c9dd844337faa7e57b727c561c38149c088d194750fd29a50ede7f25b04676d25f073c475710ab5ca790fbaf92e71c40d3ea9b848ac6a5663673f21c5c7984eefaea2fff440ef60b715dc2f0b5bcf8152fd15c75093c4665047930958bc2d20b85a98e2291ddb2eb3a1bb935200f47c4b299637b6da480e039fe84d4d5e2b9b6470d8c0a9217c5250d6d9e8f0cdfbee4972e66877b1431fee4abbb61d2689e39d46ded478563a0482aa324181d41484d40e09a82f15b655acaf2a38b1d992cf5dbf8dbe8006a128be8f4b6940afe88b6ae0279075e3e0474a704ce8d8b00ed7a58f2c410dbaca44830f7aff7af8829833c60abdf9619b6cab33c59eb32738a6c6efce8ca1a2bcd7c5ac162c77fa9d8817c82f39b3835091a10e636c75d8da146ab31941b7a4e06f8df9c398ff51069bb1f6143c8c4874b8b97c24bd2a278843b22c40316449594cefc9a00e35c2f5f01aa4df15afe89bc03092048e746f2f6265611189f2e19aa1c5084f8e1e6f649bb3418aaa16cca241eb711a34f17330e14d72995e358a407025a79e1a208398bb6a4ca730ebc1a15761a014df4dbafb95de3a1164a851e1277137b43ef49cfd0bbf0231f1b0cd78d4e432f4491b1193ae62c3a294c0adb04f650d7db8a392d4f8658de9f98d1793d47653a8549f9dbad009b3160a5da8e0092eb5c3d4d9ffcf3046c5efee4ccd5e6db160e8d64d9e8d182db9809dd6e3c24f03dea98aac660cf0dec58144c9c5e91175752c161291436becfad721da37ef167aeac97543a1ed1a57444468783ea4f04dd3ec3100886d9b5f88e9b67ab9b8e800b46f4149101db2be03941d5810eddcd3107b74e1fb56329df2e902854a66e3875857764205a8fffb36f59699d57bfb8fbd0a9a8275dc8a9c3705f01b21726ccafb2c035363474e2fe73ad20aafe0b3d764d953e1c8c2885a1d4c9b71cb22587d4ddf202b0d4c5e82f3f162086cb8416f14410ceb21cdb55647f45b0f8bec2c76afd6465a0f9ddec808fb596f08abb3ef5d5abb06cf3e49793e4e831af969e4bb503c99128b7c0442e02b8dbb90b8de43ea6be10b53e36c87259a583476d1d117e3a27aaa621351162761bfa38d396eee2e076b644f355ab05c84115b6aeea7a0b0ee7cc60b1cbe4c049b5d05ca7f2996c7c3a2354289829983854213328337ffc8d357399320a1515a46e3281616641bd653226871c6e4927c8035c014f8b388f93ce37f8f836e0abd3cac95d5ec07f1eac4dd4f2c1a13a30478bd3b8a3509f55345f9fb99118e70a07392389fea2be8efa8563aebb7097a60289f1b63ecc07d87731f26e7c8ed2d2922ec840d9b52ea71cc438f5a7fa1bfa48df453a31e8d49ae925f7c4fbd80f6d0f21b17a1ddd7ad80d4c7c99af0db51616730d3af78c16b7d777b4eaf7aa896107f2a54cc50db94c02f7a541e215a3e6454d3df9cb83a05f819607e086fa26eb9175b25bd5bc6040c3cbd8c4e008624b8bc225d63dcae7c6be6bafe39379ae89a460128ef4f64fb49057e0a80db1661521ee8f5f5d3adef5a9cad920482d0587971d21f61a03498e89f10e5b6ab5e6ae1f82dd6ea551a32c5510f987572a5aa23b149fba9266e28a51f5f74c2fb6068e1ef06d484fc56e2cb50088f3c367157f76cf0fbe07a72ddd1945682693461176a66ee4be177eae05820f176589e650d0e7d70b00930cfd0e8fc551a7d1a56d0163bb836faf112bb41f81e49385a6ae8b53b17c9df9eae3a544924c548da49b80cc11d3c9a1e98c2d994282b10d910c29c3361d0b463503644d159441127d4b5d2bbe0f58714ce1963e05a87906cb45e3fd66d4097de174e470504824bbdb5fa531426e711e9d265da5286cd1a1cd88f10121b3b0927bbfbc726fd7a2c82b0d9272d610a92d3fab527e2180986852e069cefca79aec417985b3b9801856119f5f2d1a658e132b8183b534982f917c175cc91abbb005943484a20c54ecdd022f22e351cb4ea50d71f0721d56a91713775043ee4d153be832eb66d855b08bedff4ed4980237f186a4bb128ddf9b30a95cb6e5d8ef4624583c1337a99734d3d30d19d444d85a8bcb9b91ddc7be49deb25040cb2d19e1302e2fd702f474a534c0d7f61627691fed99401805e44bdd6d75afa2baef9ad26c5f7887b3fdf13e22a5370eb3b5ec5cd74d0d7a953f8310cfe44fde8bf4ffe80ea0f4fe5a77fb4f7422c68dc242a005f2527c5d09671544fcca486ec7e3bc8c4e997533aa21c21bdf57e39e650e5caa3da83396342659ce4c518c14851722d5b7e68cae4a236263ae0c3926b60cf6731d8da0fb1bbb9906127cfc30d4df763a4a746b454f8ef87938f3c8a31eeff1f87bed5bf2ef52efe8668b8cd483f6e0bf45f4c2024852c6645b7e29983ed24eaa5019dedbb540f99edd9174966cf58e1d3a3a152dad20e9495016577c38c2479598c88592233130ee5e2d76492e74ff6bc16e56ed87d513ed00e4406e31387568a69e5ae5d78ae7370d4a3f4ec526e670c71a76595e6d0adf237fec55119eaeb1511a64fb96ca627b2472751fe6beb67f68d55c9d40e7e755b53de5b3990e63aef93954147f3f0a80f622ad1a3e3fdf9af0d5f7c0ef56bca2e9974b15809bac5e76dbc60f762cd3cfadec81a7d5831aa3df400d80abc8686b4c98aeb8d294709422987ccbb3f39d692ef3ef368d8a1674559272114b63e055e171222e72435095d770d2106dbb609a46c0e5c9c5d19f83743aa9cd61c7f5b713731dfeab939f0dfff0474024c8eb2eb73ce7f895e66d3bebc99e929535584faf7df0a2b1d183a248bcbeca6245507ac667732196f3734d2acd4d289e781d0df18e505a9bfac2a478335ec80add7e2a017834845d7f4eb051d889c0bd2d3b73250c9913e6c85dd7f76bd689e63d093b887f35d12e01e5d30a8d2d9ca42dff354e318c4a63bf19424b04673a64fe30c507067eb0e0b2f093dd28105708f3e53e40ce18c442a85fcc3330eefda43b332918983a05041a6d18bdef62790d676af575e4fb345dc1dff2f0ecbaa2bf2fd937509c763aacd27c7e341697d742ae43128bf580b2782d9008c6d1ef7c7861a7dc1f2ae0e9112fcf9f2e4da47c3230d73ff22a5f4bd7217cdc2ca7d1def4bb9642099f87a316ce6956f48b9f9164862b993bf0629e048b5a8ac88cc5ba4e2f3c6bcbacaec581280bce17b4010d585abe886e8e0b911187ebee3a85bf3d7b8e6083987d63d3507bb907983b35a61bd041daa92b117356ac299ec92fb43f00b7cb19049aa3050875e598120c9983a9d0865951dffb6d9476977e9b8f2051cdd51c5d63c47bbbbe622adbb0a1f1ee0f78ec31aa4875afe9551a9632370de8e2f02bf289801ddeea281926e7aa8a4c6baf1a57a804ee4ca4b3ccbe3222eaf84470e38f68ea04e1f3134148c74d8afa8aa6848e75364f0f49108076b7892b17164c2f3a35390fbff157c881debe92dfd2350491746b3f6084bd8e467af45d1aa90600842c73d234cef2c45c1d39287da75c26e2dab8585a3786638bef7056538502f05a8d2a26ef291bffaf1c3a9d101d2e841dddeeda2108d2bde33eeac56fc8b9f505495357d063b00b6029e3532104704673f6b67b0f67f089b9f8df7c596f06fff9169123a6", 0x1000}], 0x6, &(0x7f0000003d80)=[@assoc={0x18, 0x117, 0x4, 0x2}, @assoc={0x18, 0x117, 0x4, 0x3}, @op={0x18}], 0x48, 0x20008001}], 0x5, 0x1) syz_mount_image$xfs(&(0x7f0000000500)='xfs\x00', &(0x7f0000001940)='./file1\x00', 0x0, 0x0, &(0x7f0000001ac0), 0x0, &(0x7f0000001b00)={[{@logbufs={'logbufs'}}]}) 13:36:59 executing program 5: mknod(&(0x7f0000000180)='./file0\x00', 0x0, 0x0) clone(0x180000105, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000000)=@nbd={'/dev/nbd', 0x0}, &(0x7f0000000040)='./file0\x00', &(0x7f00000000c0)='cifs\x00', 0x10008, &(0x7f0000000200)='$\x00') socket$inet_tcp(0x2, 0x1, 0x0) openat$vsock(0xffffffffffffff9c, 0x0, 0x0, 0x0) socket(0x23, 0x5, 0x7ca) 13:36:59 executing program 5: r0 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) pipe2$9p(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) r3 = shmget$private(0x0, 0x400000, 0x0, &(0x7f0000c00000/0x400000)=nil) shmat(r3, &(0x7f0000ce9000/0x1000)=nil, 0x7000) shmctl$IPC_STAT(r3, 0x2, &(0x7f0000001580)=""/4096) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r2}, 0x2c, {[{@version_u='version=9p2000.u'}]}}) preadv(r2, &(0x7f0000000140)=[{&(0x7f0000000080)=""/126, 0x7e}, {&(0x7f0000000580)=""/4096, 0x1000}, {&(0x7f0000000000)=""/47, 0x2f}, {&(0x7f0000000100)}], 0x4, 0xf883, 0x40000000) getsockname$packet(r0, &(0x7f0000000280)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000540)=@newlink={0x3c, 0x10, 0x705, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x63565}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @vxcan={{0xa, 0x1, 'vxcan\x00'}, {0x4, 0x2, 0x0, 0x1, @void}}}, @IFLA_MASTER={0x8, 0xa, r4}]}, 0x3c}}, 0x0) [ 2145.907007] ================================================================== [ 2145.914732] BUG: KASAN: slab-out-of-bounds in _decode_session6+0xf4e/0x1370 [ 2145.921837] Read of size 1 at addr ffff8880a8c61f9f by task syz-fuzzer/6495 [ 2145.928927] [ 2145.930556] CPU: 0 PID: 6495 Comm: syz-fuzzer Not tainted 4.19.148-syzkaller #0 [ 2145.937991] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 2145.947338] Call Trace: [ 2145.949915] [ 2145.952115] dump_stack+0x22c/0x33e [ 2145.955784] print_address_description.cold+0x56/0x25c [ 2145.961061] kasan_report_error.cold+0x66/0xb9 [ 2145.965641] ? _decode_session6+0xf4e/0x1370 [ 2145.970049] __asan_report_load1_noabort+0x88/0x90 [ 2145.974980] ? _decode_session6+0xf4e/0x1370 [ 2145.979392] _decode_session6+0xf4e/0x1370 [ 2145.983685] __xfrm_decode_session+0x5a/0x150 [ 2145.988228] vti6_tnl_xmit+0x42b/0x1cd0 [ 2145.992274] ? mark_held_locks+0xf0/0xf0 [ 2145.996333] ? find_held_lock+0x2d/0x110 [ 2146.000399] ? vti6_link_config+0x610/0x610 [ 2146.004766] ? netif_skb_features+0x3f9/0xb20 [ 2146.009275] dev_hard_start_xmit+0x1a8/0x960 [ 2146.013732] sch_direct_xmit+0x2cf/0xf70 [ 2146.017835] ? rcu_lockdep_current_cpu_online+0x15f/0x220 [ 2146.023445] ? pfifo_enqueue+0x197/0x2e0 [ 2146.027512] ? qdisc_destroy+0x7a0/0x7a0 [ 2146.031580] __qdisc_run+0x4fc/0x1670 [ 2146.035390] __dev_queue_xmit+0x15ef/0x2ec0 [ 2146.039720] ? netdev_pick_tx+0x350/0x350 [ 2146.043902] ? __neigh_create+0x1286/0x1d80 [ 2146.048286] ? __local_bh_enable_ip+0x159/0x2a0 [ 2146.052984] ? __neigh_create+0xbf5/0x1d80 [ 2146.057234] ? rcu_lockdep_current_cpu_online+0x15f/0x220 [ 2146.062812] ip6_finish_output2+0x1184/0x2370 [ 2146.067314] ? ip6_append_data+0x300/0x300 [ 2146.071548] ? lock_downgrade+0x750/0x750 [ 2146.075739] ? check_preemption_disabled+0x41/0x2b0 [ 2146.080773] ip6_finish_output+0x610/0xcc0 [ 2146.085014] ip6_output+0x205/0x7c0 [ 2146.088641] ? ip6_finish_output+0xcc0/0xcc0 [ 2146.093053] ? ip6_fragment+0x3390/0x3390 [ 2146.097200] ? check_preemption_disabled+0x41/0x2b0 [ 2146.102263] ndisc_send_skb+0xa6b/0x1860 [ 2146.106334] ? pndisc_constructor+0x250/0x250 [ 2146.110868] ? __kmalloc_node_track_caller+0x38/0x70 [ 2146.115970] ? do_ipv6_setsockopt.constprop.0.cold+0x8c/0x8c [ 2146.121809] ? __alloc_skb+0x36d/0x580 [ 2146.125700] ? memset+0x20/0x40 [ 2146.129000] ndisc_send_rs+0x131/0x6a0 [ 2146.132892] addrconf_rs_timer+0x2d9/0x640 [ 2146.137130] ? ipv6_get_lladdr+0x4f0/0x4f0 [ 2146.141447] call_timer_fn+0x177/0x760 [ 2146.145339] ? ipv6_get_lladdr+0x4f0/0x4f0 [ 2146.149663] ? init_timer_key+0x370/0x370 [ 2146.153881] ? _raw_spin_unlock_irq+0x24/0x90 [ 2146.158388] ? ipv6_get_lladdr+0x4f0/0x4f0 [ 2146.162624] expire_timers+0x243/0x500 [ 2146.166518] run_timer_softirq+0x259/0x730 [ 2146.170755] ? expire_timers+0x500/0x500 [ 2146.174862] ? sched_clock+0x2a/0x50 [ 2146.178618] ? sched_clock_cpu+0x18/0x260 [ 2146.182771] ? check_preemption_disabled+0x41/0x2b0 [ 2146.187791] __do_softirq+0x27d/0xad2 [ 2146.191599] irq_exit+0x22d/0x270 [ 2146.195053] smp_apic_timer_interrupt+0x15f/0x5d0 [ 2146.199896] apic_timer_interrupt+0xf/0x20 [ 2146.204119] [ 2146.206351] RIP: 0033:0x40c8f9 [ 2146.209538] Code: 83 8b 02 00 00 48 8b 44 c2 28 4c 8b 58 40 4d 0f bc e3 41 bd 40 00 00 00 4d 0f 44 e5 49 83 fc 40 0f 8d 2d 01 00 00 4c 8b 68 30 <4f> 8d 74 25 00 4c 8b 78 38 4d 39 fe 0f 83 17 01 00 00 4f 8d 6c 25 [ 2146.228434] RSP: 002b:000000c02ccd2a70 EFLAGS: 00000287 ORIG_RAX: ffffffffffffff13 [ 2146.236144] RAX: 00007f8cdc68cc48 RBX: 000000c00003e700 RCX: 000000c000091680 [ 2146.243415] RDX: 00007f8d0c8757d0 RSI: 000000c000091680 RDI: 0000000000000028 [ 2146.250683] RBP: 000000c02ccd2b00 R08: 00000000008eba20 R09: 0000000000203000 [ 2146.258063] R10: 0000000000000008 R11: 00007fffffffffff R12: 0000000000000000 [ 2146.265330] R13: 0000000000000091 R14: 0000000000ae7755 R15: 0000000000000038 [ 2146.272610] [ 2146.274233] Allocated by task 1036: [ 2146.277861] kmem_cache_alloc+0x126/0x4a0 [ 2146.282085] getname_flags+0xce/0x590 [ 2146.285885] do_symlinkat+0xce/0x2c0 [ 2146.289614] do_syscall_64+0xf9/0x670 [ 2146.293417] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 2146.298593] [ 2146.300215] Freed by task 1036: [ 2146.303494] kmem_cache_free+0x7f/0x2b0 [ 2146.307467] putname+0xe1/0x130 [ 2146.310747] filename_create+0x22e/0x490 [ 2146.314805] do_symlinkat+0xe1/0x2c0 [ 2146.318519] do_syscall_64+0xf9/0x670 [ 2146.322321] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 2146.327497] [ 2146.329121] The buggy address belongs to the object at ffff8880a8c601c0 [ 2146.329121] which belongs to the cache names_cache of size 4096 [ 2146.341864] The buggy address is located 3551 bytes to the right of [ 2146.341864] 4096-byte region [ffff8880a8c601c0, ffff8880a8c611c0) [ 2146.354434] The buggy address belongs to the page: [ 2146.359366] page:ffffea0002a31800 count:1 mapcount:0 mapping:ffff88821bc44b00 index:0x0 compound_mapcount: 0 [ 2146.369331] flags: 0xfffe0000008100(slab|head) [ 2146.373915] raw: 00fffe0000008100 ffffea0002a3f688 ffffea0002171c08 ffff88821bc44b00 [ 2146.381796] raw: 0000000000000000 ffff8880a8c601c0 0000000100000001 0000000000000000 [ 2146.389673] page dumped because: kasan: bad access detected [ 2146.395371] [ 2146.396990] Memory state around the buggy address: [ 2146.401918] ffff8880a8c61e80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 2146.409275] ffff8880a8c61f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 2146.416628] >ffff8880a8c61f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 2146.423987] ^ [ 2146.428131] ffff8880a8c62000: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 2146.435490] ffff8880a8c62080: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 2146.442837] ================================================================== [ 2146.450208] Disabling lock debugging due to kernel taint [ 2146.455821] Kernel panic - not syncing: panic_on_warn set ... [ 2146.455821] [ 2146.463183] CPU: 0 PID: 6495 Comm: syz-fuzzer Tainted: G B 4.19.148-syzkaller #0 [ 2146.472006] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 2146.481459] Call Trace: [ 2146.484294] [ 2146.486444] dump_stack+0x22c/0x33e [ 2146.490075] panic+0x2ac/0x565 [ 2146.493266] ? __warn_printk+0xf3/0xf3 [ 2146.497209] ? trace_hardirqs_on+0x55/0x210 [ 2146.501536] kasan_end_report+0x43/0x49 [ 2146.505507] kasan_report_error.cold+0x83/0xb9 [ 2146.510087] ? _decode_session6+0xf4e/0x1370 [ 2146.514595] __asan_report_load1_noabort+0x88/0x90 [ 2146.519519] ? _decode_session6+0xf4e/0x1370 [ 2146.523926] _decode_session6+0xf4e/0x1370 [ 2146.528169] __xfrm_decode_session+0x5a/0x150 [ 2146.532663] vti6_tnl_xmit+0x42b/0x1cd0 [ 2146.536635] ? mark_held_locks+0xf0/0xf0 [ 2146.540690] ? find_held_lock+0x2d/0x110 [ 2146.544746] ? vti6_link_config+0x610/0x610 [ 2146.549066] ? netif_skb_features+0x3f9/0xb20 [ 2146.553567] dev_hard_start_xmit+0x1a8/0x960 [ 2146.557977] sch_direct_xmit+0x2cf/0xf70 [ 2146.562039] ? rcu_lockdep_current_cpu_online+0x15f/0x220 [ 2146.567570] ? pfifo_enqueue+0x197/0x2e0 [ 2146.571626] ? qdisc_destroy+0x7a0/0x7a0 [ 2146.575685] __qdisc_run+0x4fc/0x1670 [ 2146.579488] __dev_queue_xmit+0x15ef/0x2ec0 [ 2146.583812] ? netdev_pick_tx+0x350/0x350 [ 2146.587958] ? __neigh_create+0x1286/0x1d80 [ 2146.592277] ? __local_bh_enable_ip+0x159/0x2a0 [ 2146.596943] ? __neigh_create+0xbf5/0x1d80 [ 2146.601178] ? rcu_lockdep_current_cpu_online+0x15f/0x220 [ 2146.606712] ip6_finish_output2+0x1184/0x2370 [ 2146.611208] ? ip6_append_data+0x300/0x300 [ 2146.616050] ? lock_downgrade+0x750/0x750 [ 2146.620193] ? check_preemption_disabled+0x41/0x2b0 [ 2146.625207] ip6_finish_output+0x610/0xcc0 [ 2146.629443] ip6_output+0x205/0x7c0 [ 2146.633069] ? ip6_finish_output+0xcc0/0xcc0 [ 2146.637476] ? ip6_fragment+0x3390/0x3390 [ 2146.641620] ? check_preemption_disabled+0x41/0x2b0 [ 2146.646635] ndisc_send_skb+0xa6b/0x1860 [ 2146.650703] ? pndisc_constructor+0x250/0x250 [ 2146.655196] ? __kmalloc_node_track_caller+0x38/0x70 [ 2146.660296] ? do_ipv6_setsockopt.constprop.0.cold+0x8c/0x8c [ 2146.666093] ? __alloc_skb+0x36d/0x580 [ 2146.669978] ? memset+0x20/0x40 [ 2146.673255] ndisc_send_rs+0x131/0x6a0 [ 2146.677147] addrconf_rs_timer+0x2d9/0x640 [ 2146.681391] ? ipv6_get_lladdr+0x4f0/0x4f0 [ 2146.685631] call_timer_fn+0x177/0x760 [ 2146.689516] ? ipv6_get_lladdr+0x4f0/0x4f0 [ 2146.693752] ? init_timer_key+0x370/0x370 [ 2146.697900] ? _raw_spin_unlock_irq+0x24/0x90 [ 2146.702392] ? ipv6_get_lladdr+0x4f0/0x4f0 [ 2146.706627] expire_timers+0x243/0x500 [ 2146.710515] run_timer_softirq+0x259/0x730 [ 2146.714750] ? expire_timers+0x500/0x500 [ 2146.718810] ? sched_clock+0x2a/0x50 [ 2146.722520] ? sched_clock_cpu+0x18/0x260 [ 2146.726664] ? check_preemption_disabled+0x41/0x2b0 [ 2146.731680] __do_softirq+0x27d/0xad2 [ 2146.735487] irq_exit+0x22d/0x270 [ 2146.738941] smp_apic_timer_interrupt+0x15f/0x5d0 [ 2146.743783] apic_timer_interrupt+0xf/0x20 [ 2146.748005] [ 2146.750236] RIP: 0033:0x40c8f9 [ 2146.753427] Code: 83 8b 02 00 00 48 8b 44 c2 28 4c 8b 58 40 4d 0f bc e3 41 bd 40 00 00 00 4d 0f 44 e5 49 83 fc 40 0f 8d 2d 01 00 00 4c 8b 68 30 <4f> 8d 74 25 00 4c 8b 78 38 4d 39 fe 0f 83 17 01 00 00 4f 8d 6c 25 [ 2146.772318] RSP: 002b:000000c02ccd2a70 EFLAGS: 00000287 ORIG_RAX: ffffffffffffff13 [ 2146.780019] RAX: 00007f8cdc68cc48 RBX: 000000c00003e700 RCX: 000000c000091680 [ 2146.787283] RDX: 00007f8d0c8757d0 RSI: 000000c000091680 RDI: 0000000000000028 [ 2146.794635] RBP: 000000c02ccd2b00 R08: 00000000008eba20 R09: 0000000000203000 [ 2146.801900] R10: 0000000000000008 R11: 00007fffffffffff R12: 0000000000000000 [ 2146.809323] R13: 0000000000000091 R14: 0000000000ae7755 R15: 0000000000000038 [ 2146.817942] Kernel Offset: disabled [ 2146.821557] Rebooting in 86400 seconds..