import string


def ascii(omissions: str = 'w', include: bool = False) -> str:
    """
    Return the ascii character base excluding the given omissions:
        "p" ->  ' ' + punctuation
        "u" ->  uppercase
        "l" ->  lowercase
        "d" ->  digits
    Feel free to omit combinations:
        ascii('lup')
            0123456789
    """
    d = {
        "p": " " + string.punctuation,
        "u": string.ascii_uppercase,
        "l": string.ascii_lowercase,
        "d": string.digits,
        "w": string.whitespace,
    }
    return (
        "".join(d[key] for key in d if key in omissions)
        if include
        else "".join(d[key] for key in d if not key in omissions)
    )