{
    "i18n": true,
    "type": "tabs",
    "iconPosition": "top",
    "items": {
        "_general": {
            "type": "panel",
            "label": "General",
            "icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQ5NS45IDE2Ni42YzMuMiA4LjcgLjUgMTguNC02LjQgMjQuNmwtNDMuMyAzOS40YzEuMSA4LjMgMS43IDE2LjggMS43IDI1LjRzLS42IDE3LjEtMS43IDI1LjRsNDMuMyAzOS40YzYuOSA2LjIgOS42IDE1LjkgNi40IDI0LjZjLTQuNCAxMS45LTkuNyAyMy4zLTE1LjggMzQuM2wtNC43IDguMWMtNi42IDExLTE0IDIxLjQtMjIuMSAzMS4yYy01LjkgNy4yLTE1LjcgOS42LTI0LjUgNi44bC01NS43LTE3LjdjLTEzLjQgMTAuMy0yOC4yIDE4LjktNDQgMjUuNGwtMTIuNSA1Ny4xYy0yIDkuMS05IDE2LjMtMTguMiAxNy44Yy0xMy44IDIuMy0yOCAzLjUtNDIuNSAzLjVzLTI4LjctMS4yLTQyLjUtMy41Yy05LjItMS41LTE2LjItOC43LTE4LjItMTcuOGwtMTIuNS01Ny4xYy0xNS44LTYuNS0zMC42LTE1LjEtNDQtMjUuNEw4My4xIDQyNS45Yy04LjggMi44LTE4LjYgLjMtMjQuNS02LjhjLTguMS05LjgtMTUuNS0yMC4yLTIyLjEtMzEuMmwtNC43LTguMWMtNi4xLTExLTExLjQtMjIuNC0xNS44LTM0LjNjLTMuMi04LjctLjUtMTguNCA2LjQtMjQuNmw0My4zLTM5LjRDNjQuNiAyNzMuMSA2NCAyNjQuNiA2NCAyNTZzLjYtMTcuMSAxLjctMjUuNEwyMi40IDE5MS4yYy02LjktNi4yLTkuNi0xNS45LTYuNC0yNC42YzQuNC0xMS45IDkuNy0yMy4zIDE1LjgtMzQuM2w0LjctOC4xYzYuNi0xMSAxNC0yMS40IDIyLjEtMzEuMmM1LjktNy4yIDE1LjctOS42IDI0LjUtNi44bDU1LjcgMTcuN2MxMy40LTEwLjMgMjguMi0xOC45IDQ0LTI1LjRsMTIuNS01Ny4xYzItOS4xIDktMTYuMyAxOC4yLTE3LjhDMjI3LjMgMS4yIDI0MS41IDAgMjU2IDBzMjguNyAxLjIgNDIuNSAzLjVjOS4yIDEuNSAxNi4yIDguNyAxOC4yIDE3LjhsMTIuNSA1Ny4xYzE1LjggNi41IDMwLjYgMTUuMSA0NCAyNS40bDU1LjctMTcuN2M4LjgtMi44IDE4LjYtLjMgMjQuNSA2LjhjOC4xIDkuOCAxNS41IDIwLjIgMjIuMSAzMS4ybDQuNyA4LjFjNi4xIDExIDExLjQgMjIuNCAxNS44IDM0LjN6TTI1NiAzMzZhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6Ii8+Cjwvc3ZnPg==",
            "items": {
                "bind": {
                    "newLine": true,
                    "type": "ip",
                    "label": "IP",
                    "listenOnAllPorts": true,
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "port": {
                    "type": "number",
                    "label": "Port",
                    "min": 1,
                    "max": 65535,
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "secure": {
                    "newLine": true,
                    "type": "checkbox",
                    "label": "Secure (HTTPS)",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "certPublic": {
                    "hidden": "!data.secure",
                    "type": "certificate",
                    "certType": "public",
                    "label": "Public certificate",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "certPrivate": {
                    "hidden": "!data.secure",
                    "type": "certificate",
                    "certType": "private",
                    "label": "Private certificate",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "httpAdminRoot": {
                    "newLine": true,
                    "type": "text",
                    "label": "http Admin directory",
                    "help": "Root directory for Node-RED (e.g. /admin)",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "httpNodeRoot": {
                    "type": "text",
                    "label": "http Node directory",
                    "help": "Root directory for HTTP Nodes and Dashboard (e.g. /)",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "httpStatic": {
                    "type": "text",
                    "label": "http Static directory",
                    "help": "Can be used to identify a directory of static content on local host",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "maxMemory": {
                    "newLine": true,
                    "type": "number",
                    "label": "Max. allocated RAM",
                    "min": 32,
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "npmLibs": {
                    "type": "chips",
                    "label": "Additional npm packages",
                    "xs": 12,
                    "sm": 12,
                    "md": 8,
                    "lg": 8,
                    "xl": 8
                },
                "_headerAdditionalFeatures": {
                    "newLine": true,
                    "type": "header",
                    "size": 3,
                    "text": "Additional features",
                    "xs": 12,
                    "sm": 12,
                    "md": 12,
                    "lg": 12,
                    "xl": 12
                },
                "valueConvert": {
                    "newLine": true,
                    "type": "checkbox",
                    "label": "Convert state values to strings",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "palletmanagerEnabled": {
                    "newLine": true,
                    "type": "checkbox",
                    "label": "Use palletmanager",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "_backupWarningPallet": {
                    "hidden": "!data.palletmanagerEnabled",
                    "type": "staticText",
                    "text": "Backups will not contain any modules installed via Palette Manager!",
                    "style": {
                        "backgroundColor": "#a83232",
                        "borderRadius": "10px",
                        "fontSize": "20px",
                        "color": "#ffffff",
                        "textAlign": "center",
                        "marginTop": "5px"
                    },
                    "xs": 12,
                    "sm": 12,
                    "md": 8,
                    "lg": 8,
                    "xl": 8
                },
                "projectsEnabled": {
                    "newLine": true,
                    "type": "checkbox",
                    "label": "Enable Projects feature",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "_backupWarningProjects": {
                    "hidden": "!data.projectsEnabled",
                    "type": "staticText",
                    "text": "Backups will not contain any projects!",
                    "style": {
                        "backgroundColor": "#a83232",
                        "borderRadius": "10px",
                        "fontSize": "20px",
                        "color": "#ffffff",
                        "textAlign": "center",
                        "marginTop": "5px"
                    },
                    "xs": 12,
                    "sm": 12,
                    "md": 8,
                    "lg": 8,
                    "xl": 8
                },
                "allowCreationOfForeignObjects": {
                    "newLine": true,
                    "type": "checkbox",
                    "label": "Allow creation of foreign objects",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 6,
                    "xl": 6
                },
                "safeMode": {
                    "newLine": true,
                    "type": "checkbox",
                    "label": "Safe mode",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 6,
                    "xl": 6
                },
                "doNotReadObjectsDynamically": {
                    "newLine": true,
                    "type": "checkbox",
                    "label": "Do not read objects from admin in the select object dialog",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 6,
                    "xl": 6
                },
                "_update": {
                    "newLine": true,
                    "type": "sendTo",
                    "label": "Update select dialog",
                    "showProcess": true,
                    "command": "update",
                    "variant": "outlined",
                    "icon": "send",
                    "result": {
                        "success": {
                            "en": "Successfully updated",
                            "de": "Erfolgreich aktualisiert",
                            "ru": "Успешно обновляется",
                            "pt": "Atualizado com sucesso",
                            "nl": "Succesvolle update",
                            "fr": "Mise à jour réussie",
                            "it": "Aggiornato con successo",
                            "es": "Actualización exitosa",
                            "pl": "Sukcesowo aktualizowany",
                            "uk": "Успішно оновлено",
                            "zh-cn": "成功更新"
                        }
                    }
                }
            }
        },
        "_authentication": {
            "type": "panel",
            "label": "Authentication",
            "icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zMzYgMzUyYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2UzQzMy4yIDAgMzM2IDBTMTYwIDc4LjggMTYwIDE3NmMwIDE4LjcgMi45IDM2LjggOC4zIDUzLjdMNyAzOTFjLTQuNSA0LjUtNyAxMC42LTcgMTd2ODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRoODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRWNDQ4aDQwYzEzLjMgMCAyNC0xMC43IDI0LTI0VjM4NGg0MGM2LjQgMCAxMi41LTIuNSAxNy03bDMzLjMtMzMuM2MxNi45IDUuNCAzNSA4LjMgNTMuNyA4LjN6TTM3NiA5NmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Ii8+PC9zdmc+",
            "items": {
                "authType": {
                    "newLine": true,
                    "type": "select",
                    "label": "Authentication type",
                    "options": [
                        {
                            "label": {
                                "en": "None",
                                "de": "Keine",
                                "ru": "Нет",
                                "pt": "Nenhuma",
                                "nl": "Niets",
                                "fr": "None",
                                "it": "Nessuno",
                                "es": "Ninguno",
                                "pl": "None",
                                "uk": "Ні",
                                "zh-cn": "无"
                            },
                            "value": "None"
                        },
                        {
                            "label": {
                                "en": "Simple",
                                "de": "Einfach",
                                "ru": "Просто",
                                "pt": "Simples",
                                "nl": "Simpel",
                                "fr": "Simple",
                                "it": "Semplice",
                                "es": "Simple",
                                "pl": "Prosty",
                                "uk": "Прості",
                                "zh-cn": "简单"
                            },
                            "value": "Simple"
                        },
                        {
                            "label": {
                                "en": "Extended",
                                "de": "Erweitert",
                                "ru": "Расширенный",
                                "pt": "Estendido",
                                "nl": "Verlengd",
                                "fr": "Extended",
                                "it": "Esteso",
                                "es": "Extended",
                                "pl": "Extended",
                                "uk": "Продовжити",
                                "zh-cn": "参加者"
                            },
                            "value": "Extended"
                        }
                    ],
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "user": {
                    "hidden": "data.authType !== 'Simple'",
                    "type": "text",
                    "label": "User name",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "pass": {
                    "hidden": "data.authType !== 'Simple'",
                    "type": "password",
                    "label": "Password",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "hasDefaultPermissions": {
                    "newLine": true,
                    "hidden": "data.authType !== 'Extended'",
                    "type": "checkbox",
                    "label": "Use default permissions",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "defaultPermissions": {
                    "hidden": "data.authType !== 'Extended' || !data.hasDefaultPermissions",
                    "type": "text",
                    "label": "Default permissions",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 6,
                    "xl": 6
                },
                "authExt": {
                    "newLine": true,
                    "hidden": "data.authType !== 'Extended'",
                    "type": "table",
                    "label": "Users",
                    "items": [
                        {
                            "type": "text",
                            "attr": "username",
                            "width": "25%",
                            "title": {
                                "en": "User name",
                                "de": "Benutzername",
                                "ru": "Имя пользователя",
                                "pt": "Nome do utilizador",
                                "nl": "Noem",
                                "fr": "Nom de l ' utilisateur",
                                "it": "Nome utente",
                                "es": "Nombre de usuario",
                                "pl": "Imię User",
                                "uk": "Ім'я користувача",
                                "zh-cn": "使用名称"
                            },
                            "filter": true,
                            "sort": true,
                            "default": "admin"
                        },
                        {
                            "type": "password",
                            "attr": "password",
                            "width": "25%",
                            "title": {
                                "en": "Password",
                                "de": "Passwort vergessen",
                                "ru": "Пароль",
                                "pt": "Senha",
                                "nl": "Wachtwoord",
                                "fr": "Mot de passe",
                                "it": "Password",
                                "es": "Contraseña",
                                "pl": "Password",
                                "uk": "Логін",
                                "zh-cn": "护照"
                            },
                            "filter": false,
                            "sort": false,
                            "default": ""
                        },
                        {
                            "type": "chips",
                            "attr": "permissions",
                            "width": "50%",
                            "title": {
                                "en": "Permissions",
                                "de": "Berechtigungen",
                                "ru": "Разрешения",
                                "pt": "Permissões",
                                "nl": "Toestemming",
                                "fr": "Permissions",
                                "it": "Permissioni",
                                "es": "Permisos",
                                "pl": "Opłata",
                                "uk": "Дозвіли",
                                "zh-cn": "排放量"
                            },
                            "filter": false,
                            "sort": false
                        }
                    ],
                    "xs": 12,
                    "sm": 12,
                    "md": 12,
                    "lg": 12,
                    "xl": 12
                }
            }
        },
        "_appearance": {
            "type": "panel",
            "label": "Appearance",
            "icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj4KICAgIDxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE2Mi40IDZjLTEuNS0zLjYtNS02LTguOS02aC0xOWMtMy45IDAtNy41IDIuNC04LjkgNkwxMDQuOSA1Ny43Yy0zLjIgOC0xNC42IDgtMTcuOCAwTDY2LjQgNmMtMS41LTMuNi01LTYtOC45LTZINDhDMjEuNSAwIDAgMjEuNSAwIDQ4VjIyNHYyMi40VjI1Nkg5LjYgMzc0LjQgMzg0di05LjZWMjI0IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDIzMC41Yy0zLjkgMC03LjUgMi40LTguOSA2TDIwMC45IDU3LjdjLTMuMiA4LTE0LjYgOC0xNy44IDBMMTYyLjQgNnpNMCAyODh2MzJjMCAzNS4zIDI4LjcgNjQgNjQgNjRoNjR2NjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NFYzODRoNjRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWMjg4SDB6TTE5MiA0MzJhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyeiIvPgo8L3N2Zz4=",
            "items": {
                "editor": {
                    "newLine": true,
                    "type": "select",
                    "options": [
                        {
                            "label": "Monaco",
                            "value": "monaco"
                        },
                        {
                            "label": "Ace",
                            "value": "ace"
                        }
                    ],
                    "label": "Editor type",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                },
                "theme": {
                    "newLine": true,
                    "type": "text",
                    "label": "Theme",
                    "help": "Apply a custom theme (if installed)",
                    "helpLink": "https://github.com/node-red-contrib-themes/theme-collection",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4
                }
            }
        },
        "_environment": {
            "type": "panel",
            "label": "Environment",
            "icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NzYgNTEyIj4KICAgIDxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTI4Mi42IDc4LjFjOC0yNy4zIDMzLTQ2LjEgNjEuNC00Ni4xSDU0NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkgzNDRMMjM4LjcgNDU3Yy0zLjYgMTIuMy0xNC4xIDIxLjItMjYuOCAyMi44cy0yNS4xLTQuNi0zMS41LTE1LjZMNzcuNiAyODhIMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJINzcuNmMyMi44IDAgNDMuOCAxMi4xIDU1LjMgMzEuOGw2NS4yIDExMS44TDI4Mi42IDc4LjF6TTM5My40IDIzMy40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwTDQ4MCAyNzQuN2w0MS40LTQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0w1MjUuMyAzMjBsNDEuNCA0MS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDQ4MCAzNjUuM2wtNDEuNCA0MS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w0MzQuNyAzMjBsLTQxLjQtNDEuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6Ii8+Cjwvc3ZnPg==",
            "items": {
                "envVars": {
                    "newLine": true,
                    "type": "table",
                    "label": "Environment variables",
                    "items": [
                        {
                            "type": "text",
                            "attr": "name",
                            "width": "25%",
                            "title": {
                                "en": "Name",
                                "de": "Name",
                                "ru": "Имя",
                                "pt": "Nome",
                                "nl": "Naam",
                                "fr": "Nom",
                                "it": "Nome",
                                "es": "Nombre",
                                "pl": "Nazwa",
                                "uk": "Ім'я",
                                "zh-cn": "姓名"
                            },
                            "filter": true,
                            "sort": true,
                            "default": "CUSTOM"
                        },
                        {
                            "type": "text",
                            "attr": "value",
                            "width": "75%",
                            "title": {
                                "en": "Value",
                                "de": "Wert",
                                "ru": "Значение",
                                "pt": "Valor",
                                "nl": "Value",
                                "fr": "Valeur",
                                "it": "Valore",
                                "es": "Valor",
                                "pl": "Value",
                                "uk": "Ціна",
                                "zh-cn": "价值"
                            },
                            "filter": false,
                            "sort": false,
                            "default": ""
                        }
                    ],
                    "xs": 12,
                    "sm": 12,
                    "md": 12,
                    "lg": 12,
                    "xl": 12
                }
            }
        }
    }
}
