Mexico, Aztec, Spanish and Republican