{
    "extension": "linecount",
    "version": "0.1.7",
    "workspace": "c:\\dev\\code\\orpa",
    "linecount": [
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:39:11",
            "filesum": 400,
            "codesum": 67518,
            "commentsum": 6240,
            "blanksum": 5729,
            "filelist": [
                {
                    "blank": 0,
                    "code": 15,
                    "comment": 17,
                    "filename": ".jshintrc"
                },
                {
                    "blank": 0,
                    "code": 2,
                    "comment": 4,
                    "filename": ".nodemonignore"
                },
                {
                    "blank": 0,
                    "code": 7,
                    "comment": 0,
                    "filename": ".npmignore"
                },
                {
                    "blank": 0,
                    "code": 21,
                    "comment": 0,
                    "filename": ".travis.yml"
                },
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "blank": 0,
                    "code": 1362,
                    "comment": 0,
                    "filename": "debug.log"
                },
                {
                    "filename": "editor\\favicon.ico",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\alert.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\arduino.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\arrow-in.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\bluetooth.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\bridge-dash.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\bridge.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\cog.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\comment.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\db.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\debug.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\envelope.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\feed.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\file.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\function.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\hash.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\inject.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\join.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\leveldb.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\light.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\link-out.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\mongodb.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\mouse.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\node-changed.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\node-error.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-csv.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-html.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-json.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-xml.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-yaml.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\range.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\redis.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\rpi.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\serial.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\split.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\subflow.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\swap.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\switch.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\template.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\timer.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\trigger.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\twitter.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\watch.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\white-globe.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-flows-o.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-flows.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-full-o.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-full.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-nodes-o.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-nodes.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\grip.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\node-red-256.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "filename": "editor\\images\\node-red.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\pw_maze_white.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "filename": "editor\\images\\subflow_tab.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\09.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\az.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\bin.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\bool.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\expr.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\json.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\re.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                },
                {
                    "blank": 8,
                    "code": 60,
                    "comment": 26,
                    "filename": "test\\_spec.js"
                },
                {
                    "blank": 10,
                    "code": 90,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\analysis\\72-sentiment_spec.js"
                },
                {
                    "blank": 11,
                    "code": 92,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\20-inject_spec.js"
                },
                {
                    "blank": 5,
                    "code": 24,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-catch_spec.js"
                },
                {
                    "blank": 5,
                    "code": 34,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-status_spec.js"
                },
                {
                    "blank": 26,
                    "code": 297,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\58-debug_spec.js"
                },
                {
                    "blank": 44,
                    "code": 551,
                    "comment": 28,
                    "filename": "test\\nodes\\core\\core\\75-exec_spec.js"
                },
                {
                    "blank": 14,
                    "code": 271,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\80-function_spec.js"
                },
                {
                    "blank": 17,
                    "code": 162,
                    "comment": 20,
                    "filename": "test\\nodes\\core\\core\\80-template_spec.js"
                },
                {
                    "blank": 60,
                    "code": 441,
                    "comment": 94,
                    "filename": "test\\nodes\\core\\core\\89-delay_spec.js"
                },
                {
                    "blank": 23,
                    "code": 390,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\core\\89-trigger_spec.js"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\90-comment_spec.js"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\98-unknown_spec.js"
                },
                {
                    "blank": 30,
                    "code": 420,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\io\\21-httprequest_spec.js"
                },
                {
                    "blank": 42,
                    "code": 456,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\io\\22-websocket_spec.js"
                },
                {
                    "blank": 59,
                    "code": 381,
                    "comment": 57,
                    "filename": "test\\nodes\\core\\logic\\10-switch_spec.js"
                },
                {
                    "blank": 44,
                    "code": 768,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\logic\\15-change_spec.js"
                },
                {
                    "blank": 20,
                    "code": 104,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\logic\\16-range_spec.js"
                },
                {
                    "blank": 35,
                    "code": 625,
                    "comment": 18,
                    "filename": "test\\nodes\\core\\logic\\17-split_spec.js"
                },
                {
                    "blank": 28,
                    "code": 309,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\parsers\\70-CSV_spec.js"
                },
                {
                    "blank": 36,
                    "code": 242,
                    "comment": 17,
                    "filename": "test\\nodes\\core\\parsers\\70-HTML_spec.js"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-JSON_spec.js"
                },
                {
                    "blank": 13,
                    "code": 146,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-XML_spec.js"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-YAML_spec.js"
                },
                {
                    "blank": 14,
                    "code": 111,
                    "comment": 76,
                    "filename": "test\\nodes\\core\\storage\\28-tail_spec.js"
                },
                {
                    "blank": 50,
                    "code": 521,
                    "comment": 55,
                    "filename": "test\\nodes\\core\\storage\\50-file_spec.js"
                },
                {
                    "blank": 22,
                    "code": 127,
                    "comment": 20,
                    "filename": "test\\nodes\\helper.js"
                },
                {
                    "blank": 18,
                    "code": 246,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flow_spec.js"
                },
                {
                    "blank": 9,
                    "code": 258,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flows_spec.js"
                },
                {
                    "blank": 18,
                    "code": 263,
                    "comment": 18,
                    "filename": "test\\red\\api\\admin\\index_spec.js"
                },
                {
                    "blank": 8,
                    "code": 79,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\info_spec.js"
                },
                {
                    "blank": 57,
                    "code": 742,
                    "comment": 16,
                    "filename": "test\\red\\api\\admin\\nodes_spec.js"
                },
                {
                    "blank": 3,
                    "code": 28,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\clients_spec.js"
                },
                {
                    "blank": 16,
                    "code": 88,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\index_spec.js"
                },
                {
                    "blank": 2,
                    "code": 39,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\permissions_spec.js"
                },
                {
                    "blank": 20,
                    "code": 238,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\strategies_spec.js"
                },
                {
                    "blank": 13,
                    "code": 128,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\tokens_spec.js"
                },
                {
                    "blank": 12,
                    "code": 195,
                    "comment": 16,
                    "filename": "test\\red\\api\\auth\\users_spec.js"
                },
                {
                    "blank": 41,
                    "code": 468,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\comms_spec.js"
                },
                {
                    "blank": 5,
                    "code": 86,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\credentials_spec.js"
                },
                {
                    "blank": 4,
                    "code": 89,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\index_spec.js"
                },
                {
                    "blank": 22,
                    "code": 257,
                    "comment": 23,
                    "filename": "test\\red\\api\\editor\\library_spec.js"
                },
                {
                    "blank": 4,
                    "code": 101,
                    "comment": 17,
                    "filename": "test\\red\\api\\editor\\locales_spec.js"
                },
                {
                    "blank": 1,
                    "code": 3,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\projects\\index_spec.js"
                },
                {
                    "blank": 17,
                    "code": 79,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\theme_spec.js"
                },
                {
                    "blank": 11,
                    "code": 122,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\ui_spec.js"
                },
                {
                    "blank": 7,
                    "code": 83,
                    "comment": 15,
                    "filename": "test\\red\\api\\index_spec.js"
                },
                {
                    "blank": 11,
                    "code": 81,
                    "comment": 15,
                    "filename": "test\\red\\api\\util_spec.js"
                },
                {
                    "blank": 7,
                    "code": 47,
                    "comment": 17,
                    "filename": "test\\red\\red_spec.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\events_spec.js"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\i18n_spec.js"
                },
                {
                    "blank": 15,
                    "code": 193,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\index_spec.js"
                },
                {
                    "blank": 25,
                    "code": 184,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\log_spec.js"
                },
                {
                    "blank": 24,
                    "code": 105,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\context_spec.js"
                },
                {
                    "blank": 30,
                    "code": 406,
                    "comment": 41,
                    "filename": "test\\red\\runtime\\nodes\\credentials_spec.js"
                },
                {
                    "blank": 206,
                    "code": 866,
                    "comment": 19,
                    "filename": "test\\red\\runtime\\nodes\\flows\\Flow_spec.js"
                },
                {
                    "blank": 55,
                    "code": 492,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\flows\\index_spec.js"
                },
                {
                    "blank": 135,
                    "code": 571,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\flows\\util_spec.js"
                },
                {
                    "blank": 12,
                    "code": 88,
                    "comment": 18,
                    "filename": "test\\red\\runtime\\nodes\\index_spec.js"
                },
                {
                    "blank": 11,
                    "code": 43,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\library_spec.js"
                },
                {
                    "blank": 66,
                    "code": 453,
                    "comment": 28,
                    "filename": "test\\red\\runtime\\nodes\\Node_spec.js"
                },
                {
                    "blank": 3,
                    "code": 10,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\registry\\deprecated_spec.js"
                },
                {
                    "blank": 15,
                    "code": 97,
                    "comment": 17,
                    "filename": "test\\red\\runtime\\nodes\\registry\\index_spec.js"
                },
                {
                    "blank": 16,
                    "code": 176,
                    "comment": 21,
                    "filename": "test\\red\\runtime\\nodes\\registry\\installer_spec.js"
                },
                {
                    "blank": 56,
                    "code": 528,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\registry\\loader_spec.js"
                },
                {
                    "blank": 11,
                    "code": 167,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\localfilesystem_spec.js"
                },
                {
                    "blank": 60,
                    "code": 426,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\registry_spec.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuffNode\\DuffNode.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.js"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.html"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\icons\\file.txt"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.html"
                },
                {
                    "blank": 1,
                    "code": 8,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.html"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.html"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.js"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.html"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.js"
                },
                {
                    "blank": 34,
                    "code": 187,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\settings_spec.js"
                },
                {
                    "blank": 23,
                    "code": 231,
                    "comment": 16,
                    "filename": "test\\red\\runtime\\storage\\index_spec.js"
                },
                {
                    "blank": 46,
                    "code": 371,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\index_spec.js"
                },
                {
                    "blank": 14,
                    "code": 176,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\library_spec.js"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\git\\index_spec.js"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\index_spec.js"
                },
                {
                    "blank": 9,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\sessions_spec.js"
                },
                {
                    "blank": 10,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\settings_spec.js"
                },
                {
                    "blank": 2,
                    "code": 14,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\util_spec.js"
                },
                {
                    "blank": 30,
                    "code": 378,
                    "comment": 20,
                    "filename": "test\\red\\runtime\\util_spec.js"
                },
                {
                    "blank": 2,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\resources\\70-HTML-test-file.html"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\resources\\examples\\one.json"
                },
                {
                    "filename": "test\\resources\\icons\\test_icon.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:42:06",
            "filesum": 399,
            "codesum": 66156,
            "commentsum": 6240,
            "blanksum": 5729,
            "filelist": [
                {
                    "blank": 0,
                    "code": 15,
                    "comment": 17,
                    "filename": ".jshintrc"
                },
                {
                    "blank": 0,
                    "code": 2,
                    "comment": 4,
                    "filename": ".nodemonignore"
                },
                {
                    "blank": 0,
                    "code": 7,
                    "comment": 0,
                    "filename": ".npmignore"
                },
                {
                    "blank": 0,
                    "code": 21,
                    "comment": 0,
                    "filename": ".travis.yml"
                },
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "filename": "editor\\favicon.ico",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\alert.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\arduino.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\arrow-in.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\bluetooth.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\bridge-dash.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\bridge.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\cog.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\comment.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\db.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\debug.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\envelope.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\feed.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\file.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\function.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\hash.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\inject.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\join.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\leveldb.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\light.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\link-out.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\mongodb.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\mouse.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\node-changed.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\node-error.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-csv.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-html.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-json.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-xml.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\parser-yaml.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\range.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\redis.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\rpi.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\serial.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\split.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\subflow.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\swap.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\switch.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\template.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\timer.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\trigger.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\twitter.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\watch.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\icons\\white-globe.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-flows-o.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-flows.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-full-o.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-full.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-nodes-o.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\deploy-nodes.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\grip.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\node-red-256.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "filename": "editor\\images\\node-red.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\pw_maze_white.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "filename": "editor\\images\\subflow_tab.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\09.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\az.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\bin.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\bool.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\expr.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\json.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "filename": "editor\\images\\typedInput\\re.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                },
                {
                    "blank": 8,
                    "code": 60,
                    "comment": 26,
                    "filename": "test\\_spec.js"
                },
                {
                    "blank": 10,
                    "code": 90,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\analysis\\72-sentiment_spec.js"
                },
                {
                    "blank": 11,
                    "code": 92,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\20-inject_spec.js"
                },
                {
                    "blank": 5,
                    "code": 24,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-catch_spec.js"
                },
                {
                    "blank": 5,
                    "code": 34,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-status_spec.js"
                },
                {
                    "blank": 26,
                    "code": 297,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\58-debug_spec.js"
                },
                {
                    "blank": 44,
                    "code": 551,
                    "comment": 28,
                    "filename": "test\\nodes\\core\\core\\75-exec_spec.js"
                },
                {
                    "blank": 14,
                    "code": 271,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\80-function_spec.js"
                },
                {
                    "blank": 17,
                    "code": 162,
                    "comment": 20,
                    "filename": "test\\nodes\\core\\core\\80-template_spec.js"
                },
                {
                    "blank": 60,
                    "code": 441,
                    "comment": 94,
                    "filename": "test\\nodes\\core\\core\\89-delay_spec.js"
                },
                {
                    "blank": 23,
                    "code": 390,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\core\\89-trigger_spec.js"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\90-comment_spec.js"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\98-unknown_spec.js"
                },
                {
                    "blank": 30,
                    "code": 420,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\io\\21-httprequest_spec.js"
                },
                {
                    "blank": 42,
                    "code": 456,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\io\\22-websocket_spec.js"
                },
                {
                    "blank": 59,
                    "code": 381,
                    "comment": 57,
                    "filename": "test\\nodes\\core\\logic\\10-switch_spec.js"
                },
                {
                    "blank": 44,
                    "code": 768,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\logic\\15-change_spec.js"
                },
                {
                    "blank": 20,
                    "code": 104,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\logic\\16-range_spec.js"
                },
                {
                    "blank": 35,
                    "code": 625,
                    "comment": 18,
                    "filename": "test\\nodes\\core\\logic\\17-split_spec.js"
                },
                {
                    "blank": 28,
                    "code": 309,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\parsers\\70-CSV_spec.js"
                },
                {
                    "blank": 36,
                    "code": 242,
                    "comment": 17,
                    "filename": "test\\nodes\\core\\parsers\\70-HTML_spec.js"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-JSON_spec.js"
                },
                {
                    "blank": 13,
                    "code": 146,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-XML_spec.js"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-YAML_spec.js"
                },
                {
                    "blank": 14,
                    "code": 111,
                    "comment": 76,
                    "filename": "test\\nodes\\core\\storage\\28-tail_spec.js"
                },
                {
                    "blank": 50,
                    "code": 521,
                    "comment": 55,
                    "filename": "test\\nodes\\core\\storage\\50-file_spec.js"
                },
                {
                    "blank": 22,
                    "code": 127,
                    "comment": 20,
                    "filename": "test\\nodes\\helper.js"
                },
                {
                    "blank": 18,
                    "code": 246,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flow_spec.js"
                },
                {
                    "blank": 9,
                    "code": 258,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flows_spec.js"
                },
                {
                    "blank": 18,
                    "code": 263,
                    "comment": 18,
                    "filename": "test\\red\\api\\admin\\index_spec.js"
                },
                {
                    "blank": 8,
                    "code": 79,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\info_spec.js"
                },
                {
                    "blank": 57,
                    "code": 742,
                    "comment": 16,
                    "filename": "test\\red\\api\\admin\\nodes_spec.js"
                },
                {
                    "blank": 3,
                    "code": 28,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\clients_spec.js"
                },
                {
                    "blank": 16,
                    "code": 88,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\index_spec.js"
                },
                {
                    "blank": 2,
                    "code": 39,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\permissions_spec.js"
                },
                {
                    "blank": 20,
                    "code": 238,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\strategies_spec.js"
                },
                {
                    "blank": 13,
                    "code": 128,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\tokens_spec.js"
                },
                {
                    "blank": 12,
                    "code": 195,
                    "comment": 16,
                    "filename": "test\\red\\api\\auth\\users_spec.js"
                },
                {
                    "blank": 41,
                    "code": 468,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\comms_spec.js"
                },
                {
                    "blank": 5,
                    "code": 86,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\credentials_spec.js"
                },
                {
                    "blank": 4,
                    "code": 89,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\index_spec.js"
                },
                {
                    "blank": 22,
                    "code": 257,
                    "comment": 23,
                    "filename": "test\\red\\api\\editor\\library_spec.js"
                },
                {
                    "blank": 4,
                    "code": 101,
                    "comment": 17,
                    "filename": "test\\red\\api\\editor\\locales_spec.js"
                },
                {
                    "blank": 1,
                    "code": 3,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\projects\\index_spec.js"
                },
                {
                    "blank": 17,
                    "code": 79,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\theme_spec.js"
                },
                {
                    "blank": 11,
                    "code": 122,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\ui_spec.js"
                },
                {
                    "blank": 7,
                    "code": 83,
                    "comment": 15,
                    "filename": "test\\red\\api\\index_spec.js"
                },
                {
                    "blank": 11,
                    "code": 81,
                    "comment": 15,
                    "filename": "test\\red\\api\\util_spec.js"
                },
                {
                    "blank": 7,
                    "code": 47,
                    "comment": 17,
                    "filename": "test\\red\\red_spec.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\events_spec.js"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\i18n_spec.js"
                },
                {
                    "blank": 15,
                    "code": 193,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\index_spec.js"
                },
                {
                    "blank": 25,
                    "code": 184,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\log_spec.js"
                },
                {
                    "blank": 24,
                    "code": 105,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\context_spec.js"
                },
                {
                    "blank": 30,
                    "code": 406,
                    "comment": 41,
                    "filename": "test\\red\\runtime\\nodes\\credentials_spec.js"
                },
                {
                    "blank": 206,
                    "code": 866,
                    "comment": 19,
                    "filename": "test\\red\\runtime\\nodes\\flows\\Flow_spec.js"
                },
                {
                    "blank": 55,
                    "code": 492,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\flows\\index_spec.js"
                },
                {
                    "blank": 135,
                    "code": 571,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\flows\\util_spec.js"
                },
                {
                    "blank": 12,
                    "code": 88,
                    "comment": 18,
                    "filename": "test\\red\\runtime\\nodes\\index_spec.js"
                },
                {
                    "blank": 11,
                    "code": 43,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\library_spec.js"
                },
                {
                    "blank": 66,
                    "code": 453,
                    "comment": 28,
                    "filename": "test\\red\\runtime\\nodes\\Node_spec.js"
                },
                {
                    "blank": 3,
                    "code": 10,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\registry\\deprecated_spec.js"
                },
                {
                    "blank": 15,
                    "code": 97,
                    "comment": 17,
                    "filename": "test\\red\\runtime\\nodes\\registry\\index_spec.js"
                },
                {
                    "blank": 16,
                    "code": 176,
                    "comment": 21,
                    "filename": "test\\red\\runtime\\nodes\\registry\\installer_spec.js"
                },
                {
                    "blank": 56,
                    "code": 528,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\registry\\loader_spec.js"
                },
                {
                    "blank": 11,
                    "code": 167,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\localfilesystem_spec.js"
                },
                {
                    "blank": 60,
                    "code": 426,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\registry_spec.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuffNode\\DuffNode.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.js"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.html"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\icons\\file.txt"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.html"
                },
                {
                    "blank": 1,
                    "code": 8,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.html"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.html"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.js"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.html"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.js"
                },
                {
                    "blank": 34,
                    "code": 187,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\settings_spec.js"
                },
                {
                    "blank": 23,
                    "code": 231,
                    "comment": 16,
                    "filename": "test\\red\\runtime\\storage\\index_spec.js"
                },
                {
                    "blank": 46,
                    "code": 371,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\index_spec.js"
                },
                {
                    "blank": 14,
                    "code": 176,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\library_spec.js"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\git\\index_spec.js"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\index_spec.js"
                },
                {
                    "blank": 9,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\sessions_spec.js"
                },
                {
                    "blank": 10,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\settings_spec.js"
                },
                {
                    "blank": 2,
                    "code": 14,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\util_spec.js"
                },
                {
                    "blank": 30,
                    "code": 378,
                    "comment": 20,
                    "filename": "test\\red\\runtime\\util_spec.js"
                },
                {
                    "blank": 2,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\resources\\70-HTML-test-file.html"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\resources\\examples\\one.json"
                },
                {
                    "filename": "test\\resources\\icons\\test_icon.png",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:42:59",
            "filesum": 333,
            "codesum": 66111,
            "commentsum": 6219,
            "blanksum": 5729,
            "filelist": [
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "filename": "editor\\favicon.ico",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                },
                {
                    "blank": 8,
                    "code": 60,
                    "comment": 26,
                    "filename": "test\\_spec.js"
                },
                {
                    "blank": 10,
                    "code": 90,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\analysis\\72-sentiment_spec.js"
                },
                {
                    "blank": 11,
                    "code": 92,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\20-inject_spec.js"
                },
                {
                    "blank": 5,
                    "code": 24,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-catch_spec.js"
                },
                {
                    "blank": 5,
                    "code": 34,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-status_spec.js"
                },
                {
                    "blank": 26,
                    "code": 297,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\58-debug_spec.js"
                },
                {
                    "blank": 44,
                    "code": 551,
                    "comment": 28,
                    "filename": "test\\nodes\\core\\core\\75-exec_spec.js"
                },
                {
                    "blank": 14,
                    "code": 271,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\80-function_spec.js"
                },
                {
                    "blank": 17,
                    "code": 162,
                    "comment": 20,
                    "filename": "test\\nodes\\core\\core\\80-template_spec.js"
                },
                {
                    "blank": 60,
                    "code": 441,
                    "comment": 94,
                    "filename": "test\\nodes\\core\\core\\89-delay_spec.js"
                },
                {
                    "blank": 23,
                    "code": 390,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\core\\89-trigger_spec.js"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\90-comment_spec.js"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\98-unknown_spec.js"
                },
                {
                    "blank": 30,
                    "code": 420,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\io\\21-httprequest_spec.js"
                },
                {
                    "blank": 42,
                    "code": 456,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\io\\22-websocket_spec.js"
                },
                {
                    "blank": 59,
                    "code": 381,
                    "comment": 57,
                    "filename": "test\\nodes\\core\\logic\\10-switch_spec.js"
                },
                {
                    "blank": 44,
                    "code": 768,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\logic\\15-change_spec.js"
                },
                {
                    "blank": 20,
                    "code": 104,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\logic\\16-range_spec.js"
                },
                {
                    "blank": 35,
                    "code": 625,
                    "comment": 18,
                    "filename": "test\\nodes\\core\\logic\\17-split_spec.js"
                },
                {
                    "blank": 28,
                    "code": 309,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\parsers\\70-CSV_spec.js"
                },
                {
                    "blank": 36,
                    "code": 242,
                    "comment": 17,
                    "filename": "test\\nodes\\core\\parsers\\70-HTML_spec.js"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-JSON_spec.js"
                },
                {
                    "blank": 13,
                    "code": 146,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-XML_spec.js"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-YAML_spec.js"
                },
                {
                    "blank": 14,
                    "code": 111,
                    "comment": 76,
                    "filename": "test\\nodes\\core\\storage\\28-tail_spec.js"
                },
                {
                    "blank": 50,
                    "code": 521,
                    "comment": 55,
                    "filename": "test\\nodes\\core\\storage\\50-file_spec.js"
                },
                {
                    "blank": 22,
                    "code": 127,
                    "comment": 20,
                    "filename": "test\\nodes\\helper.js"
                },
                {
                    "blank": 18,
                    "code": 246,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flow_spec.js"
                },
                {
                    "blank": 9,
                    "code": 258,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flows_spec.js"
                },
                {
                    "blank": 18,
                    "code": 263,
                    "comment": 18,
                    "filename": "test\\red\\api\\admin\\index_spec.js"
                },
                {
                    "blank": 8,
                    "code": 79,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\info_spec.js"
                },
                {
                    "blank": 57,
                    "code": 742,
                    "comment": 16,
                    "filename": "test\\red\\api\\admin\\nodes_spec.js"
                },
                {
                    "blank": 3,
                    "code": 28,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\clients_spec.js"
                },
                {
                    "blank": 16,
                    "code": 88,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\index_spec.js"
                },
                {
                    "blank": 2,
                    "code": 39,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\permissions_spec.js"
                },
                {
                    "blank": 20,
                    "code": 238,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\strategies_spec.js"
                },
                {
                    "blank": 13,
                    "code": 128,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\tokens_spec.js"
                },
                {
                    "blank": 12,
                    "code": 195,
                    "comment": 16,
                    "filename": "test\\red\\api\\auth\\users_spec.js"
                },
                {
                    "blank": 41,
                    "code": 468,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\comms_spec.js"
                },
                {
                    "blank": 5,
                    "code": 86,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\credentials_spec.js"
                },
                {
                    "blank": 4,
                    "code": 89,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\index_spec.js"
                },
                {
                    "blank": 22,
                    "code": 257,
                    "comment": 23,
                    "filename": "test\\red\\api\\editor\\library_spec.js"
                },
                {
                    "blank": 4,
                    "code": 101,
                    "comment": 17,
                    "filename": "test\\red\\api\\editor\\locales_spec.js"
                },
                {
                    "blank": 1,
                    "code": 3,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\projects\\index_spec.js"
                },
                {
                    "blank": 17,
                    "code": 79,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\theme_spec.js"
                },
                {
                    "blank": 11,
                    "code": 122,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\ui_spec.js"
                },
                {
                    "blank": 7,
                    "code": 83,
                    "comment": 15,
                    "filename": "test\\red\\api\\index_spec.js"
                },
                {
                    "blank": 11,
                    "code": 81,
                    "comment": 15,
                    "filename": "test\\red\\api\\util_spec.js"
                },
                {
                    "blank": 7,
                    "code": 47,
                    "comment": 17,
                    "filename": "test\\red\\red_spec.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\events_spec.js"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\i18n_spec.js"
                },
                {
                    "blank": 15,
                    "code": 193,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\index_spec.js"
                },
                {
                    "blank": 25,
                    "code": 184,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\log_spec.js"
                },
                {
                    "blank": 24,
                    "code": 105,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\context_spec.js"
                },
                {
                    "blank": 30,
                    "code": 406,
                    "comment": 41,
                    "filename": "test\\red\\runtime\\nodes\\credentials_spec.js"
                },
                {
                    "blank": 206,
                    "code": 866,
                    "comment": 19,
                    "filename": "test\\red\\runtime\\nodes\\flows\\Flow_spec.js"
                },
                {
                    "blank": 55,
                    "code": 492,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\flows\\index_spec.js"
                },
                {
                    "blank": 135,
                    "code": 571,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\flows\\util_spec.js"
                },
                {
                    "blank": 12,
                    "code": 88,
                    "comment": 18,
                    "filename": "test\\red\\runtime\\nodes\\index_spec.js"
                },
                {
                    "blank": 11,
                    "code": 43,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\library_spec.js"
                },
                {
                    "blank": 66,
                    "code": 453,
                    "comment": 28,
                    "filename": "test\\red\\runtime\\nodes\\Node_spec.js"
                },
                {
                    "blank": 3,
                    "code": 10,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\registry\\deprecated_spec.js"
                },
                {
                    "blank": 15,
                    "code": 97,
                    "comment": 17,
                    "filename": "test\\red\\runtime\\nodes\\registry\\index_spec.js"
                },
                {
                    "blank": 16,
                    "code": 176,
                    "comment": 21,
                    "filename": "test\\red\\runtime\\nodes\\registry\\installer_spec.js"
                },
                {
                    "blank": 56,
                    "code": 528,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\registry\\loader_spec.js"
                },
                {
                    "blank": 11,
                    "code": 167,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\localfilesystem_spec.js"
                },
                {
                    "blank": 60,
                    "code": 426,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\registry_spec.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuffNode\\DuffNode.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.js"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.html"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\icons\\file.txt"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.html"
                },
                {
                    "blank": 1,
                    "code": 8,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.html"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.html"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.js"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.html"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.js"
                },
                {
                    "blank": 34,
                    "code": 187,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\settings_spec.js"
                },
                {
                    "blank": 23,
                    "code": 231,
                    "comment": 16,
                    "filename": "test\\red\\runtime\\storage\\index_spec.js"
                },
                {
                    "blank": 46,
                    "code": 371,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\index_spec.js"
                },
                {
                    "blank": 14,
                    "code": 176,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\library_spec.js"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\git\\index_spec.js"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\index_spec.js"
                },
                {
                    "blank": 9,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\sessions_spec.js"
                },
                {
                    "blank": 10,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\settings_spec.js"
                },
                {
                    "blank": 2,
                    "code": 14,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\util_spec.js"
                },
                {
                    "blank": 30,
                    "code": 378,
                    "comment": 20,
                    "filename": "test\\red\\runtime\\util_spec.js"
                },
                {
                    "blank": 2,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\resources\\70-HTML-test-file.html"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\resources\\examples\\one.json"
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:43:58",
            "filesum": 333,
            "codesum": 66111,
            "commentsum": 6219,
            "blanksum": 5729,
            "filelist": [
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\git\\index_spec.js"
                },
                {
                    "filename": "editor\\favicon.ico",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\resources\\examples\\one.json"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\index_spec.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 1,
                    "code": 3,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\projects\\index_spec.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.html"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.html"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\icons\\file.txt"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.js"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuffNode\\DuffNode.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.html"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.html"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.html"
                },
                {
                    "blank": 2,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\resources\\70-HTML-test-file.html"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.js"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\i18n_spec.js"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.html"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.js"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\events_spec.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 1,
                    "code": 8,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.js"
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 3,
                    "code": 10,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\registry\\deprecated_spec.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 2,
                    "code": 14,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\util_spec.js"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\90-comment_spec.js"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\98-unknown_spec.js"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 5,
                    "code": 24,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-catch_spec.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 3,
                    "code": 28,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\clients_spec.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 5,
                    "code": 34,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-status_spec.js"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "blank": 2,
                    "code": 39,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\permissions_spec.js"
                },
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 11,
                    "code": 43,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\library_spec.js"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 7,
                    "code": 47,
                    "comment": 17,
                    "filename": "test\\red\\red_spec.js"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 9,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\sessions_spec.js"
                },
                {
                    "blank": 10,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\settings_spec.js"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 8,
                    "code": 60,
                    "comment": 26,
                    "filename": "test\\_spec.js"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 8,
                    "code": 79,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\info_spec.js"
                },
                {
                    "blank": 17,
                    "code": 79,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\theme_spec.js"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 11,
                    "code": 81,
                    "comment": 15,
                    "filename": "test\\red\\api\\util_spec.js"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 7,
                    "code": 83,
                    "comment": 15,
                    "filename": "test\\red\\api\\index_spec.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 5,
                    "code": 86,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\credentials_spec.js"
                },
                {
                    "blank": 16,
                    "code": 88,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\index_spec.js"
                },
                {
                    "blank": 12,
                    "code": 88,
                    "comment": 18,
                    "filename": "test\\red\\runtime\\nodes\\index_spec.js"
                },
                {
                    "blank": 4,
                    "code": 89,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\index_spec.js"
                },
                {
                    "blank": 10,
                    "code": 90,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\analysis\\72-sentiment_spec.js"
                },
                {
                    "blank": 11,
                    "code": 92,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\20-inject_spec.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 15,
                    "code": 97,
                    "comment": 17,
                    "filename": "test\\red\\runtime\\nodes\\registry\\index_spec.js"
                },
                {
                    "blank": 4,
                    "code": 101,
                    "comment": 17,
                    "filename": "test\\red\\api\\editor\\locales_spec.js"
                },
                {
                    "blank": 20,
                    "code": 104,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\logic\\16-range_spec.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 24,
                    "code": 105,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\context_spec.js"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 14,
                    "code": 111,
                    "comment": 76,
                    "filename": "test\\nodes\\core\\storage\\28-tail_spec.js"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 11,
                    "code": 122,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\ui_spec.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-JSON_spec.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 22,
                    "code": 127,
                    "comment": 20,
                    "filename": "test\\nodes\\helper.js"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-YAML_spec.js"
                },
                {
                    "blank": 13,
                    "code": 128,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\tokens_spec.js"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 13,
                    "code": 146,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-XML_spec.js"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 17,
                    "code": 162,
                    "comment": 20,
                    "filename": "test\\nodes\\core\\core\\80-template_spec.js"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 11,
                    "code": 167,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\localfilesystem_spec.js"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 14,
                    "code": 176,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\library_spec.js"
                },
                {
                    "blank": 16,
                    "code": 176,
                    "comment": 21,
                    "filename": "test\\red\\runtime\\nodes\\registry\\installer_spec.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 25,
                    "code": 184,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\log_spec.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 34,
                    "code": 187,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\settings_spec.js"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 15,
                    "code": 193,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\index_spec.js"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 12,
                    "code": 195,
                    "comment": 16,
                    "filename": "test\\red\\api\\auth\\users_spec.js"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 23,
                    "code": 231,
                    "comment": 16,
                    "filename": "test\\red\\runtime\\storage\\index_spec.js"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 20,
                    "code": 238,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\strategies_spec.js"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 36,
                    "code": 242,
                    "comment": 17,
                    "filename": "test\\nodes\\core\\parsers\\70-HTML_spec.js"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 18,
                    "code": 246,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flow_spec.js"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 22,
                    "code": 257,
                    "comment": 23,
                    "filename": "test\\red\\api\\editor\\library_spec.js"
                },
                {
                    "blank": 9,
                    "code": 258,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flows_spec.js"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 18,
                    "code": 263,
                    "comment": 18,
                    "filename": "test\\red\\api\\admin\\index_spec.js"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 14,
                    "code": 271,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\80-function_spec.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 26,
                    "code": 297,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\58-debug_spec.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 28,
                    "code": 309,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\parsers\\70-CSV_spec.js"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 46,
                    "code": 371,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\index_spec.js"
                },
                {
                    "blank": 30,
                    "code": 378,
                    "comment": 20,
                    "filename": "test\\red\\runtime\\util_spec.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 59,
                    "code": 381,
                    "comment": 57,
                    "filename": "test\\nodes\\core\\logic\\10-switch_spec.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 23,
                    "code": 390,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\core\\89-trigger_spec.js"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 30,
                    "code": 406,
                    "comment": 41,
                    "filename": "test\\red\\runtime\\nodes\\credentials_spec.js"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 30,
                    "code": 420,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\io\\21-httprequest_spec.js"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 60,
                    "code": 426,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\registry_spec.js"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 60,
                    "code": 441,
                    "comment": 94,
                    "filename": "test\\nodes\\core\\core\\89-delay_spec.js"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 66,
                    "code": 453,
                    "comment": 28,
                    "filename": "test\\red\\runtime\\nodes\\Node_spec.js"
                },
                {
                    "blank": 42,
                    "code": 456,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\io\\22-websocket_spec.js"
                },
                {
                    "blank": 41,
                    "code": 468,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\comms_spec.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 55,
                    "code": 492,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\flows\\index_spec.js"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 50,
                    "code": 521,
                    "comment": 55,
                    "filename": "test\\nodes\\core\\storage\\50-file_spec.js"
                },
                {
                    "blank": 56,
                    "code": 528,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\registry\\loader_spec.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 44,
                    "code": 551,
                    "comment": 28,
                    "filename": "test\\nodes\\core\\core\\75-exec_spec.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 135,
                    "code": 571,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\flows\\util_spec.js"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 35,
                    "code": 625,
                    "comment": 18,
                    "filename": "test\\nodes\\core\\logic\\17-split_spec.js"
                },
                {
                    "blank": 57,
                    "code": 742,
                    "comment": 16,
                    "filename": "test\\red\\api\\admin\\nodes_spec.js"
                },
                {
                    "blank": 44,
                    "code": 768,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\logic\\15-change_spec.js"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 206,
                    "code": 866,
                    "comment": 19,
                    "filename": "test\\red\\runtime\\nodes\\flows\\Flow_spec.js"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:46:21",
            "filesum": 333,
            "codesum": 66111,
            "commentsum": 6219,
            "blanksum": 5729,
            "filelist": [
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 206,
                    "code": 866,
                    "comment": 19,
                    "filename": "test\\red\\runtime\\nodes\\flows\\Flow_spec.js"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 44,
                    "code": 768,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\logic\\15-change_spec.js"
                },
                {
                    "blank": 57,
                    "code": 742,
                    "comment": 16,
                    "filename": "test\\red\\api\\admin\\nodes_spec.js"
                },
                {
                    "blank": 35,
                    "code": 625,
                    "comment": 18,
                    "filename": "test\\nodes\\core\\logic\\17-split_spec.js"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 135,
                    "code": 571,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\flows\\util_spec.js"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 44,
                    "code": 551,
                    "comment": 28,
                    "filename": "test\\nodes\\core\\core\\75-exec_spec.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 56,
                    "code": 528,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\registry\\loader_spec.js"
                },
                {
                    "blank": 50,
                    "code": 521,
                    "comment": 55,
                    "filename": "test\\nodes\\core\\storage\\50-file_spec.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 55,
                    "code": 492,
                    "comment": 24,
                    "filename": "test\\red\\runtime\\nodes\\flows\\index_spec.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 41,
                    "code": 468,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\comms_spec.js"
                },
                {
                    "blank": 42,
                    "code": 456,
                    "comment": 16,
                    "filename": "test\\nodes\\core\\io\\22-websocket_spec.js"
                },
                {
                    "blank": 66,
                    "code": 453,
                    "comment": 28,
                    "filename": "test\\red\\runtime\\nodes\\Node_spec.js"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 60,
                    "code": 441,
                    "comment": 94,
                    "filename": "test\\nodes\\core\\core\\89-delay_spec.js"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 60,
                    "code": 426,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\registry_spec.js"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 30,
                    "code": 420,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\io\\21-httprequest_spec.js"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 30,
                    "code": 406,
                    "comment": 41,
                    "filename": "test\\red\\runtime\\nodes\\credentials_spec.js"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 23,
                    "code": 390,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\core\\89-trigger_spec.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 59,
                    "code": 381,
                    "comment": 57,
                    "filename": "test\\nodes\\core\\logic\\10-switch_spec.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 30,
                    "code": 378,
                    "comment": 20,
                    "filename": "test\\red\\runtime\\util_spec.js"
                },
                {
                    "blank": 46,
                    "code": 371,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\index_spec.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 28,
                    "code": 309,
                    "comment": 19,
                    "filename": "test\\nodes\\core\\parsers\\70-CSV_spec.js"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 26,
                    "code": 297,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\58-debug_spec.js"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 14,
                    "code": 271,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\80-function_spec.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 18,
                    "code": 263,
                    "comment": 18,
                    "filename": "test\\red\\api\\admin\\index_spec.js"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 9,
                    "code": 258,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flows_spec.js"
                },
                {
                    "blank": 22,
                    "code": 257,
                    "comment": 23,
                    "filename": "test\\red\\api\\editor\\library_spec.js"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 18,
                    "code": 246,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\flow_spec.js"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 36,
                    "code": 242,
                    "comment": 17,
                    "filename": "test\\nodes\\core\\parsers\\70-HTML_spec.js"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 20,
                    "code": 238,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\strategies_spec.js"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 23,
                    "code": 231,
                    "comment": 16,
                    "filename": "test\\red\\runtime\\storage\\index_spec.js"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 12,
                    "code": 195,
                    "comment": 16,
                    "filename": "test\\red\\api\\auth\\users_spec.js"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 15,
                    "code": 193,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\index_spec.js"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 34,
                    "code": 187,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\settings_spec.js"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 25,
                    "code": 184,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\log_spec.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 14,
                    "code": 176,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\library_spec.js"
                },
                {
                    "blank": 16,
                    "code": 176,
                    "comment": 21,
                    "filename": "test\\red\\runtime\\nodes\\registry\\installer_spec.js"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 11,
                    "code": 167,
                    "comment": 22,
                    "filename": "test\\red\\runtime\\nodes\\registry\\localfilesystem_spec.js"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 17,
                    "code": 162,
                    "comment": 20,
                    "filename": "test\\nodes\\core\\core\\80-template_spec.js"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 13,
                    "code": 146,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-XML_spec.js"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 13,
                    "code": 128,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\tokens_spec.js"
                },
                {
                    "blank": 22,
                    "code": 127,
                    "comment": 20,
                    "filename": "test\\nodes\\helper.js"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-JSON_spec.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 12,
                    "code": 127,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\parsers\\70-YAML_spec.js"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 11,
                    "code": 122,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\ui_spec.js"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 14,
                    "code": 111,
                    "comment": 76,
                    "filename": "test\\nodes\\core\\storage\\28-tail_spec.js"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 24,
                    "code": 105,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\context_spec.js"
                },
                {
                    "blank": 20,
                    "code": 104,
                    "comment": 31,
                    "filename": "test\\nodes\\core\\logic\\16-range_spec.js"
                },
                {
                    "blank": 4,
                    "code": 101,
                    "comment": 17,
                    "filename": "test\\red\\api\\editor\\locales_spec.js"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 15,
                    "code": 97,
                    "comment": 17,
                    "filename": "test\\red\\runtime\\nodes\\registry\\index_spec.js"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 11,
                    "code": 92,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\20-inject_spec.js"
                },
                {
                    "blank": 10,
                    "code": 90,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\analysis\\72-sentiment_spec.js"
                },
                {
                    "blank": 4,
                    "code": 89,
                    "comment": 16,
                    "filename": "test\\red\\api\\editor\\index_spec.js"
                },
                {
                    "blank": 12,
                    "code": 88,
                    "comment": 18,
                    "filename": "test\\red\\runtime\\nodes\\index_spec.js"
                },
                {
                    "blank": 16,
                    "code": 88,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\index_spec.js"
                },
                {
                    "blank": 5,
                    "code": 86,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\credentials_spec.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 7,
                    "code": 83,
                    "comment": 15,
                    "filename": "test\\red\\api\\index_spec.js"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 11,
                    "code": 81,
                    "comment": 15,
                    "filename": "test\\red\\api\\util_spec.js"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 17,
                    "code": 79,
                    "comment": 20,
                    "filename": "test\\red\\api\\editor\\theme_spec.js"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 8,
                    "code": 79,
                    "comment": 15,
                    "filename": "test\\red\\api\\admin\\info_spec.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 8,
                    "code": 60,
                    "comment": 26,
                    "filename": "test\\_spec.js"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 9,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\sessions_spec.js"
                },
                {
                    "blank": 10,
                    "code": 55,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\settings_spec.js"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 7,
                    "code": 47,
                    "comment": 17,
                    "filename": "test\\red\\red_spec.js"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 11,
                    "code": 43,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\library_spec.js"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 2,
                    "code": 39,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\permissions_spec.js"
                },
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 5,
                    "code": 34,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-status_spec.js"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 3,
                    "code": 28,
                    "comment": 15,
                    "filename": "test\\red\\api\\auth\\clients_spec.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 5,
                    "code": 24,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\25-catch_spec.js"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\98-unknown_spec.js"
                },
                {
                    "blank": 5,
                    "code": 16,
                    "comment": 15,
                    "filename": "test\\nodes\\core\\core\\90-comment_spec.js"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 2,
                    "code": 14,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\util_spec.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 3,
                    "code": 10,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\nodes\\registry\\deprecated_spec.js"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 1,
                    "code": 8,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.js"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\events_spec.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.html"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 15,
                    "filename": "test\\red\\runtime\\i18n_spec.js"
                },
                {
                    "blank": 1,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.js"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 0,
                    "code": 6,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\MultipleNodes1\\MultipleNodes1.js"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.html"
                },
                {
                    "blank": 0,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.html"
                },
                {
                    "blank": 2,
                    "code": 5,
                    "comment": 0,
                    "filename": "test\\resources\\70-HTML-test-file.html"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuffNode\\DuffNode.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\test\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode1\\TestNode1.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.html"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\lib\\ShouldNotLoad.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 1,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\NestedNode.js"
                },
                {
                    "blank": 0,
                    "code": 4,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode2\\TestNode2.html"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\NestedDirectoryNode\\NestedNode\\icons\\file.txt"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\DuplicateTestNode\\TestNode1.html"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode3\\TestNode3.html"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 1,
                    "code": 3,
                    "comment": 15,
                    "filename": "test\\red\\api\\editor\\projects\\index_spec.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.html"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\userDir\\nodes\\TestNode5\\TestNode5.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\nodes\\resources\\local\\TestNode4\\TestNode4.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                },
                {
                    "filename": "editor\\favicon.ico",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\index_spec.js"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\red\\runtime\\storage\\localfilesystem\\projects\\git\\index_spec.js"
                },
                {
                    "blank": 0,
                    "code": 0,
                    "comment": 0,
                    "filename": "test\\resources\\examples\\one.json"
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:47:08",
            "filesum": 232,
            "codesum": 49103,
            "commentsum": 4647,
            "blanksum": 3859,
            "filelist": [
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                },
                {
                    "filename": "editor\\favicon.ico",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:47:28",
            "filesum": 232,
            "codesum": 49103,
            "commentsum": 4647,
            "blanksum": 3859,
            "filelist": [
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                },
                {
                    "filename": "editor\\favicon.ico",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:48:47",
            "filesum": 232,
            "codesum": 49103,
            "commentsum": 4647,
            "blanksum": 3859,
            "filelist": [
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "filename": "editor\\favicon.ico",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:49:09",
            "filesum": 232,
            "codesum": 49103,
            "commentsum": 4647,
            "blanksum": 3859,
            "filelist": [
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "filename": "editor\\favicon.ico",
                    "isbinaryfile": true,
                    "blank": 0,
                    "code": 0,
                    "comment": 0
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:56:45",
            "filesum": 231,
            "codesum": 49103,
            "commentsum": 4647,
            "blanksum": 3859,
            "filelist": [
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 3,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\en-US\\messages.json"
                },
                {
                    "blank": 1,
                    "code": 843,
                    "comment": 0,
                    "filename": "nodes\\core\\locales\\ja\\messages.json"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 6,
                    "code": 469,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\editor.json"
                },
                {
                    "blank": 0,
                    "code": 450,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\editor.json"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 0,
                    "code": 423,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\zh-CN\\editor.json"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 1,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\jsonata.json"
                },
                {
                    "blank": 0,
                    "code": 190,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\jsonata.json"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 6,
                    "code": 139,
                    "comment": 0,
                    "filename": "red\\runtime\\locales\\en-US\\runtime.json"
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\ja\\infotips.json"
                },
                {
                    "blank": 0,
                    "code": 23,
                    "comment": 0,
                    "filename": "red\\api\\editor\\locales\\en-US\\infotips.json"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                }
            ]
        },
        {
            "version": "0.1.7",
            "counttime": "2017-11-07 15:57:41",
            "filesum": 221,
            "codesum": 45510,
            "commentsum": 4647,
            "blanksum": 3842,
            "filelist": [
                {
                    "blank": 196,
                    "code": 2470,
                    "comment": 115,
                    "filename": "editor\\js\\ui\\view.js"
                },
                {
                    "blank": 109,
                    "code": 1812,
                    "comment": 56,
                    "filename": "editor\\js\\ui\\diff.js"
                },
                {
                    "blank": 117,
                    "code": 1618,
                    "comment": 139,
                    "filename": "editor\\js\\ui\\editor.js"
                },
                {
                    "blank": 73,
                    "code": 1231,
                    "comment": 54,
                    "filename": "editor\\js\\nodes.js"
                },
                {
                    "blank": 62,
                    "code": 1222,
                    "comment": 48,
                    "filename": "editor\\js\\text\\format.js"
                },
                {
                    "blank": 142,
                    "code": 915,
                    "comment": 32,
                    "filename": "editor\\sass\\forms.scss"
                },
                {
                    "blank": 85,
                    "code": 856,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\palette-editor.js"
                },
                {
                    "blank": 78,
                    "code": 829,
                    "comment": 109,
                    "filename": "editor\\js\\ui\\projectSettings.js"
                },
                {
                    "blank": 35,
                    "code": 602,
                    "comment": 31,
                    "filename": "editor\\sass\\diff.scss"
                },
                {
                    "blank": 19,
                    "code": 585,
                    "comment": 0,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.html"
                },
                {
                    "blank": 55,
                    "code": 573,
                    "comment": 53,
                    "filename": "red\\runtime\\nodes\\flows\\index.js"
                },
                {
                    "blank": 37,
                    "code": 557,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\31-tcpin.js"
                },
                {
                    "blank": 25,
                    "code": 552,
                    "comment": 35,
                    "filename": "editor\\js\\ui\\utils.js"
                },
                {
                    "blank": 65,
                    "code": 545,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\subflow.js"
                },
                {
                    "blank": 61,
                    "code": 518,
                    "comment": 65,
                    "filename": "red\\runtime\\nodes\\registry\\registry.js"
                },
                {
                    "blank": 26,
                    "code": 508,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.html"
                },
                {
                    "blank": 53,
                    "code": 493,
                    "comment": 92,
                    "filename": "editor\\js\\ui\\projects.js"
                },
                {
                    "blank": 58,
                    "code": 490,
                    "comment": 29,
                    "filename": "editor\\js\\ui\\tab-versionControl.js"
                },
                {
                    "blank": 39,
                    "code": 474,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\keyboard.js"
                },
                {
                    "blank": 15,
                    "code": 440,
                    "comment": 28,
                    "filename": "nodes\\core\\logic\\17-split.js"
                },
                {
                    "blank": 35,
                    "code": 435,
                    "comment": 34,
                    "filename": "red\\runtime\\nodes\\flows\\Flow.js"
                },
                {
                    "blank": 19,
                    "code": 433,
                    "comment": 20,
                    "filename": "editor\\js\\ui\\common\\typedInput.js"
                },
                {
                    "blank": 46,
                    "code": 432,
                    "comment": 41,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug-utils.js"
                },
                {
                    "blank": 38,
                    "code": 429,
                    "comment": 32,
                    "filename": "Gruntfile.js"
                },
                {
                    "blank": 24,
                    "code": 418,
                    "comment": 19,
                    "filename": "editor\\sass\\projects.scss"
                },
                {
                    "blank": 55,
                    "code": 394,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\palette.js"
                },
                {
                    "blank": 31,
                    "code": 383,
                    "comment": 80,
                    "filename": "editor\\js\\ui\\library.js"
                },
                {
                    "blank": 35,
                    "code": 381,
                    "comment": 30,
                    "filename": "editor\\js\\ui\\deploy.js"
                },
                {
                    "blank": 40,
                    "code": 364,
                    "comment": 22,
                    "filename": "editor\\js\\ui\\tab-info.js"
                },
                {
                    "blank": 13,
                    "code": 359,
                    "comment": 12,
                    "filename": "nodes\\core\\io\\10-mqtt.html"
                },
                {
                    "blank": 27,
                    "code": 358,
                    "comment": 63,
                    "filename": "red\\runtime\\nodes\\flows\\util.js"
                },
                {
                    "blank": 48,
                    "code": 354,
                    "comment": 67,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\Project.js"
                },
                {
                    "blank": 30,
                    "code": 347,
                    "comment": 33,
                    "filename": "nodes\\core\\io\\10-mqtt.js"
                },
                {
                    "blank": 25,
                    "code": 339,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\tabs.js"
                },
                {
                    "blank": 30,
                    "code": 334,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\clipboard.js"
                },
                {
                    "blank": 26,
                    "code": 326,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\workspaces.js"
                },
                {
                    "blank": 22,
                    "code": 325,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httpin.html"
                },
                {
                    "blank": 17,
                    "code": 313,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\17-split.html"
                },
                {
                    "blank": 10,
                    "code": 302,
                    "comment": 18,
                    "filename": "editor\\js\\history.js"
                },
                {
                    "blank": 26,
                    "code": 300,
                    "comment": 21,
                    "filename": "nodes\\core\\io\\21-httpin.js"
                },
                {
                    "blank": 21,
                    "code": 298,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\60-link.html"
                },
                {
                    "blank": 29,
                    "code": 297,
                    "comment": 17,
                    "filename": "editor\\sass\\editor.scss"
                },
                {
                    "blank": 37,
                    "code": 287,
                    "comment": 33,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 278,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.html"
                },
                {
                    "blank": 23,
                    "code": 277,
                    "comment": 16,
                    "filename": "editor\\js\\ui\\tab-config.js"
                },
                {
                    "blank": 41,
                    "code": 273,
                    "comment": 5,
                    "filename": "nodes\\core\\hardware\\36-rpi-gpio.js"
                },
                {
                    "blank": 20,
                    "code": 272,
                    "comment": 84,
                    "filename": "red\\runtime\\nodes\\credentials.js"
                },
                {
                    "blank": 12,
                    "code": 272,
                    "comment": 43,
                    "filename": "editor\\js\\ui\\common\\editableList.js"
                },
                {
                    "blank": 26,
                    "code": 268,
                    "comment": 31,
                    "filename": "red.js"
                },
                {
                    "blank": 14,
                    "code": 266,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-delay.html"
                },
                {
                    "blank": 21,
                    "code": 263,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\15-change.html"
                },
                {
                    "blank": 25,
                    "code": 263,
                    "comment": 7,
                    "filename": "editor\\js\\ui\\typeSearch.js"
                },
                {
                    "blank": 19,
                    "code": 259,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\31-tcpin.html"
                },
                {
                    "blank": 24,
                    "code": 256,
                    "comment": 31,
                    "filename": "editor\\js\\main.js"
                },
                {
                    "blank": 27,
                    "code": 254,
                    "comment": 30,
                    "filename": "red\\runtime\\nodes\\registry\\localfilesystem.js"
                },
                {
                    "blank": 31,
                    "code": 250,
                    "comment": 15,
                    "filename": "editor\\sass\\flow.scss"
                },
                {
                    "blank": 19,
                    "code": 248,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-catch.html"
                },
                {
                    "blank": 16,
                    "code": 247,
                    "comment": 43,
                    "filename": "nodes\\core\\io\\21-httprequest.js"
                },
                {
                    "blank": 11,
                    "code": 245,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-info.scss"
                },
                {
                    "blank": 26,
                    "code": 242,
                    "comment": 18,
                    "filename": "editor\\js\\ui\\search.js"
                },
                {
                    "blank": 13,
                    "code": 242,
                    "comment": 21,
                    "filename": "editor\\js\\ui\\tray.js"
                },
                {
                    "blank": 17,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\25-status.html"
                },
                {
                    "blank": 15,
                    "code": 241,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\58-debug.html"
                },
                {
                    "blank": 11,
                    "code": 238,
                    "comment": 16,
                    "filename": "editor\\sass\\debug.scss"
                },
                {
                    "blank": 21,
                    "code": 235,
                    "comment": 19,
                    "filename": "nodes\\core\\io\\22-websocket.html"
                },
                {
                    "blank": 13,
                    "code": 235,
                    "comment": 15,
                    "filename": "red\\api\\admin\\nodes.js"
                },
                {
                    "blank": 14,
                    "code": 234,
                    "comment": 2,
                    "filename": "editor\\templates\\index.mst"
                },
                {
                    "blank": 19,
                    "code": 232,
                    "comment": 18,
                    "filename": "editor\\sass\\tabs.scss"
                },
                {
                    "blank": 43,
                    "code": 231,
                    "comment": 17,
                    "filename": "editor\\sass\\header.scss"
                },
                {
                    "blank": 6,
                    "code": 229,
                    "comment": 22,
                    "filename": "nodes\\core\\logic\\15-change.js"
                },
                {
                    "blank": 6,
                    "code": 226,
                    "comment": 17,
                    "filename": "nodes\\core\\core\\80-function.js"
                },
                {
                    "blank": 11,
                    "code": 219,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\32-udp.html"
                },
                {
                    "blank": 31,
                    "code": 219,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\menu.js"
                },
                {
                    "blank": 27,
                    "code": 219,
                    "comment": 42,
                    "filename": "red\\runtime\\nodes\\Node.js"
                },
                {
                    "blank": 20,
                    "code": 218,
                    "comment": 38,
                    "filename": "nodes\\core\\io\\22-websocket.js"
                },
                {
                    "blank": 13,
                    "code": 212,
                    "comment": 25,
                    "filename": "nodes\\core\\core\\89-delay.js"
                },
                {
                    "blank": 19,
                    "code": 212,
                    "comment": 26,
                    "filename": "nodes\\core\\io\\lib\\mqtt.js"
                },
                {
                    "blank": 22,
                    "code": 210,
                    "comment": 18,
                    "filename": "red\\runtime\\index.js"
                },
                {
                    "blank": 9,
                    "code": 210,
                    "comment": 28,
                    "filename": "nodes\\core\\storage\\50-file.js"
                },
                {
                    "blank": 19,
                    "code": 202,
                    "comment": 22,
                    "filename": "red\\runtime\\nodes\\registry\\installer.js"
                },
                {
                    "blank": 25,
                    "code": 200,
                    "comment": 24,
                    "filename": "red\\api\\editor\\projects\\index.js"
                },
                {
                    "blank": 10,
                    "code": 198,
                    "comment": 11,
                    "filename": "nodes\\core\\core\\58-debug.js"
                },
                {
                    "blank": 27,
                    "code": 197,
                    "comment": 15,
                    "filename": "editor\\js\\user.js"
                },
                {
                    "blank": 18,
                    "code": 196,
                    "comment": 18,
                    "filename": "editor\\sass\\palette-editor.scss"
                },
                {
                    "blank": 19,
                    "code": 194,
                    "comment": 22,
                    "filename": "red\\api\\editor\\comms.js"
                },
                {
                    "blank": 22,
                    "code": 192,
                    "comment": 31,
                    "filename": "editor\\sass\\mixins.scss"
                },
                {
                    "blank": 25,
                    "code": 190,
                    "comment": 33,
                    "filename": "nodes\\core\\hardware\\nrgpio.py"
                },
                {
                    "blank": 23,
                    "code": 187,
                    "comment": 19,
                    "filename": "editor\\js\\ui\\sidebar.js"
                },
                {
                    "blank": 21,
                    "code": 187,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\userSettings.js"
                },
                {
                    "blank": 17,
                    "code": 180,
                    "comment": 24,
                    "filename": "red\\runtime\\storage\\index.js"
                },
                {
                    "blank": 14,
                    "code": 179,
                    "comment": 15,
                    "filename": "editor\\sass\\palette.scss"
                },
                {
                    "blank": 10,
                    "code": 179,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\21-httprequest.html"
                },
                {
                    "blank": 19,
                    "code": 178,
                    "comment": 28,
                    "filename": "red\\runtime\\nodes\\registry\\loader.js"
                },
                {
                    "blank": 6,
                    "code": 177,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\50-file.html"
                },
                {
                    "blank": 17,
                    "code": 172,
                    "comment": 31,
                    "filename": "nodes\\core\\io\\32-udp.js"
                },
                {
                    "blank": 13,
                    "code": 171,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\89-trigger.html"
                },
                {
                    "blank": 7,
                    "code": 169,
                    "comment": 16,
                    "filename": "editor\\sass\\search.scss"
                },
                {
                    "blank": 6,
                    "code": 164,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.html"
                },
                {
                    "blank": 20,
                    "code": 156,
                    "comment": 23,
                    "filename": "red\\api\\auth\\index.js"
                },
                {
                    "blank": 7,
                    "code": 155,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\typedInput.scss"
                },
                {
                    "blank": 25,
                    "code": 154,
                    "comment": 17,
                    "filename": "red\\api\\editor\\theme.js"
                },
                {
                    "blank": 10,
                    "code": 153,
                    "comment": 23,
                    "filename": "red\\runtime\\util.js"
                },
                {
                    "blank": 11,
                    "code": 151,
                    "comment": 21,
                    "filename": "red\\runtime\\storage\\localfilesystem\\library.js"
                },
                {
                    "blank": 7,
                    "code": 150,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-template.html"
                },
                {
                    "blank": 5,
                    "code": 147,
                    "comment": 27,
                    "filename": "nodes\\core\\core\\75-exec.js"
                },
                {
                    "blank": 7,
                    "code": 144,
                    "comment": 15,
                    "filename": "nodes\\core\\logic\\10-switch.js"
                },
                {
                    "blank": 30,
                    "code": 139,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\touch\\radialMenu.js"
                },
                {
                    "blank": 10,
                    "code": 138,
                    "comment": 16,
                    "filename": "editor\\js\\comms.js"
                },
                {
                    "blank": 7,
                    "code": 135,
                    "comment": 17,
                    "filename": "nodes\\core\\io\\lib\\mqttConnectionPool.js"
                },
                {
                    "blank": 16,
                    "code": 135,
                    "comment": 15,
                    "filename": "red\\runtime\\log.js"
                },
                {
                    "blank": 5,
                    "code": 134,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\80-function.html"
                },
                {
                    "blank": 6,
                    "code": 133,
                    "comment": 22,
                    "filename": "red\\api\\editor\\library.js"
                },
                {
                    "blank": 8,
                    "code": 129,
                    "comment": 19,
                    "filename": "nodes\\core\\core\\89-trigger.js"
                },
                {
                    "blank": 8,
                    "code": 127,
                    "comment": 19,
                    "filename": "red\\runtime\\settings.js"
                },
                {
                    "blank": 10,
                    "code": 126,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\stack.js"
                },
                {
                    "blank": 4,
                    "code": 126,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-CSV.html"
                },
                {
                    "blank": 9,
                    "code": 125,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\popover.js"
                },
                {
                    "blank": 5,
                    "code": 123,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\75-exec.html"
                },
                {
                    "blank": 21,
                    "code": 119,
                    "comment": 39,
                    "filename": "red\\runtime\\nodes\\index.js"
                },
                {
                    "blank": 14,
                    "code": 116,
                    "comment": 22,
                    "filename": "editor\\js\\settings.js"
                },
                {
                    "blank": 12,
                    "code": 116,
                    "comment": 16,
                    "filename": "editor\\sass\\jquery.scss"
                },
                {
                    "blank": 8,
                    "code": 112,
                    "comment": 16,
                    "filename": "editor\\sass\\keyboard.scss"
                },
                {
                    "blank": 4,
                    "code": 110,
                    "comment": 17,
                    "filename": "editor\\js\\ui\\common\\checkboxSet.js"
                },
                {
                    "blank": 12,
                    "code": 105,
                    "comment": 18,
                    "filename": "red\\api\\auth\\strategies.js"
                },
                {
                    "blank": 23,
                    "code": 97,
                    "comment": 15,
                    "filename": "editor\\sass\\style.scss"
                },
                {
                    "blank": 12,
                    "code": 96,
                    "comment": 22,
                    "filename": "red\\runtime\\i18n.js"
                },
                {
                    "blank": 9,
                    "code": 94,
                    "comment": 16,
                    "filename": "red\\api\\index.js"
                },
                {
                    "blank": 5,
                    "code": 92,
                    "comment": 18,
                    "filename": "red\\api\\auth\\users.js"
                },
                {
                    "blank": 11,
                    "code": 84,
                    "comment": 18,
                    "filename": "red\\api\\auth\\tokens.js"
                },
                {
                    "blank": 9,
                    "code": 82,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\05-tls.js"
                },
                {
                    "blank": 10,
                    "code": 82,
                    "comment": 38,
                    "filename": "editor\\js\\text\\bidi.js"
                },
                {
                    "blank": 10,
                    "code": 80,
                    "comment": 15,
                    "filename": "editor\\sass\\sidebar.scss"
                },
                {
                    "blank": 14,
                    "code": 79,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\library.js"
                },
                {
                    "blank": 12,
                    "code": 78,
                    "comment": 19,
                    "filename": "red\\red.js"
                },
                {
                    "blank": 7,
                    "code": 77,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\searchBox.js"
                },
                {
                    "blank": 3,
                    "code": 77,
                    "comment": 0,
                    "filename": "nodes\\core\\logic\\16-range.html"
                },
                {
                    "blank": 8,
                    "code": 76,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\20-inject.js"
                },
                {
                    "blank": 13,
                    "code": 76,
                    "comment": 19,
                    "filename": "red\\api\\editor\\index.js"
                },
                {
                    "blank": 13,
                    "code": 71,
                    "comment": 16,
                    "filename": "red\\runtime\\storage\\localfilesystem\\index.js"
                },
                {
                    "blank": 10,
                    "code": 71,
                    "comment": 15,
                    "filename": "editor\\sass\\popover.scss"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-XML.html"
                },
                {
                    "blank": 3,
                    "code": 71,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\90-comment.html"
                },
                {
                    "blank": 2,
                    "code": 70,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\notifications.js"
                },
                {
                    "blank": 8,
                    "code": 69,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.js"
                },
                {
                    "blank": 3,
                    "code": 69,
                    "comment": 15,
                    "filename": "red\\api\\admin\\flow.js"
                },
                {
                    "blank": 2,
                    "code": 69,
                    "comment": 16,
                    "filename": "red\\api\\admin\\flows.js"
                },
                {
                    "blank": 11,
                    "code": 68,
                    "comment": 21,
                    "filename": "nodes\\core\\core\\80-template.js"
                },
                {
                    "blank": 5,
                    "code": 67,
                    "comment": 25,
                    "filename": "red\\runtime\\storage\\localfilesystem\\util.js"
                },
                {
                    "blank": 3,
                    "code": 67,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-HTML.html"
                },
                {
                    "blank": 12,
                    "code": 66,
                    "comment": 11,
                    "filename": "nodes\\99-sample.html.demo"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\context.js"
                },
                {
                    "blank": 4,
                    "code": 65,
                    "comment": 24,
                    "filename": "nodes\\core\\parsers\\70-CSV.js"
                },
                {
                    "blank": 6,
                    "code": 65,
                    "comment": 15,
                    "filename": "editor\\js\\i18n.js"
                },
                {
                    "blank": 3,
                    "code": 64,
                    "comment": 15,
                    "filename": "editor\\sass\\tab-config.scss"
                },
                {
                    "blank": 7,
                    "code": 61,
                    "comment": 16,
                    "filename": "editor\\sass\\dropdownMenu.scss"
                },
                {
                    "blank": 7,
                    "code": 59,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\common\\panels.js"
                },
                {
                    "blank": 9,
                    "code": 58,
                    "comment": 15,
                    "filename": "editor\\sass\\workspace.scss"
                },
                {
                    "blank": 3,
                    "code": 58,
                    "comment": 0,
                    "filename": "nodes\\core\\storage\\28-tail.html"
                },
                {
                    "blank": 2,
                    "code": 57,
                    "comment": 16,
                    "filename": "editor\\sass\\ui\\common\\editableList.scss"
                },
                {
                    "blank": 16,
                    "code": 56,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\index.js"
                },
                {
                    "blank": 2,
                    "code": 55,
                    "comment": 16,
                    "filename": "editor\\sass\\userSettings.scss"
                },
                {
                    "blank": 7,
                    "code": 53,
                    "comment": 17,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\git\\index.js"
                },
                {
                    "blank": 8,
                    "code": 53,
                    "comment": 15,
                    "filename": "editor\\sass\\workspaceToolbar.scss"
                },
                {
                    "blank": 3,
                    "code": 52,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\searchBox.scss"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 15,
                    "filename": "nodes\\core\\io\\23-watch.html"
                },
                {
                    "blank": 3,
                    "code": 50,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-JSON.html"
                },
                {
                    "blank": 2,
                    "code": 48,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\nodeList.scss"
                },
                {
                    "blank": 8,
                    "code": 48,
                    "comment": 19,
                    "filename": "nodes\\core\\storage\\28-tail.js"
                },
                {
                    "blank": 2,
                    "code": 46,
                    "comment": 19,
                    "filename": "nodes\\core\\parsers\\70-HTML.js"
                },
                {
                    "blank": 3,
                    "code": 43,
                    "comment": 15,
                    "filename": "nodes\\core\\analysis\\72-sentiment.html"
                },
                {
                    "blank": 3,
                    "code": 42,
                    "comment": 0,
                    "filename": "nodes\\core\\parsers\\70-YAML.html"
                },
                {
                    "blank": 1,
                    "code": 42,
                    "comment": 0,
                    "filename": "editor\\js\\keymap.json"
                },
                {
                    "blank": 2,
                    "code": 41,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-XML.js"
                },
                {
                    "blank": 13,
                    "code": 41,
                    "comment": 15,
                    "filename": "editor\\sass\\colors.scss"
                },
                {
                    "blank": 8,
                    "code": 40,
                    "comment": 17,
                    "filename": "red\\api\\auth\\permissions.js"
                },
                {
                    "blank": 4,
                    "code": 39,
                    "comment": 2,
                    "filename": "bin\\node-red-pi"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 15,
                    "filename": "red\\api\\editor\\ui.js"
                },
                {
                    "blank": 5,
                    "code": 36,
                    "comment": 1,
                    "filename": "editor\\images\\spin.svg"
                },
                {
                    "blank": 3,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\js\\events.js"
                },
                {
                    "blank": 2,
                    "code": 35,
                    "comment": 15,
                    "filename": "editor\\sass\\notifications.scss"
                },
                {
                    "blank": 2,
                    "code": 34,
                    "comment": 16,
                    "filename": "nodes\\core\\logic\\16-range.js"
                },
                {
                    "blank": 6,
                    "code": 34,
                    "comment": 15,
                    "filename": "red\\api\\admin\\info.js"
                },
                {
                    "blank": 1,
                    "code": 34,
                    "comment": 1,
                    "filename": "nodes\\core\\parsers\\70-YAML.js"
                },
                {
                    "blank": 3,
                    "code": 33,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\98-unknown.html"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\api\\editor\\locales.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\settings.js"
                },
                {
                    "blank": 4,
                    "code": 33,
                    "comment": 15,
                    "filename": "red\\runtime\\storage\\localfilesystem\\sessions.js"
                },
                {
                    "blank": 2,
                    "code": 33,
                    "comment": 0,
                    "filename": "editor\\js\\ui\\actions.js"
                },
                {
                    "blank": 0,
                    "code": 33,
                    "comment": 1,
                    "filename": "editor\\images\\node-red-icon.svg"
                },
                {
                    "blank": 5,
                    "code": 33,
                    "comment": 18,
                    "filename": "red\\runtime\\storage\\localfilesystem\\projects\\defaultFileSet.js"
                },
                {
                    "blank": 11,
                    "code": 32,
                    "comment": 19,
                    "filename": "red\\api\\admin\\index.js"
                },
                {
                    "blank": 2,
                    "code": 32,
                    "comment": 16,
                    "filename": "nodes\\core\\parsers\\70-JSON.js"
                },
                {
                    "blank": 4,
                    "code": 31,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\60-link.js"
                },
                {
                    "blank": 3,
                    "code": 31,
                    "comment": 18,
                    "filename": "red\\api\\editor\\credentials.js"
                },
                {
                    "blank": 3,
                    "code": 27,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\debug.js"
                },
                {
                    "blank": 4,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\api\\util.js"
                },
                {
                    "blank": 9,
                    "code": 25,
                    "comment": 15,
                    "filename": "red\\runtime\\nodes\\registry\\deprecated.js"
                },
                {
                    "blank": 1,
                    "code": 21,
                    "comment": 15,
                    "filename": "editor\\sass\\dragdrop.scss"
                },
                {
                    "blank": 0,
                    "code": 20,
                    "comment": 15,
                    "filename": "editor\\js\\validators.js"
                },
                {
                    "blank": 13,
                    "code": 19,
                    "comment": 36,
                    "filename": "nodes\\99-sample.js.demo"
                },
                {
                    "blank": 3,
                    "code": 18,
                    "comment": 16,
                    "filename": "nodes\\core\\analysis\\72-sentiment.js"
                },
                {
                    "blank": 6,
                    "code": 18,
                    "comment": 16,
                    "filename": "editor\\sass\\panels.scss"
                },
                {
                    "blank": 1,
                    "code": 17,
                    "comment": 15,
                    "filename": "editor\\sass\\library.scss"
                },
                {
                    "blank": 1,
                    "code": 16,
                    "comment": 2,
                    "filename": "nodes\\core\\hardware\\nrgpio"
                },
                {
                    "blank": 35,
                    "code": 15,
                    "comment": 182,
                    "filename": "settings.js"
                },
                {
                    "blank": 3,
                    "code": 15,
                    "comment": 15,
                    "filename": "red\\api\\auth\\clients.js"
                },
                {
                    "blank": 0,
                    "code": 14,
                    "comment": 0,
                    "filename": "nodes\\core\\core\\lib\\debug\\view.html"
                },
                {
                    "blank": 1,
                    "code": 13,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\checkboxSet.scss"
                },
                {
                    "blank": 0,
                    "code": 12,
                    "comment": 15,
                    "filename": "editor\\js\\ui\\state.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-status.js"
                },
                {
                    "blank": 3,
                    "code": 12,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\25-catch.js"
                },
                {
                    "blank": 2,
                    "code": 9,
                    "comment": 15,
                    "filename": "editor\\sass\\ui\\common\\stack.scss"
                },
                {
                    "blank": 0,
                    "code": 9,
                    "comment": 0,
                    "filename": "editor\\images\\node-red-icon-black.svg"
                },
                {
                    "blank": 0,
                    "code": 8,
                    "comment": 0,
                    "filename": "editor\\sass\\ace.scss"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\98-unknown.js"
                },
                {
                    "blank": 1,
                    "code": 7,
                    "comment": 15,
                    "filename": "nodes\\core\\core\\90-comment.js"
                },
                {
                    "blank": 2,
                    "code": 6,
                    "comment": 15,
                    "filename": "editor\\sass\\widgetStyle.scss"
                },
                {
                    "blank": 2,
                    "code": 4,
                    "comment": 15,
                    "filename": "editor\\sass\\bootstrap.scss"
                },
                {
                    "blank": 0,
                    "code": 3,
                    "comment": 2,
                    "filename": "jquery-3.2.1.min.js"
                },
                {
                    "blank": 2,
                    "code": 2,
                    "comment": 15,
                    "filename": "red\\runtime\\events.js"
                },
                {
                    "blank": 0,
                    "code": 1,
                    "comment": 15,
                    "filename": "editor\\js\\red.js"
                }
            ]
        }
    ]
}