def get_config_multiline_option(parser: ConfigParser,
                                section: str,
                                option: str,
                                default: List[str] = None) -> List[str]:
    """
    Retrieves a multi-line string value from a parser as a list of strings
    (one per line, ignoring blank lines).

    Args:
        parser: instance of :class:`ConfigParser`
        section: section name within config file
        option: option (variable) name within that section
        default: value to return if option is absent (``None`` is mapped to
            ``[]``)

    Returns:
        list of strings

    Raises:
        ValueError: if the section is absent

    """
    default = default or []
    if not parser.has_section(section):
        raise ValueError("config missing section: " + section)
    try:
        multiline = parser.get(section, option)
        values = [x.strip() for x in multiline.splitlines() if x.strip()]
        return values
    except NoOptionError:
        return default
Retrieves a multi-line string value from a parser as a list of strings
    (one per line, ignoring blank lines).

    Args:
        parser: instance of :class:`ConfigParser`
        section: section name within config file
        option: option (variable) name within that section
        default: value to return if option is absent (``None`` is mapped to
            ``[]``)

    Returns:
        list of strings

    Raises:
        ValueError: if the section is absent