Copied from Textseer codebase