{
    "additionalProperties": false,
    "definitions": {
        "browser_statement": {
            "additionalProperties": false,
            "properties": {
                "name": {
                    "description": "Browser name, avoid using unnecessary English (e.g. prefer 'Chrome Android' over 'Chrome for Android').",
                    "type": "string"
                },
                "pref_url": {
                    "description": "URL of the page where feature flags can be changed (e.g. 'about:config' or 'chrome://flags').",
                    "type": "string"
                },
                "releases": {
                    "additionalProperties": {
                        "$ref": "#/definitions/release_statement"
                    },
                    "type": "object"
                }
            },
            "required": [
                "name",
                "releases"
            ],
            "type": "object"
        },
        "browsers": {
            "additionalProperties": false,
            "properties": {
                "chrome": {
                    "$ref": "#/definitions/browser_statement"
                },
                "chrome_android": {
                    "$ref": "#/definitions/browser_statement"
                },
                "edge": {
                    "$ref": "#/definitions/browser_statement"
                },
                "firefox": {
                    "$ref": "#/definitions/browser_statement"
                },
                "firefox_android": {
                    "$ref": "#/definitions/browser_statement"
                },
                "ie": {
                    "$ref": "#/definitions/browser_statement"
                },
                "nodejs": {
                    "$ref": "#/definitions/browser_statement"
                },
                "opera": {
                    "$ref": "#/definitions/browser_statement"
                },
                "opera_android": {
                    "$ref": "#/definitions/browser_statement"
                },
                "qq_android": {
                    "$ref": "#/definitions/browser_statement"
                },
                "safari": {
                    "$ref": "#/definitions/browser_statement"
                },
                "safari_ios": {
                    "$ref": "#/definitions/browser_statement"
                },
                "samsunginternet_android": {
                    "$ref": "#/definitions/browser_statement"
                },
                "uc_android": {
                    "$ref": "#/definitions/browser_statement"
                },
                "uc_chinese_android": {
                    "$ref": "#/definitions/browser_statement"
                },
                "webview_android": {
                    "$ref": "#/definitions/browser_statement"
                }
            },
            "type": "object"
        },
        "release_statement": {
            "additionalProperties": false,
            "properties": {
                "engine": {
                    "description": "Name of the browser's underlying engine.",
                    "enum": [
                        "Blink",
                        "EdgeHTML",
                        "Gecko",
                        "Presto",
                        "Trident",
                        "WebKit",
                        "V8"
                    ],
                    "type": "string"
                },
                "engine_version": {
                    "description": "Version of the engine corresponding to the browser version.",
                    "type": "string"
                },
                "release_date": {
                    "description": "Release date",
                    "format": "date",
                    "type": "string"
                },
                "release_notes": {
                    "description": "A link to the release notes or changelog for a given release.",
                    "format": "uri",
                    "type": "string"
                },
                "status": {
                    "description": "The status of the given browser release (e.g. current, retired, beta, nightly).",
                    "enum": [
                        "retired",
                        "current",
                        "exclusive",
                        "beta",
                        "nightly",
                        "esr",
                        "planned"
                    ],
                    "type": "string"
                }
            },
            "type": "object"
        }
    },
    "properties": {
        "browsers": {
            "$ref": "#/definitions/browsers"
        }
    },
    "type": "object"
}