"""
The MIT License (MIT)

Copyright (c) [2015-2025] [Andrew Annex]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
"""

__author__ = "AndrewAnnex"
__version__ = "8.1.2"
import importlib
import sys


def __getattr__(name):
    if name == "cyice":
        module = importlib.import_module(f"{__name__}.cyice")
        sys.modules[f"{__name__}.cyice"] = module
        return module
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")


from . import spiceypy as _spiceypy

from .spiceypy import (
    stypes,
    libspice,
    SpiceyError,
    SpiceyPyError,
    NotFoundError,
    SpiceyPyIOError,
    SpiceyPyMemoryError,
    SpiceyPyTypeError,
    SpiceyPyKeyError,
    SpiceyPyIndexError,
    SpiceyPyRuntimeError,
    SpiceyPyZeroDivisionError,
    SpiceyPyValueError,
    dynamically_instantiate_spiceyerror,
    found_check_off,
    found_check_on,
    found_check,
    no_found_check,
    get_found_catch_state,
    spice_found_exception_thrower,
    config,
    UDFUNC,
    UDFUNS,
    UDFUNB,
    UDSTEP,
    UDREFN,
    UDREPI,
    UDREPU,
    UDREPF,
    UDBAIL,
    SpiceUDFUNS,
    SpiceUDFUNB,
    Cell_Char,
    Cell_Bool,
    Cell_Time,
    Cell_Double,
    Cell_Int,
    Ellipse,
    Plane,
    SpiceCell,
    SpiceCellPointer,
    SpiceDLADescr,
    SpiceDSKDescr,
    SpiceEKAttDsc,
    SpiceEKSegSum,
    cspice_flavor,
    appndc,
    appndd,
    appndi,
    axisar,
    azlcpo,
    azlrec,
    b1900,
    b1950,
    badkpv,
    bltfrm,
    bodc2n,
    bodc2s,
    boddef,
    bodeul,
    bodfnd,
    bodn2c,
    bods2c,
    bodvar,
    bodvcd,
    bodvrd,
    brcktd,
    brckti,
    bschoc,
    bschoi,
    bsrchc,
    bsrchd,
    bsrchi,
    card,
    ccifrm,
    cell_bool,
    cell_char,
    cell_double,
    cell_int,
    cell_time,
    cgv2el,
    chbder,
    chbigr,
    chbint,
    chbval,
    check_for_spice_error,
    chkin,
    chkout,
    cidfrm,
    ckcls,
    ckcov,
    ckfrot,
    ckfxfm,
    ckgp,
    ckgpav,
    ckgr02,
    ckgr03,
    cklpf,
    ckmeta,
    cknr02,
    cknr03,
    ckobj,
    ckopn,
    ckupf,
    ckw01,
    ckw02,
    ckw03,
    ckw05,
    clight,
    clpool,
    cltext,
    cmprss,
    cnmfrm,
    conics,
    convrt,
    copy,
    cpos,
    cposr,
    cvpool,
    cyllat,
    cylrec,
    cylsph,
    dafac,
    dafbbs,
    dafbfs,
    dafcls,
    dafcs,
    dafdc,
    dafec,
    daffna,
    daffpa,
    dafgda,
    dafgh,
    dafgn,
    dafgs,
    dafgsr,
    dafhsf,
    dafopr,
    dafopw,
    dafps,
    dafrda,
    dafrfr,
    dafrs,
    dafus,
    dasac,
    dasadc,
    dasadd,
    dasadi,
    dascls,
    dasdc,
    dasec,
    dashfn,
    dashfs,
    daslla,
    dasllc,
    dasonw,
    dasopr,
    dasops,
    dasopw,
    dasrdd,
    dasrdi,
    dasrfr,
    dasudd,
    dasudi,
    daswbr,
    datetime2et,
    dazldr,
    dcyldr,
    deltet,
    det,
    dgeodr,
    diags2,
    diff,
    dlabbs,
    dlabfs,
    dlabns,
    dlaens,
    dlafns,
    dlafps,
    dlaopn,
    dlatdr,
    dnearp,
    dp2hx,
    dpgrdr,
    dpmax,
    dpmin,
    dpr,
    drdazl,
    drdcyl,
    drdgeo,
    drdlat,
    drdpgr,
    drdsph,
    dskb02,
    dskcls,
    dskd02,
    dskgd,
    dskgtl,
    dski02,
    dskmi2,
    dskn02,
    dskobj,
    dskopn,
    dskp02,
    dskrb2,
    dsksrf,
    dskstl,
    dskv02,
    dskw02,
    dskx02,
    dskxsi,
    dskxv,
    dskz02,
    dsphdr,
    dtpool,
    ducrss,
    dvcrss,
    dvdot,
    dvhat,
    dvnorm,
    dvpool,
    dvsep,
    edlimb,
    ednmpt,
    edpnt,
    edterm,
    ekacec,
    ekaced,
    ekacei,
    ekaclc,
    ekacld,
    ekacli,
    ekappr,
    ekbseg,
    ekccnt,
    ekcii,
    ekcls,
    ekdelr,
    ekffld,
    ekfind,
    ekgc,
    ekgd,
    ekgi,
    ekifld,
    ekinsr,
    eklef,
    eknelt,
    eknseg,
    ekntab,
    ekopn,
    ekopr,
    ekops,
    ekopw,
    ekpsel,
    ekrcec,
    ekrced,
    ekrcei,
    ekssum,
    ektnam,
    ekucec,
    ekuced,
    ekucei,
    ekuef,
    el2cgv,
    elemc,
    elemd,
    elemi,
    eqncpv,
    eqstr,
    erract,
    errch,
    errdev,
    errdp,
    errint,
    errprt,
    esrchc,
    et2datetime,
    et2lst,
    et2utc,
    etcal,
    eul2m,
    eul2xf,
    ev2lin,
    evsgp4,
    exists,
    expool,
    failed,
    fn2lun,
    fovray,
    fovtrg,
    frame,
    frinfo,
    frmnam,
    ftncls,
    furnsh,
    gcpool,
    gdpool,
    georec,
    getelm,
    getfat,
    getfov,
    getfvn,
    getmsg,
    gfbail,
    gfclrh,
    gfdist,
    gfevnt,
    gffove,
    gfilum,
    gfinth,
    gfocce,
    gfoclt,
    gfpa,
    gfposc,
    gfrefn,
    gfrepf,
    gfrepi,
    gfrepu,
    gfrfov,
    gfrr,
    gfsep,
    gfsntc,
    gfsstp,
    gfstep,
    gfstol,
    gfsubc,
    gftfov,
    gfudb,
    gfuds,
    gipool,
    gnpool,
    halfpi,
    hrmesp,
    hrmint,
    hx2dp,
    ident,
    illum,
    illumf,
    illumg,
    ilumin,
    inedpl,
    inelpl,
    inrypl,
    insrtc,
    insrtd,
    insrti,
    inter,
    intmax,
    intmin,
    invert,
    invort,
    invstm,
    irfnam,
    irfnum,
    irfrot,
    irftrn,
    isordv,
    isrchc,
    isrchd,
    isrchi,
    isrot,
    iswhsp,
    j1900,
    j1950,
    j2000,
    j2100,
    jyear,
    kclear,
    kdata,
    kepleq,
    KernelPool,
    kinfo,
    kplfrm,
    kpsolv,
    ktotal,
    kxtrct,
    lastnb,
    latcyl,
    latrec,
    latsph,
    latsrf,
    lcase,
    ldpool,
    lgresp,
    lgrind,
    lgrint,
    limbpt,
    lmpool,
    lparse,
    lparsm,
    lparss,
    lspcn,
    lstlec,
    lstled,
    lstlei,
    lstltc,
    lstltd,
    lstlti,
    ltime,
    lx4dec,
    lx4num,
    lx4sgn,
    lx4uns,
    lxqstr,
    m2eul,
    m2q,
    matchi,
    matchw,
    mequ,
    mequg,
    mtxm,
    mtxmg,
    mtxv,
    mtxvg,
    mxm,
    mxmg,
    mxmt,
    mxmtg,
    mxv,
    mxvg,
    namfrm,
    ncpos,
    ncposr,
    nearpt,
    npedln,
    npelpt,
    nplnpt,
    nvc2pl,
    nvp2pl,
    occult,
    ordc,
    ordd,
    orderc,
    orderd,
    orderi,
    ordi,
    oscelt,
    oscltx,
    pckcls,
    pckcov,
    pckfrm,
    pcklof,
    pckopn,
    pckuof,
    pckw02,
    pcpool,
    pdpool,
    pgrrec,
    phaseq,
    pi,
    pipool,
    pjelpl,
    pl2nvc,
    pl2nvp,
    pl2psv,
    pltar,
    pltexp,
    pltnp,
    pltnrm,
    pltvol,
    polyds,
    pos,
    posr,
    prop2b,
    prsdp,
    prsint,
    psv2pl,
    pxform,
    pxfrm2,
    q2m,
    qcktrc,
    qderiv,
    qdq2av,
    qxq,
    radrec,
    rav2xf,
    raxisa,
    rdtext,
    recazl,
    reccyl,
    recgeo,
    reclat,
    recpgr,
    recrad,
    recsph,
    removc,
    removd,
    removi,
    reordc,
    reordd,
    reordi,
    reordl,
    repmc,
    repmct,
    repmd,
    repmf,
    repmi,
    repmot,
    reset,
    return_c,
    rotate,
    rotmat,
    rotvec,
    rpd,
    rquad,
    saelgv,
    scard,
    scdecd,
    sce2c,
    sce2s,
    sce2t,
    scencd,
    scfmt,
    scpart,
    scs2e,
    sct2e,
    sctiks,
    sdiff,
    set_c,
    setmsg,
    shellc,
    shelld,
    shelli,
    sigerr,
    sincpt,
    size,
    spd,
    sphcyl,
    sphlat,
    sphrec,
    spice_error_check,
    spk14a,
    spk14b,
    spk14e,
    spkacs,
    spkapo,
    spkapp,
    spkaps,
    spkcls,
    spkcov,
    spkcpo,
    spkcpt,
    spkcvo,
    spkcvt,
    spkez,
    spkezp,
    spkezr,
    spkgeo,
    spkgps,
    spklef,
    spkltc,
    spkobj,
    spkopa,
    spkopn,
    spkpds,
    spkpos,
    spkpvn,
    spksfs,
    spkssb,
    spksub,
    spkuds,
    spkuef,
    spkw02,
    spkw03,
    spkw05,
    spkw08,
    spkw09,
    spkw10,
    spkw12,
    spkw13,
    spkw15,
    spkw17,
    spkw18,
    spkw20,
    srfc2s,
    srfcss,
    srfnrm,
    srfrec,
    srfs2c,
    srfscc,
    srfxpt,
    ssize,
    stelab,
    stlabx,
    stpool,
    str2et,
    subpnt,
    subpt,
    subslr,
    subsol,
    sumad,
    sumai,
    surfnm,
    surfpt,
    surfpv,
    swpool,
    sxform,
    szpool,
    tangpt,
    termpt,
    timdef,
    timout,
    tipbod,
    tisbod,
    tkfram,
    tkvrsn,
    tparch,
    tparse,
    tpictr,
    trace,
    trcdep,
    trcnam,
    trcoff,
    trgsep,
    tsetyr,
    twopi,
    twovec,
    twovxf,
    txtopn,
    tyear,
    ucase,
    ucrss,
    uddc,
    uddf,
    udf,
    union,
    unitim,
    unload,
    unorm,
    unormg,
    utc2et,
    vadd,
    vaddg,
    valid,
    vcrss,
    vdist,
    vdistg,
    vdot,
    vdotg,
    vequ,
    vequg,
    vhat,
    vhatg,
    vlcom,
    vlcom3,
    vlcomg,
    vminug,
    vminus,
    vnorm,
    vnormg,
    vpack,
    vperp,
    vprjp,
    vprjpi,
    vproj,
    vprojg,
    vrel,
    vrelg,
    vrotv,
    vscl,
    vsclg,
    vsep,
    vsepg,
    vsub,
    vsubg,
    vtmv,
    vtmvg,
    vupack,
    vzero,
    vzerog,
    warn_deprecated_args,
    wncard,
    wncomd,
    wncond,
    wndifd,
    wnelmd,
    wnexpd,
    wnextd,
    wnfetd,
    wnfild,
    wnfltd,
    wnincd,
    wninsd,
    wnintd,
    wnreld,
    wnsumd,
    wnunid,
    wnvald,
    writln,
    xf2eul,
    xf2rav,
    xfmsta,
    xpose,
    xpose6,
    xposeg,
    zzdynrot,
)

from .utils import support_types
from .utils import exceptions

__all__ = [
    "cyice",  # TODO exclude if emscripten?
    "support_types",
    "exceptions" "stypes",
    "libspice",
    "SpiceyError",
    "SpiceyPyError",
    "NotFoundError",
    "SpiceyPyIOError",
    "SpiceyPyMemoryError",
    "SpiceyPyTypeError",
    "SpiceyPyKeyError",
    "SpiceyPyIndexError",
    "SpiceyPyRuntimeError",
    "SpiceyPyZeroDivisionError",
    "SpiceyPyValueError",
    "dynamically_instantiate_spiceyerror",
    "found_check_off",
    "found_check_on",
    "found_check",
    "no_found_check",
    "get_found_catch_state",
    "spice_found_exception_thrower",
    "config",
    "cspice_flavor",
    "UDFUNC",
    "UDFUNS",
    "UDFUNB",
    "UDSTEP",
    "UDREFN",
    "UDREPI",
    "UDREPU",
    "UDREPF",
    "UDBAIL",
    "SpiceUDFUNS",
    "SpiceUDFUNB",
    "Cell_Char",
    "Cell_Bool",
    "Cell_Time",
    "Cell_Double",
    "Cell_Int",
    "Ellipse",
    "Plane",
    "SpiceCell",
    "SpiceCellPointer",
    "SpiceDLADescr",
    "SpiceDSKDescr",
    "SpiceEKAttDsc",
    "SpiceEKSegSum",
    "appndc",
    "appndd",
    "appndi",
    "axisar",
    "azlcpo",
    "azlrec",
    "b1900",
    "b1950",
    "badkpv",
    "bltfrm",
    "bodc2n",
    "bodc2s",
    "boddef",
    "bodeul",
    "bodfnd",
    "bodn2c",
    "bods2c",
    "bodvar",
    "bodvcd",
    "bodvrd",
    "brcktd",
    "brckti",
    "bschoc",
    "bschoi",
    "bsrchc",
    "bsrchd",
    "bsrchi",
    "card",
    "ccifrm",
    "cell_bool",
    "cell_char",
    "cell_double",
    "cell_int",
    "cell_time",
    "cgv2el",
    "chbder",
    "chbigr",
    "chbint",
    "chbval",
    "check_for_spice_error",
    "chkin",
    "chkout",
    "cidfrm",
    "ckcls",
    "ckcov",
    "ckfrot",
    "ckfxfm",
    "ckgp",
    "ckgpav",
    "ckgr02",
    "ckgr03",
    "cklpf",
    "ckmeta",
    "cknr02",
    "cknr03",
    "ckobj",
    "ckopn",
    "ckupf",
    "ckw01",
    "ckw02",
    "ckw03",
    "ckw05",
    "clight",
    "clpool",
    "cltext",
    "cmprss",
    "cnmfrm",
    "conics",
    "convrt",
    "copy",
    "cpos",
    "cposr",
    "cvpool",
    "cyllat",
    "cylrec",
    "cylsph",
    "dafac",
    "dafbbs",
    "dafbfs",
    "dafcls",
    "dafcs",
    "dafdc",
    "dafec",
    "daffna",
    "daffpa",
    "dafgda",
    "dafgh",
    "dafgn",
    "dafgs",
    "dafgsr",
    "dafhsf",
    "dafopr",
    "dafopw",
    "dafps",
    "dafrda",
    "dafrfr",
    "dafrs",
    "dafus",
    "dasac",
    "dasadc",
    "dasadd",
    "dasadi",
    "dascls",
    "dasdc",
    "dasec",
    "dashfn",
    "dashfs",
    "daslla",
    "dasllc",
    "dasonw",
    "dasopr",
    "dasops",
    "dasopw",
    "dasrdd",
    "dasrdi",
    "dasrfr",
    "dasudd",
    "dasudi",
    "daswbr",
    "datetime2et",
    "dazldr",
    "dcyldr",
    "deltet",
    "det",
    "dgeodr",
    "diags2",
    "diff",
    "dlabbs",
    "dlabfs",
    "dlabns",
    "dlaens",
    "dlafns",
    "dlafps",
    "dlaopn",
    "dlatdr",
    "dnearp",
    "dp2hx",
    "dpgrdr",
    "dpmax",
    "dpmin",
    "dpr",
    "drdazl",
    "drdcyl",
    "drdgeo",
    "drdlat",
    "drdpgr",
    "drdsph",
    "dskb02",
    "dskcls",
    "dskd02",
    "dskgd",
    "dskgtl",
    "dski02",
    "dskmi2",
    "dskn02",
    "dskobj",
    "dskopn",
    "dskp02",
    "dskrb2",
    "dsksrf",
    "dskstl",
    "dskv02",
    "dskw02",
    "dskx02",
    "dskxsi",
    "dskxv",
    "dskz02",
    "dsphdr",
    "dtpool",
    "ducrss",
    "dvcrss",
    "dvdot",
    "dvhat",
    "dvnorm",
    "dvpool",
    "dvsep",
    "edlimb",
    "ednmpt",
    "edpnt",
    "edterm",
    "ekacec",
    "ekaced",
    "ekacei",
    "ekaclc",
    "ekacld",
    "ekacli",
    "ekappr",
    "ekbseg",
    "ekccnt",
    "ekcii",
    "ekcls",
    "ekdelr",
    "ekffld",
    "ekfind",
    "ekgc",
    "ekgd",
    "ekgi",
    "ekifld",
    "ekinsr",
    "eklef",
    "eknelt",
    "eknseg",
    "ekntab",
    "ekopn",
    "ekopr",
    "ekops",
    "ekopw",
    "ekpsel",
    "ekrcec",
    "ekrced",
    "ekrcei",
    "ekssum",
    "ektnam",
    "ekucec",
    "ekuced",
    "ekucei",
    "ekuef",
    "el2cgv",
    "elemc",
    "elemd",
    "elemi",
    "eqncpv",
    "eqstr",
    "erract",
    "errch",
    "errdev",
    "errdp",
    "errint",
    "errprt",
    "esrchc",
    "et2datetime",
    "et2lst",
    "et2utc",
    "etcal",
    "eul2m",
    "eul2xf",
    "ev2lin",
    "evsgp4",
    "exists",
    "expool",
    "failed",
    "fn2lun",
    "fovray",
    "fovtrg",
    "frame",
    "frinfo",
    "frmnam",
    "ftncls",
    "furnsh",
    "gcpool",
    "gdpool",
    "georec",
    "getelm",
    "getfat",
    "getfov",
    "getfvn",
    "getmsg",
    "gfbail",
    "gfclrh",
    "gfdist",
    "gfevnt",
    "gffove",
    "gfilum",
    "gfinth",
    "gfocce",
    "gfoclt",
    "gfpa",
    "gfposc",
    "gfrefn",
    "gfrepf",
    "gfrepi",
    "gfrepu",
    "gfrfov",
    "gfrr",
    "gfsep",
    "gfsntc",
    "gfsstp",
    "gfstep",
    "gfstol",
    "gfsubc",
    "gftfov",
    "gfudb",
    "gfuds",
    "gipool",
    "gnpool",
    "halfpi",
    "hrmesp",
    "hrmint",
    "hx2dp",
    "ident",
    "illum",
    "illumf",
    "illumg",
    "ilumin",
    "inedpl",
    "inelpl",
    "inrypl",
    "insrtc",
    "insrtd",
    "insrti",
    "inter",
    "intmax",
    "intmin",
    "invert",
    "invort",
    "invstm",
    "irfnam",
    "irfnum",
    "irfrot",
    "irftrn",
    "isordv",
    "isrchc",
    "isrchd",
    "isrchi",
    "isrot",
    "iswhsp",
    "j1900",
    "j1950",
    "j2000",
    "j2100",
    "jyear",
    "kclear",
    "kdata",
    "kepleq",
    "KernelPool",
    "kinfo",
    "kplfrm",
    "kpsolv",
    "ktotal",
    "kxtrct",
    "lastnb",
    "latcyl",
    "latrec",
    "latsph",
    "latsrf",
    "lcase",
    "ldpool",
    "lgresp",
    "lgrind",
    "lgrint",
    "limbpt",
    "lmpool",
    "lparse",
    "lparsm",
    "lparss",
    "lspcn",
    "lstlec",
    "lstled",
    "lstlei",
    "lstltc",
    "lstltd",
    "lstlti",
    "ltime",
    "lx4dec",
    "lx4num",
    "lx4sgn",
    "lx4uns",
    "lxqstr",
    "m2eul",
    "m2q",
    "matchi",
    "matchw",
    "mequ",
    "mequg",
    "mtxm",
    "mtxmg",
    "mtxv",
    "mtxvg",
    "mxm",
    "mxmg",
    "mxmt",
    "mxmtg",
    "mxv",
    "mxvg",
    "namfrm",
    "ncpos",
    "ncposr",
    "nearpt",
    "npedln",
    "npelpt",
    "nplnpt",
    "nvc2pl",
    "nvp2pl",
    "occult",
    "ordc",
    "ordd",
    "orderc",
    "orderd",
    "orderi",
    "ordi",
    "oscelt",
    "oscltx",
    "pckcls",
    "pckcov",
    "pckfrm",
    "pcklof",
    "pckopn",
    "pckuof",
    "pckw02",
    "pcpool",
    "pdpool",
    "pgrrec",
    "phaseq",
    "pi",
    "pipool",
    "pjelpl",
    "pl2nvc",
    "pl2nvp",
    "pl2psv",
    "pltar",
    "pltexp",
    "pltnp",
    "pltnrm",
    "pltvol",
    "polyds",
    "pos",
    "posr",
    "prop2b",
    "prsdp",
    "prsint",
    "psv2pl",
    "pxform",
    "pxfrm2",
    "q2m",
    "qcktrc",
    "qderiv",
    "qdq2av",
    "qxq",
    "radrec",
    "rav2xf",
    "raxisa",
    "rdtext",
    "recazl",
    "reccyl",
    "recgeo",
    "reclat",
    "recpgr",
    "recrad",
    "recsph",
    "removc",
    "removd",
    "removi",
    "reordc",
    "reordd",
    "reordi",
    "reordl",
    "repmc",
    "repmct",
    "repmd",
    "repmf",
    "repmi",
    "repmot",
    "reset",
    "return_c",
    "rotate",
    "rotmat",
    "rotvec",
    "rpd",
    "rquad",
    "saelgv",
    "scard",
    "scdecd",
    "sce2c",
    "sce2s",
    "sce2t",
    "scencd",
    "scfmt",
    "scpart",
    "scs2e",
    "sct2e",
    "sctiks",
    "sdiff",
    "set_c",
    "setmsg",
    "shellc",
    "shelld",
    "shelli",
    "sigerr",
    "sincpt",
    "size",
    "spd",
    "sphcyl",
    "sphlat",
    "sphrec",
    "spice_error_check",
    "spk14a",
    "spk14b",
    "spk14e",
    "spkacs",
    "spkapo",
    "spkapp",
    "spkaps",
    "spkcls",
    "spkcov",
    "spkcpo",
    "spkcpt",
    "spkcvo",
    "spkcvt",
    "spkez",
    "spkezp",
    "spkezr",
    "spkgeo",
    "spkgps",
    "spklef",
    "spkltc",
    "spkobj",
    "spkopa",
    "spkopn",
    "spkpds",
    "spkpos",
    "spkpvn",
    "spksfs",
    "spkssb",
    "spksub",
    "spkuds",
    "spkuef",
    "spkw02",
    "spkw03",
    "spkw05",
    "spkw08",
    "spkw09",
    "spkw10",
    "spkw12",
    "spkw13",
    "spkw15",
    "spkw17",
    "spkw18",
    "spkw20",
    "srfc2s",
    "srfcss",
    "srfnrm",
    "srfrec",
    "srfs2c",
    "srfscc",
    "srfxpt",
    "ssize",
    "stelab",
    "stlabx",
    "stpool",
    "str2et",
    "subpnt",
    "subpt",
    "subslr",
    "subsol",
    "sumad",
    "sumai",
    "surfnm",
    "surfpt",
    "surfpv",
    "swpool",
    "sxform",
    "szpool",
    "tangpt",
    "termpt",
    "timdef",
    "timout",
    "tipbod",
    "tisbod",
    "tkfram",
    "tkvrsn",
    "tparch",
    "tparse",
    "tpictr",
    "trace",
    "trcdep",
    "trcnam",
    "trcoff",
    "trgsep",
    "tsetyr",
    "twopi",
    "twovec",
    "twovxf",
    "txtopn",
    "tyear",
    "ucase",
    "ucrss",
    "uddc",
    "uddf",
    "udf",
    "union",
    "unitim",
    "unload",
    "unorm",
    "unormg",
    "utc2et",
    "vadd",
    "vaddg",
    "valid",
    "vcrss",
    "vdist",
    "vdistg",
    "vdot",
    "vdotg",
    "vequ",
    "vequg",
    "vhat",
    "vhatg",
    "vlcom",
    "vlcom3",
    "vlcomg",
    "vminug",
    "vminus",
    "vnorm",
    "vnormg",
    "vpack",
    "vperp",
    "vprjp",
    "vprjpi",
    "vproj",
    "vprojg",
    "vrel",
    "vrelg",
    "vrotv",
    "vscl",
    "vsclg",
    "vsep",
    "vsepg",
    "vsub",
    "vsubg",
    "vtmv",
    "vtmvg",
    "vupack",
    "vzero",
    "vzerog",
    "warn_deprecated_args",
    "wncard",
    "wncomd",
    "wncond",
    "wndifd",
    "wnelmd",
    "wnexpd",
    "wnextd",
    "wnfetd",
    "wnfild",
    "wnfltd",
    "wnincd",
    "wninsd",
    "wnintd",
    "wnreld",
    "wnsumd",
    "wnunid",
    "wnvald",
    "writln",
    "xf2eul",
    "xf2rav",
    "xfmsta",
    "xpose",
    "xpose6",
    "xposeg",
    "zzdynrot",
]

# Default setting for error reporting so that programs don't just exit out!
erract("set", 10, "return")
errdev("set", 10, "null")
