Theory of programmable hierarchic self-assembly.