alias lsave {
    if (1 == fexist($LIGHT.Files.config)) {
        if (unlink($LIGHT.Files.config)) {
            beep
            lecho ! Could not delete the old configuration file.
            lecho ! Your changes will be lost when you exit EPIC.
            lecho ! If you correct this problem, type $C.HLPT/lsave$RST to save your changes later.
            ^local Temp $"Press Enter to continue. "
            return 1
        }
    }
    ^local fd
    @fd = open("$LIGHT.Files.Config" W);
    if ([] == fd) {
        beep
        lecho ! Could not open the configuration file for writing.
        lecho ! Your changes will be lost when you exit EPIC.
        lecho ! If you correct this problem, type $C.HLPT/lsave$RST to save your changes later.
        ^local Temp $"Press Enter to continue. "
        return 1
    }
    @write($fd @LIGHT.ConfigVersion = [$LIGHT.Version])
    @write($fd)
    @write($fd #============================)
    @write($fd # CHANNEL OPTIONS)
    @write($fd #============================)
    @write($fd)
    @write($fd # Control whether Light's bans will follow the old class A/B/C)
    @write($fd # divisions \(if set to 0\), or always ban class Cs \(if set to 1\).)
    @write($fd # If set to 0, user@12.34.56.78 will be banned as *!*@12.*)
    @write($fd # If set to 1, user@12.34.56.78 will be banned as *!*@12.34.56.*)
    if (1 != LIGHT.Channel.banOnlyClassC) {
        @write($fd @LIGHT.Channel.banOnlyClassC = 0)
    } {
        @write($fd # @LIGHT.Channel.banOnlyClassC = 1)
    }
    @write($fd)
    @write($fd # Control whether Light will create *!*@*.host bans, or )
    @write($fd # *!*user@*.host bans.)
    if (0 != LIGHT.Channel.includeUsernameInBan) {
        @write($fd @LIGHT.Channel.includeUsernameInBan = 1)
    } {
        @write($fd # @LIGHT.Channel.includeUsernameInBan = 0)
    }
    @write($fd)
    @write($fd # Control whether Light's SmartBans\(tm\) are enabled.  If enabled, Light will)
    @write($fd # retain more parts of a user's hostname if we know how that domain)
    @write($fd # structures its hostmasks.  For example, 207-172-74-7.s7.tnt2.man.erols.com)
    @write($fd # will be banned as *!*@*.erols.com if set to 0, or *!*@*.man.erols.com if)
    @write($fd # set to 1.)
    if (1 != LIGHT.Channel.smartBans) {
        @write($fd @LIGHT.Channel.smartBans = 0)
    } {
        @write($fd # @LIGHT.Channel.smartBans = 1)
    }
    @write($fd)
    @write($fd # Control whether or not Light hides netsplits.)
    if (1 != LIGHT.Channel.hideNetsplits) {
        @write($fd @LIGHT.Channel.hideNetsplits = 0)
    } {
        @write($fd # @LIGHT.Channel.hideNetsplits = 1)
    }
    @write($fd)
    @write($fd # Control how long Light waits before unbanning the recipient of a /zap.)
    if (15 != LIGHT.Channel.zapTimer) {
        @write($fd @LIGHT.Channel.zapTimer = $LIGHT.Channel.zapTimer)
    } {
        @write($fd # @LIGHT.Channel.zapTimer = $LIGHT.Channel.zapTimer)
    }
    @write($fd)
    @write($fd # Control whether the person just zapped is ignored while zapped)
    if (0 != LIGHT.Channel.ignoreZappee) {
        @write($fd @LIGHT.Channel.ignoreZappee = 1)
    } {
        @write($fd # @LIGHT.Channel.ignoreZappee = 0)
    }
    @write($fd)
    @write($fd # Control whether Light displays how long the zap was for in the /kick)
    @write($fd # message)
    if (0 != LIGHT.Channel.showTimeInZap) {
        @write($fd @LIGHT.Channel.showTimeInZap = 1)
    } {
        @write($fd # @LIGHT.Channel.showTimeInZap = 0)
    }
    @write($fd)
    @write($fd # Control whether /zaps ban the user's exact host, or bans a wildcard)
    if (1 != LIGHT.Channel.exactZap) {
        @write($fd @LIGHT.Channel.exactZap = 0)
    } {
        @write($fd # @LIGHT.Channel.exactZap = 1)
    }
    @write($fd)
    @write($fd # An option of dubious value to suppress showing joins and parts.)
    if (0 != LIGHT.Channel.suppressJoinPart) {
        @write($fd @LIGHT.Channel.suppressJoinPart = 1)
    } {
        @write($fd # @LIGHT.Channel.suppressJoinPart = 0)
    }
    @write($fd)
    @write($fd # An option to control the creation of a new window when you join a channel.)
    if (0 != LIGHT.Channel.newWindowOnJoin) {
        @write($fd @LIGHT.Channel.newWindowOnJoin = 1)
    } {
        @write($fd # @LIGHT.Channel.newWindowOnJoin = 0)
    }
    @write($fd)
    @write($fd # An option to control whether your public messages look like > blah or)
    @write($fd # <nick> blah)
    if (0 != LIGHT.Channel.prefixOwnMessages) {
        @write($fd @LIGHT.Channel.prefixOwnMessages = 1)
    } {
        @write($fd # @LIGHT.Channel.prefixOwnMessages = 0)
    }
    @write($fd)
    @write($fd # An option to control whether Light checks the length of topic and kick messages.)
    if (1 != LIGHT.Channel.checkLengths) {
        @write($fd @LIGHT.Channel.checkLengths = 0)
    } {
        @write($fd # @LIGHT.Channel.checkLengths = 1)
    }
    @write($fd)
    @write($fd # An option for sorting /NAMES output)
    if (0 != LIGHT.Channel.sortNames) {
        @write($fd @LIGHT.Channel.sortNames = 1)
    } {
        @write($fd # @LIGHT.Channel.sortNames = 0)
    }
    @write($fd)
    @write($fd # An option for formatting /NAMES output into nice, neat columns)
    if (0 != LIGHT.Channel.columnarNames) {
        @write($fd @LIGHT.Channel.columnarNames = 1)
    } {
        @write($fd # @LIGHT.Channel.columnarNames = 0)
    }
    @write($fd)
    @write($fd # An option for highlighting nicks in public messages)
    if (1 != LIGHT.Channel.highlightPublics) {
        @write($fd @LIGHT.Channel.highlightPublics = 0)
    } {
        @write($fd # @LIGHT.Channel.highlightPublics = 1)
    }
    @write($fd)
    @write($fd #============================)
    @write($fd # DCC OPTIONS)
    @write($fd #============================)
    @write($fd)
    @write($fd # Control whether Light shows a user's IP address when displaying DCC offers.)
    if (0 != LIGHT.DCC.showAddress) {
        @write($fd @LIGHT.DCC.showAddress = 1)
    } {
        @write($fd # @LIGHT.DCC.showAddress = 0)
    }
    @write($fd)
    @write($fd # Control whether Light shows a user's user@host when displaying DCC offers.)
    if (0 != LIGHT.DCC.showUserHost) {
        @write($fd @LIGHT.DCC.showUserHost = 1)
    } {
        @write($fd # @LIGHT.DCC.showUserHost = 0)
    }
    @write($fd)
    @write($fd #============================)
    @write($fd # FILES)
    @write($fd #============================)
    @write($fd)
    @write($fd # The saved messages file.  Note that the current IRC client's process ID)
    @write($fd # is appended to this filename \(for example. $HOME/.Light/messages.12345\).)
    if ([$HOME/.Light/messages] != LIGHT.Files.awayLog) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Files.awayLog)))
        @write($fd @LIGHT.Files.awayLog = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Files.awayLog)))
        @write($fd # @LIGHT.Files.awayLog = [$Temp])
    }
    @write($fd)
    @write($fd # The default /log file)
    if ([$HOME/.Light/log] != LIGHT.Files.log) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Files.log)))
        @write($fd @LIGHT.Files.log = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Files.log)))
        @write($fd # @LIGHT.Files.log = [$Temp])
    }
    @write($fd)
    @write($fd #============================)
    @write($fd # DEFAULT MESSAGES)
    @write($fd #============================)
    @write($fd)
    @write($fd # Control whether or not Light sends back a PONG message instead of a PING)
    @write($fd # time.)
    if (0 != LIGHT.Msgs.sendPong) {
        @write($fd @LIGHT.Msgs.sendPong = 1)
    } {
        @write($fd # @LIGHT.Msgs.sendPong = 0)
    }
    @write($fd)
    @write($fd # The default /back message)
    if ([hath returned] != LIGHT.Msgs.back) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.back)))
        @write($fd @LIGHT.Msgs.back = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.back)))
        @write($fd # @LIGHT.Msgs.back = [$Temp])
    }
    @write($fd)
    @write($fd # The default CTCP FINGER response)
    if ([Keep your fingers to yourself!] != LIGHT.Msgs.finger) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.finger)))
        @write($fd @LIGHT.Msgs.finger = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.finger)))
        @write($fd # @LIGHT.Msgs.finger = [$Temp])
    }
    @write($fd)
    @write($fd # The default kick/zap comment)
    @write($fd # As far as I'm aware, HoopyCat coined this phrase.)
    if ([You have activated the Automatic Moron Ejection System(tm)] != LIGHT.Msgs.kick) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.kick)))
        @write($fd @LIGHT.Msgs.kick = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.kick)))
        @write($fd # @LIGHT.Msgs.kick = [$Temp])
    }
    @write($fd)
    @write($fd # The default filterkick comment)
    @write($fd # As far as I'm aware, orabidoo coined this phrase.)
    if ([Though names may change, each face retains the mask it wore.] != LIGHT.Msgs.fkick) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.fkick)))
        @write($fd @LIGHT.Msgs.fkick = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.fkick)))
        @write($fd # @LIGHT.Msgs.fkick = [$Temp])
    }
    @write($fd)
    @write($fd # The default PONG message \(not used unless you enabled sendPong above\))
    if ([Ding-dong, you're wrong!] != LIGHT.Msgs.pong) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.pong)))
        @write($fd @LIGHT.Msgs.pong = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.pong)))
        @write($fd # @LIGHT.Msgs.pong = [$Temp])
    }
    @write($fd)
    @write($fd # The default /quit message)
    if ([changing universes] != LIGHT.Msgs.quit) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.quit)))
        @write($fd @LIGHT.Msgs.quit = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Msgs.quit)))
        @write($fd # @LIGHT.Msgs.quit = [$Temp])
    }
    @write($fd)
    @write($fd #============================)
    @write($fd # MISCELLANEOUS OPTIONS)
    @write($fd #============================)
    @write($fd)
    @write($fd # Controls whether Light uses color.)
    if (1 != LIGHT.Misc.color) {
        @write($fd @LIGHT.Misc.color = 0)
    } {
        @write($fd # @LIGHT.Misc.color = 1)
    }
    @write($fd)
    @write($fd # Whether to utilize the xterm titlebar.)
    if (0 != LIGHT.Misc.updateTitleBar) {
        @write($fd @LIGHT.Misc.updateTitleBar = 1)
    } {
        @write($fd # @LIGHT.Misc.updateTitleBar = 0)
    }
    @write($fd)
    @write($fd # Set this to 1 to force title bar updates.)
    @write($fd # NOTE: If you do this and your terminal doesn't support it, you could hang)
    @write($fd # your terminal.  Use at your own risk!  I provide this only for users of)
    @write($fd # CRT and SecureCRT \(these programs honor the xterm "set titlebar" sequence,)
    @write($fd # but not the "get titlebar" sequence\).)
    if (0 != LIGHT.Misc.alwaysSetTitleBar) {
        @write($fd @LIGHT.Misc.alwaysSetTitleBar = 1)
    } {
        @write($fd # @LIGHT.Misc.alwaysSetTitleBar = 0)
    }
    @write($fd)
    @write($fd # Whether to save the titlebar and restore it on exit)
    if (1 != LIGHT.Misc.saveTitleBar) {
        @write($fd @LIGHT.Misc.saveTitleBar = 0)
    } {
        @write($fd # @LIGHT.Misc.saveTitleBar = 1)
    }
    @write($fd)
    @write($fd # Whether to put the server name in the titlebar)
    if (1 != LIGHT.Misc.serverInTitle) {
        @write($fd @LIGHT.Misc.serverInTitle = 0)
    } {
        @write($fd # @LIGHT.Misc.serverInTitle = 1)
    }
    @write($fd)
    @write($fd # Whether to put the topic in the titlebar)
    if (0 != LIGHT.Misc.topicInTitle) {
        @write($fd @LIGHT.Misc.topicInTitle = 1)
    } {
        @write($fd # @LIGHT.Misc.topicInTitle = 0)
    }
    @write($fd)
    @write($fd # How many nicks to remember in the TabKey list)
    if (100 != LIGHT.Misc.maxNicks) {
        @write($fd @LIGHT.Misc.maxNicks = $LIGHT.Misc.maxNicks)
    } {
        @write($fd # @LIGHT.Misc.maxNicks = $LIGHT.Misc.maxNicks)
    }
    @write($fd)
    @write($fd # Controls whether or not Light uses the LagMeter.  \(Note: the LagMeter only)
    @write($fd # shows up if you enable double-height status bars \(/window double on\).\))
    if (1 != LIGHT.Misc.showLagMeter) {
        @write($fd @LIGHT.Misc.showLagMeter = 0)
    } {
        @write($fd # @LIGHT.Misc.showLagMeter = 1)
    }
    @write($fd)
    @write($fd # Controls whether or not Light will do lines-per-minute counts on your)
    @write($fd # channels.  \(Note: the LPM Counter only shows up if you enable double-)
    @write($fd # height status bars \(/window double on\).\))
    if (0 != LIGHT.Misc.showLPM) {
        @write($fd @LIGHT.Misc.showLPM = 1)
    } {
        @write($fd # @LIGHT.Misc.showLPM = 0)
    }
    @write($fd)
    @write($fd # Controls how often the LagMeter updates.)
    if (60 != LIGHT.Misc.lagMeterInterval) {
        @write($fd @LIGHT.Misc.lagMeterInterval = $LIGHT.Misc.lagMeterInterval)
    } {
        @write($fd # @LIGHT.Misc.lagMeterInterval = $LIGHT.Misc.lagMeterInterval)
    }
    @write($fd)
    @write($fd # Controls whether Light will automatically turn on double-height status bars.)
    if (1 != LIGHT.Misc.autoDoubleStatusBars) {
        @write($fd @LIGHT.Misc.autoDoubleStatusBars = 0)
    } {
        @write($fd # @LIGHT.Misc.autoDoubleStatusBars = 1)
    }
    @write($fd)
    @write($fd # Text to highlight, wherever it's found)
    if ([] != LIGHT.Misc.highlightText) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Misc.highlightText)))
        @write($fd @LIGHT.Misc.highlightText = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Misc.highlightText)))
        @write($fd # @LIGHT.Misc.highlightText = [$Temp])
    }
    @write($fd)
    @write($fd # Timestamping.)
    if (0 != LIGHT.Misc.timeStamps) {
        @write($fd @LIGHT.Misc.timeStamps = 1)
    } {
        @write($fd # @LIGHT.Misc.timeStamps = 0)
    }
    @write($fd)
    @write($fd # Prefer completion over TabKey)
    if (1 != LIGHT.Misc.preferCompletion) {
        @write($fd @LIGHT.Misc.preferCompletion = 0)
    } {
        @write($fd # @LIGHT.Misc.preferCompletion = 1)
    }
    @write($fd)
    @write($fd # LightPaste\(tm\))
    if (0 != LIGHT.Misc.lightPaste) {
        @write($fd @LIGHT.Misc.lightPaste = 1)
    } {
        @write($fd # @LIGHT.Misc.lightPaste = 0)
    }
    @write($fd)
    @write($fd # Number of lines before LightPaste triggers)
    if (4 != LIGHT.Misc.lightPasteCount) {
        @write($fd @LIGHT.Misc.lightPasteCount = $LIGHT.Misc.lightPasteCount)
    } {
        @write($fd # @LIGHT.Misc.lightPasteCount = $LIGHT.Misc.lightPasteCount)
    }
    @write($fd)
    @write($fd # Show topic in titlebar)
    if (0 != LIGHT.Misc.topicInTitle) {
        @write($fd @LIGHT.Misc.topicInTitle = 1)
    } {
        @write($fd # @LIGHT.Misc.topicInTitle = 0)
    }
    @write($fd)
    @write($fd # Use menu completion)
    if (0 != LIGHT.Misc.menuCompletion) {
        @write($fd @LIGHT.Misc.menuCompletion = 1)
    } {
        @write($fd # @LIGHT.Misc.menuCompletion = 0)
    }
    @write($fd)
    @write($fd # DICT server)
    if ([dict.org] != LIGHT.Misc.dictServer) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Misc.dictServer)))
        @write($fd @LIGHT.Misc.dictServer = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Misc.dictServer)))
        @write($fd # @LIGHT.Misc.dictServer = [$Temp])
    }
    @write($fd)
    @write($fd #============================)
    @write($fd # COLOR OPTIONS)
    @write($fd #============================)
    @write($fd)
    @write($fd # Highlight color)
    if ([] != LIGHT.Color.highlight) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.highlight)))
        @write($fd @LIGHT.Color.highlight = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.highlight)))
        @write($fd # @LIGHT.Color.highlight = [$Temp])
    }
    @write($fd)
    if ([bold red] != LIGHT.Color.CHAN) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.CHAN)))
        @write($fd @LIGHT.Color.CHAN = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.CHAN)))
        @write($fd # @LIGHT.Color.CHAN = [$Temp])
    }
    if ([bold cyan] != LIGHT.Color.MODE) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.MODE)))
        @write($fd @LIGHT.Color.MODE = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.MODE)))
        @write($fd # @LIGHT.Color.MODE = [$Temp])
    }
    if ([bold yellow] != LIGHT.Color.HOST) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.HOST)))
        @write($fd @LIGHT.Color.HOST = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.HOST)))
        @write($fd # @LIGHT.Color.HOST = [$Temp])
    }
    if ([bold green] != LIGHT.Color.NICK) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.NICK)))
        @write($fd @LIGHT.Color.NICK = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.NICK)))
        @write($fd # @LIGHT.Color.NICK = [$Temp])
    }
    if ([bold yellow] != LIGHT.Color.FILE) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.FILE)))
        @write($fd @LIGHT.Color.FILE = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.FILE)))
        @write($fd # @LIGHT.Color.FILE = [$Temp])
    }
    if ([bold yellow] != LIGHT.Color.TIME) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.TIME)))
        @write($fd @LIGHT.Color.TIME = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.TIME)))
        @write($fd # @LIGHT.Color.TIME = [$Temp])
    }
    if ([bold cyan] != LIGHT.Color.PMSG) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.PMSG)))
        @write($fd @LIGHT.Color.PMSG = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.PMSG)))
        @write($fd # @LIGHT.Color.PMSG = [$Temp])
    }
    if ([bold cyan] != LIGHT.Color.CMSC) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.CMSC)))
        @write($fd @LIGHT.Color.CMSC = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.Color.CMSC)))
        @write($fd # @LIGHT.Color.CMSC = [$Temp])
    }
    @write($fd)
    @write($fd #============================)
    @write($fd # STATUS BAR OPTIONS)
    @write($fd #============================)
    @write($fd)
    @write($fd # Whether or not to colorize the status bar)
    if (1 != LIGHT.StatusBar.colored) {
        @write($fd @LIGHT.StatusBar.colored = 0)
    } {
        @write($fd # @LIGHT.StatusBar.colored = 1)
    }
    @write($fd)
    @write($fd # Status bar color \(if enabled above\))
    if ([light cyan on blue] != LIGHT.StatusBar.color) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.color)))
        @write($fd @LIGHT.StatusBar.color = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.color)))
        @write($fd # @LIGHT.StatusBar.color = [$Temp])
    }
    @write($fd)
    @write($fd # Current window highlight in status bar color)
    if ([] != LIGHT.StatusBar.currentWindowColor) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.currentWindowColor)))
        @write($fd @LIGHT.StatusBar.currentWindowColor = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.currentWindowColor)))
        @write($fd # @LIGHT.StatusBar.currentWindowColor = [$Temp])
    }
    @write($fd)
    @write($fd # The format of the single-line statusbar.)
    if ([%T \[%R\] %*%=%@%N%#%S%K%H%B%Q%A%C%+%O%M%F%L%D %>%1 ] != LIGHT.StatusBar.format) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.format)))
        @write($fd @LIGHT.StatusBar.format = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.format)))
        @write($fd # @LIGHT.StatusBar.format = [$Temp])
    }
    @write($fd)
    @write($fd # The format of the top line of the double-line statusbar.)
    if ([%T %*%=%@%N%#%Q%C%+ %>%D%1 ] != LIGHT.StatusBar.format1) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.format1)))
        @write($fd @LIGHT.StatusBar.format1 = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.format1)))
        @write($fd # @LIGHT.StatusBar.format1 = [$Temp])
    }
    @write($fd)
    @write($fd # The format of the bottom line of the double-line statusbar.)
    if ([ \[%R\]%S%K%H%B%A%O%M%F%L %>%5%4%2%3 ] != LIGHT.StatusBar.format2) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.format2)))
        @write($fd @LIGHT.StatusBar.format2 = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.StatusBar.format2)))
        @write($fd # @LIGHT.StatusBar.format2 = [$Temp])
    }
    @write($fd)
    @write($fd #==========================================)
    @write($fd # AUTO-OP/AUTO-VOICE STUFF)
    @write($fd #==========================================)
    @write($fd)
    if ([] != LIGHT.AutoOp.patternList) {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.AutoOp.patternList)))
        @write($fd @LIGHT.AutoOp.patternList = [$Temp])
    } {
        ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.AutoOp.patternList)))
        @write($fd # @LIGHT.AutoOp.patternList = [$Temp])
    }
    @:xx = 1
    while (xx < (#LIGHT.AutoOp.patternList + 1)) {
        if ([] != LIGHT.AutoOp.opList[$xx]) {
            ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.AutoOp.opList[$xx])))
            @write($fd @LIGHT.AutoOp.opList[$xx] = [$Temp])
        }
        @:xx++
    }
    @:xx = 1
    while (xx < (#LIGHT.AutoOp.patternList + 1)) {
        if ([] != LIGHT.AutoOp.voiceList[$xx]) {
            ^local Temp $sar(g/\]/\\\]/$sar(g/\[/\\\[/$sar(g/\\/\\\\/$LIGHT.AutoOp.voiceList[$xx])))
            @write($fd @LIGHT.AutoOp.voiceList[$xx] = [$Temp])
        }
        @:xx++
    }
    @close($fd)
    if ([-quiet] != [$0]) {
        lecho L Configuration saved successfully!
    }
}
