dffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffff