{
  "type": "Program",
  "sourceType": "module",
  "body": [
    {
      "type": "IfStatement",
      "test": {
        "type": "UnaryExpression",
        "operator": "!",
        "argument": {
          "type": "Identifier",
          "name": "banana"
        },
        "prefix": true
      },
      "consequent": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "IfStatement",
            "test": {
              "type": "Identifier",
              "name": "foo"
            },
            "consequent": {
              "type": "BlockStatement",
              "body": [
                {
                  "type": "LogStatement",
                  "arguments": [
                    {
                      "type": "Literal",
                      "value": "Foo",
                      "raw": "'Foo'"
                    }
                  ]
                }
              ]
            },
            "alternate": {
              "type": "ElseIfStatement",
              "test": {
                "type": "Identifier",
                "name": "bar"
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "LogStatement",
                    "arguments": [
                      {
                        "type": "Literal",
                        "value": "Bar",
                        "raw": "'Bar'"
                      }
                    ]
                  }
                ]
              },
              "alternate": {
                "type": "ElseStatement",
                "consequent": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "LogStatement",
                      "arguments": [
                        {
                          "type": "Literal",
                          "value": "Bla",
                          "raw": "'Bla'"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        ]
      },
      "alternate": {
        "type": "ElseStatement",
        "consequent": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "LogStatement",
              "arguments": [
                {
                  "type": "Literal",
                  "value": "Banana",
                  "raw": "'Banana'"
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
