In RabbitMQ, which exchange type routes messages to queues based on an exact match of the message's routing key?