{
  "type": "File",
  "start": 0,
  "end": 14286,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 422,
      "column": 1
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 14286,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 422,
        "column": 1
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 737,
        "end": 763,
        "loc": {
          "start": {
            "line": 16,
            "column": 0
          },
          "end": {
            "line": 16,
            "column": 26
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 744,
            "end": 749,
            "loc": {
              "start": {
                "line": 16,
                "column": 7
              },
              "end": {
                "line": 16,
                "column": 12
              }
            },
            "local": {
              "type": "Identifier",
              "start": 744,
              "end": 749,
              "loc": {
                "start": {
                  "line": 16,
                  "column": 7
                },
                "end": {
                  "line": 16,
                  "column": 12
                },
                "identifierName": "React"
              },
              "name": "React",
              "leadingComments": null
            },
            "leadingComments": null
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 755,
          "end": 762,
          "loc": {
            "start": {
              "line": 16,
              "column": 18
            },
            "end": {
              "line": 16,
              "column": 25
            }
          },
          "extra": {
            "rawValue": "react",
            "raw": "'react'"
          },
          "value": "react"
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": " eslint no-plusplus: [\"error\", { \"allowForLoopAfterthoughts\": true }] ",
            "start": 0,
            "end": 74,
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 1,
                "column": 74
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * \n *  ██▓ ███▄    █  ██ ▄█▀     ██████  ██▓███   ██▓    ▄▄▄     ▄▄▄█████▓\n *  ▓██▒ ██ ▀█   █  ██▄█▒    ▒██    ▒ ▓██░  ██▒▓██▒   ▒████▄   ▓  ██▒ ▓▒\n *  ▒██▒▓██  ▀█ ██▒▓███▄░    ░ ▓██▄   ▓██░ ██▓▒▒██░   ▒██  ▀█▄ ▒ ▓██░ ▒░\n *  ░██░▓██▒  ▐▌██▒▓██ █▄      ▒   ██▒▒██▄█▓▒ ▒▒██░   ░██▄▄▄▄██░ ▓██▓ ░\n *  ░██░▒██░   ▓██░▒██▒ █▄   ▒██████▒▒▒██▒ ░  ░░██████▒▓█   ▓██▒ ▒██▒ ░\n *  ░▓  ░ ▒░   ▒ ▒ ▒ ▒▒ ▓▒   ▒ ▒▓▒ ▒ ░▒▓▒░ ░  ░░ ▒░▓  ░▒▒   ▓▒█░ ▒ ░░\n *  ▒ ░░ ░░   ░ ▒░░ ░▒ ▒░   ░ ░▒  ░ ░░▒ ░     ░ ░ ▒  ░ ▒   ▒▒ ░   ░\n *  ▒ ░   ░   ░ ░ ░ ░░ ░    ░  ░  ░  ░░         ░ ░    ░   ▒    ░\n *  ░           ░ ░  ░            ░               ░  ░     ░  ░\n * \n * LICENSE: MIT\n ",
            "start": 75,
            "end": 736,
            "loc": {
              "start": {
                "line": 2,
                "column": 0
              },
              "end": {
                "line": 15,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ImportDeclaration",
        "start": 764,
        "end": 836,
        "loc": {
          "start": {
            "line": 17,
            "column": 0
          },
          "end": {
            "line": 17,
            "column": 72
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 773,
            "end": 798,
            "loc": {
              "start": {
                "line": 17,
                "column": 9
              },
              "end": {
                "line": 17,
                "column": 34
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 773,
              "end": 798,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 9
                },
                "end": {
                  "line": 17,
                  "column": 34
                },
                "identifierName": "isClassOrComponentFactory"
              },
              "name": "isClassOrComponentFactory"
            },
            "local": {
              "type": "Identifier",
              "start": 773,
              "end": 798,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 9
                },
                "end": {
                  "line": 17,
                  "column": 34
                },
                "identifierName": "isClassOrComponentFactory"
              },
              "name": "isClassOrComponentFactory"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 806,
          "end": 835,
          "loc": {
            "start": {
              "line": 17,
              "column": 42
            },
            "end": {
              "line": 17,
              "column": 71
            }
          },
          "extra": {
            "rawValue": "../utils/isClassOrComponent",
            "raw": "'../utils/isClassOrComponent'"
          },
          "value": "../utils/isClassOrComponent"
        }
      },
      {
        "type": "VariableDeclaration",
        "start": 838,
        "end": 873,
        "loc": {
          "start": {
            "line": 19,
            "column": 0
          },
          "end": {
            "line": 19,
            "column": 35
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 844,
            "end": 872,
            "loc": {
              "start": {
                "line": 19,
                "column": 6
              },
              "end": {
                "line": 19,
                "column": 34
              }
            },
            "id": {
              "type": "Identifier",
              "start": 844,
              "end": 866,
              "loc": {
                "start": {
                  "line": 19,
                  "column": 6
                },
                "end": {
                  "line": 19,
                  "column": 28
                },
                "identifierName": "BLUR_DIRECTION_REVERSE"
              },
              "name": "BLUR_DIRECTION_REVERSE"
            },
            "init": {
              "type": "StringLiteral",
              "start": 869,
              "end": 872,
              "loc": {
                "start": {
                  "line": 19,
                  "column": 31
                },
                "end": {
                  "line": 19,
                  "column": 34
                }
              },
              "extra": {
                "rawValue": "<",
                "raw": "'<'"
              },
              "value": "<"
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 874,
        "end": 909,
        "loc": {
          "start": {
            "line": 20,
            "column": 0
          },
          "end": {
            "line": 20,
            "column": 35
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 880,
            "end": 908,
            "loc": {
              "start": {
                "line": 20,
                "column": 6
              },
              "end": {
                "line": 20,
                "column": 34
              }
            },
            "id": {
              "type": "Identifier",
              "start": 880,
              "end": 902,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 6
                },
                "end": {
                  "line": 20,
                  "column": 28
                },
                "identifierName": "BLUR_DIRECTION_FORWARD"
              },
              "name": "BLUR_DIRECTION_FORWARD"
            },
            "init": {
              "type": "StringLiteral",
              "start": 905,
              "end": 908,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 31
                },
                "end": {
                  "line": 20,
                  "column": 34
                }
              },
              "extra": {
                "rawValue": ">",
                "raw": "'>'"
              },
              "value": ">"
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 910,
        "end": 945,
        "loc": {
          "start": {
            "line": 21,
            "column": 0
          },
          "end": {
            "line": 21,
            "column": 35
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 916,
            "end": 944,
            "loc": {
              "start": {
                "line": 21,
                "column": 6
              },
              "end": {
                "line": 21,
                "column": 34
              }
            },
            "id": {
              "type": "Identifier",
              "start": 916,
              "end": 938,
              "loc": {
                "start": {
                  "line": 21,
                  "column": 6
                },
                "end": {
                  "line": 21,
                  "column": 28
                },
                "identifierName": "BLUR_DIRECTION_DEFAULT"
              },
              "name": "BLUR_DIRECTION_DEFAULT"
            },
            "init": {
              "type": "StringLiteral",
              "start": 941,
              "end": 944,
              "loc": {
                "start": {
                  "line": 21,
                  "column": 31
                },
                "end": {
                  "line": 21,
                  "column": 34
                }
              },
              "extra": {
                "rawValue": ">",
                "raw": "'>'"
              },
              "value": ">"
            }
          }
        ],
        "kind": "const",
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Defines the base class for controls, which are components with visual representation.\n ",
            "start": 947,
            "end": 1043,
            "loc": {
              "start": {
                "line": 23,
                "column": 0
              },
              "end": {
                "line": 25,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 1044,
        "end": 14286,
        "loc": {
          "start": {
            "line": 26,
            "column": 0
          },
          "end": {
            "line": 422,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 1059,
          "end": 14286,
          "loc": {
            "start": {
              "line": 26,
              "column": 15
            },
            "end": {
              "line": 422,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 1065,
            "end": 1072,
            "loc": {
              "start": {
                "line": 26,
                "column": 21
              },
              "end": {
                "line": 26,
                "column": 28
              },
              "identifierName": "Control"
            },
            "name": "Control",
            "leadingComments": null
          },
          "superClass": {
            "type": "MemberExpression",
            "start": 1081,
            "end": 1096,
            "loc": {
              "start": {
                "line": 26,
                "column": 37
              },
              "end": {
                "line": 26,
                "column": 52
              }
            },
            "object": {
              "type": "Identifier",
              "start": 1081,
              "end": 1086,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 37
                },
                "end": {
                  "line": 26,
                  "column": 42
                },
                "identifierName": "React"
              },
              "name": "React"
            },
            "property": {
              "type": "Identifier",
              "start": 1087,
              "end": 1096,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 43
                },
                "end": {
                  "line": 26,
                  "column": 52
                },
                "identifierName": "Component"
              },
              "name": "Component"
            },
            "computed": false
          },
          "body": {
            "type": "ClassBody",
            "start": 1097,
            "end": 14286,
            "loc": {
              "start": {
                "line": 26,
                "column": 53
              },
              "end": {
                "line": 422,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassProperty",
                "start": 1210,
                "end": 1671,
                "loc": {
                  "start": {
                    "line": 31,
                    "column": 4
                  },
                  "end": {
                    "line": 46,
                    "column": 6
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1217,
                  "end": 1231,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 11
                    },
                    "end": {
                      "line": 31,
                      "column": 25
                    },
                    "identifierName": "BLUR_DIRECTION"
                  },
                  "name": "BLUR_DIRECTION"
                },
                "value": {
                  "type": "ObjectExpression",
                  "start": 1234,
                  "end": 1670,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 28
                    },
                    "end": {
                      "line": 46,
                      "column": 5
                    }
                  },
                  "properties": [
                    {
                      "type": "ObjectProperty",
                      "start": 1367,
                      "end": 1398,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 39
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1367,
                        "end": 1374,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 8
                          },
                          "end": {
                            "line": 36,
                            "column": 15
                          },
                          "identifierName": "REVERSE"
                        },
                        "name": "REVERSE",
                        "leadingComments": null
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1376,
                        "end": 1398,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 17
                          },
                          "end": {
                            "line": 36,
                            "column": 39
                          },
                          "identifierName": "BLUR_DIRECTION_REVERSE"
                        },
                        "name": "BLUR_DIRECTION_REVERSE"
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * REVERSE indicates the next focused component will be the previous\n         * tab order.\n         ",
                          "start": 1244,
                          "end": 1358,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1527,
                      "end": 1558,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 39
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1527,
                        "end": 1534,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 15
                          },
                          "identifierName": "FORWARD"
                        },
                        "name": "FORWARD",
                        "leadingComments": null
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1536,
                        "end": 1558,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 17
                          },
                          "end": {
                            "line": 41,
                            "column": 39
                          },
                          "identifierName": "BLUR_DIRECTION_FORWARD"
                        },
                        "name": "BLUR_DIRECTION_FORWARD"
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * FORWARD indicates the next focused component will be the next\n         * tab order.\n         ",
                          "start": 1408,
                          "end": 1518,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1633,
                      "end": 1664,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 8
                        },
                        "end": {
                          "line": 45,
                          "column": 39
                        }
                      },
                      "method": false,
                      "shorthand": false,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1633,
                        "end": 1640,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 8
                          },
                          "end": {
                            "line": 45,
                            "column": 15
                          },
                          "identifierName": "DEFAULT"
                        },
                        "name": "DEFAULT",
                        "leadingComments": null
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1642,
                        "end": 1664,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 17
                          },
                          "end": {
                            "line": 45,
                            "column": 39
                          },
                          "identifierName": "BLUR_DIRECTION_DEFAULT"
                        },
                        "name": "BLUR_DIRECTION_DEFAULT"
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * DEFAULT direction is FORWARD.\n         ",
                          "start": 1568,
                          "end": 1624,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 11
                            }
                          }
                        }
                      ]
                    }
                  ]
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * BLUR_DIRECTION indicates the direction a onBlur() should\n     * move focus to next.\n     ",
                    "start": 1103,
                    "end": 1205,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 4
                      },
                      "end": {
                        "line": 30,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `Control` (if passed an object) or a class derived from\n     * `Control` (if passed a function) or a component derived from `Control`.\n     * \n     * @param {*} anyComponentOrClass Any valid React component or React component class or instance\n     * or derived component or class or instance.\n     * @return `true` if `anyComponentOrClass` validates, `false` otherwise.\n     ",
                    "start": 1681,
                    "end": 2177,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 4
                      },
                      "end": {
                        "line": 56,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2182,
                "end": 2299,
                "loc": {
                  "start": {
                    "line": 57,
                    "column": 4
                  },
                  "end": {
                    "line": 59,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2189,
                  "end": 2198,
                  "loc": {
                    "start": {
                      "line": 57,
                      "column": 11
                    },
                    "end": {
                      "line": 57,
                      "column": 20
                    },
                    "identifierName": "isControl"
                  },
                  "name": "isControl"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2199,
                    "end": 2218,
                    "loc": {
                      "start": {
                        "line": 57,
                        "column": 21
                      },
                      "end": {
                        "line": 57,
                        "column": 40
                      },
                      "identifierName": "anyComponentOrClass"
                    },
                    "name": "anyComponentOrClass"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2220,
                  "end": 2299,
                  "loc": {
                    "start": {
                      "line": 57,
                      "column": 42
                    },
                    "end": {
                      "line": 59,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2230,
                      "end": 2293,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 71
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2237,
                        "end": 2292,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 15
                          },
                          "end": {
                            "line": 58,
                            "column": 70
                          }
                        },
                        "callee": {
                          "type": "CallExpression",
                          "start": 2237,
                          "end": 2271,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 15
                            },
                            "end": {
                              "line": 58,
                              "column": 49
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2237,
                            "end": 2262,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 15
                              },
                              "end": {
                                "line": 58,
                                "column": 40
                              },
                              "identifierName": "isClassOrComponentFactory"
                            },
                            "name": "isClassOrComponentFactory"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2263,
                              "end": 2270,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 41
                                },
                                "end": {
                                  "line": 58,
                                  "column": 48
                                },
                                "identifierName": "Control"
                              },
                              "name": "Control"
                            }
                          ]
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2272,
                            "end": 2291,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 50
                              },
                              "end": {
                                "line": 58,
                                "column": 69
                              },
                              "identifierName": "anyComponentOrClass"
                            },
                            "name": "anyComponentOrClass"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `Control` (if passed an object) or a class derived from\n     * `Control` (if passed a function) or a component derived from `Control`.\n     * \n     * @param {*} anyComponentOrClass Any valid React component or React component class or instance\n     * or derived component or class or instance.\n     * @return `true` if `anyComponentOrClass` validates, `false` otherwise.\n     ",
                    "start": 1681,
                    "end": 2177,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 4
                      },
                      "end": {
                        "line": 56,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `React.Component` (if passed an object) or a class derived from\n     * `React.Component` (if passed a function) or a component derived from `React.Component`.\n     * \n     * @param {*} anyComponentOrClass Any valid React component or React component class or instance\n     * or derived component or class or instance.\n     * @return `true` if `anyComponentOrClass` validates, `false` otherwise.\n     ",
                    "start": 2305,
                    "end": 2825,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 4
                      },
                      "end": {
                        "line": 69,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2830,
                "end": 3224,
                "loc": {
                  "start": {
                    "line": 70,
                    "column": 4
                  },
                  "end": {
                    "line": 76,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2837,
                  "end": 2853,
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 11
                    },
                    "end": {
                      "line": 70,
                      "column": 27
                    },
                    "identifierName": "isReactComponent"
                  },
                  "name": "isReactComponent"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2854,
                    "end": 2873,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 28
                      },
                      "end": {
                        "line": 70,
                        "column": 47
                      },
                      "identifierName": "anyComponentOrClass"
                    },
                    "name": "anyComponentOrClass"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2875,
                  "end": 3224,
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 49
                    },
                    "end": {
                      "line": 76,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2885,
                      "end": 3218,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 57
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 2892,
                        "end": 3217,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 15
                          },
                          "end": {
                            "line": 75,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 2892,
                          "end": 3160,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 15
                            },
                            "end": {
                              "line": 74,
                              "column": 63
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 2892,
                            "end": 3038,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 15
                              },
                              "end": {
                                "line": 72,
                                "column": 82
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 2892,
                              "end": 2955,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 15
                                },
                                "end": {
                                  "line": 71,
                                  "column": 78
                                }
                              },
                              "callee": {
                                "type": "CallExpression",
                                "start": 2892,
                                "end": 2934,
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 57
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 2892,
                                  "end": 2917,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 40
                                    },
                                    "identifierName": "isClassOrComponentFactory"
                                  },
                                  "name": "isClassOrComponentFactory"
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 2918,
                                    "end": 2933,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 56
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2918,
                                      "end": 2923,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 46
                                        },
                                        "identifierName": "React"
                                      },
                                      "name": "React"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2924,
                                      "end": 2933,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 56
                                        },
                                        "identifierName": "Component"
                                      },
                                      "name": "Component"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 2935,
                                  "end": 2954,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 77
                                    },
                                    "identifierName": "anyComponentOrClass"
                                  },
                                  "name": "anyComponentOrClass"
                                }
                              ]
                            },
                            "operator": "||",
                            "right": {
                              "type": "CallExpression",
                              "start": 2971,
                              "end": 3038,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 15
                                },
                                "end": {
                                  "line": 72,
                                  "column": 82
                                }
                              },
                              "callee": {
                                "type": "CallExpression",
                                "start": 2971,
                                "end": 3017,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 61
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 2971,
                                  "end": 2996,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 40
                                    },
                                    "identifierName": "isClassOrComponentFactory"
                                  },
                                  "name": "isClassOrComponentFactory"
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 2997,
                                    "end": 3016,
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 60
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2997,
                                      "end": 3002,
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 46
                                        },
                                        "identifierName": "React"
                                      },
                                      "name": "React"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3003,
                                      "end": 3016,
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 60
                                        },
                                        "identifierName": "PureComponent"
                                      },
                                      "name": "PureComponent"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 3018,
                                  "end": 3037,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 81
                                    },
                                    "identifierName": "anyComponentOrClass"
                                  },
                                  "name": "anyComponentOrClass"
                                }
                              ]
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "LogicalExpression",
                            "start": 3055,
                            "end": 3159,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 16
                              },
                              "end": {
                                "line": 74,
                                "column": 62
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 3055,
                              "end": 3096,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 16
                                },
                                "end": {
                                  "line": 73,
                                  "column": 57
                                }
                              },
                              "left": {
                                "type": "UnaryExpression",
                                "start": 3055,
                                "end": 3081,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 42
                                  }
                                },
                                "operator": "typeof",
                                "prefix": true,
                                "argument": {
                                  "type": "Identifier",
                                  "start": 3062,
                                  "end": 3081,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 42
                                    },
                                    "identifierName": "anyComponentOrClass"
                                  },
                                  "name": "anyComponentOrClass"
                                },
                                "extra": {
                                  "parenthesizedArgument": false
                                }
                              },
                              "operator": "===",
                              "right": {
                                "type": "StringLiteral",
                                "start": 3086,
                                "end": 3096,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 57
                                  }
                                },
                                "extra": {
                                  "rawValue": "function",
                                  "raw": "'function'"
                                },
                                "value": "function"
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "CallExpression",
                              "start": 3116,
                              "end": 3159,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 19
                                },
                                "end": {
                                  "line": 74,
                                  "column": 62
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3116,
                                "end": 3136,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3116,
                                  "end": 3121,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 24
                                    },
                                    "identifierName": "React"
                                  },
                                  "name": "React"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3122,
                                  "end": 3136,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 39
                                    },
                                    "identifierName": "isValidElement"
                                  },
                                  "name": "isValidElement"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 3137,
                                  "end": 3158,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 61
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 3137,
                                    "end": 3156,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 59
                                      },
                                      "identifierName": "anyComponentOrClass"
                                    },
                                    "name": "anyComponentOrClass"
                                  },
                                  "arguments": []
                                }
                              ]
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 3054
                            }
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "CallExpression",
                          "start": 3176,
                          "end": 3217,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 15
                            },
                            "end": {
                              "line": 75,
                              "column": 56
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3176,
                            "end": 3196,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 15
                              },
                              "end": {
                                "line": 75,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3176,
                              "end": 3181,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 15
                                },
                                "end": {
                                  "line": 75,
                                  "column": 20
                                },
                                "identifierName": "React"
                              },
                              "name": "React"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3182,
                              "end": 3196,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 21
                                },
                                "end": {
                                  "line": 75,
                                  "column": 35
                                },
                                "identifierName": "isValidElement"
                              },
                              "name": "isValidElement"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3197,
                              "end": 3216,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 36
                                },
                                "end": {
                                  "line": 75,
                                  "column": 55
                                },
                                "identifierName": "anyComponentOrClass"
                              },
                              "name": "anyComponentOrClass"
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `React.Component` (if passed an object) or a class derived from\n     * `React.Component` (if passed a function) or a component derived from `React.Component`.\n     * \n     * @param {*} anyComponentOrClass Any valid React component or React component class or instance\n     * or derived component or class or instance.\n     * @return `true` if `anyComponentOrClass` validates, `false` otherwise.\n     ",
                    "start": 2305,
                    "end": 2825,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 4
                      },
                      "end": {
                        "line": 69,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Checks a React component to see if it has any children in props.\n     * \n     * @param {*} component A proposed React component to inspect.\n     ",
                    "start": 3230,
                    "end": 3388,
                    "loc": {
                      "start": {
                        "line": 78,
                        "column": 4
                      },
                      "end": {
                        "line": 82,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3393,
                "end": 3700,
                "loc": {
                  "start": {
                    "line": 83,
                    "column": 4
                  },
                  "end": {
                    "line": 89,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3400,
                  "end": 3420,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 11
                    },
                    "end": {
                      "line": 83,
                      "column": 31
                    },
                    "identifierName": "componentHasChildren"
                  },
                  "name": "componentHasChildren"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3421,
                    "end": 3430,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 32
                      },
                      "end": {
                        "line": 83,
                        "column": 41
                      },
                      "identifierName": "component"
                    },
                    "name": "component"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3432,
                  "end": 3700,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 43
                    },
                    "end": {
                      "line": 89,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 3442,
                      "end": 3694,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 8
                        },
                        "end": {
                          "line": 88,
                          "column": 52
                        }
                      },
                      "argument": {
                        "type": "UnaryExpression",
                        "start": 3449,
                        "end": 3693,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 15
                          },
                          "end": {
                            "line": 88,
                            "column": 51
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "UnaryExpression",
                          "start": 3450,
                          "end": 3693,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 16
                            },
                            "end": {
                              "line": 88,
                              "column": 51
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "LogicalExpression",
                            "start": 3452,
                            "end": 3692,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 18
                              },
                              "end": {
                                "line": 88,
                                "column": 50
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 3452,
                              "end": 3641,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 18
                                },
                                "end": {
                                  "line": 87,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 3452,
                                "end": 3586,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 53
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 3452,
                                  "end": 3532,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 44
                                    }
                                  },
                                  "left": {
                                    "type": "CallExpression",
                                    "start": 3452,
                                    "end": 3487,
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 53
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3452,
                                      "end": 3476,
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3452,
                                        "end": 3459,
                                        "loc": {
                                          "start": {
                                            "line": 84,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 84,
                                            "column": 25
                                          },
                                          "identifierName": "Control"
                                        },
                                        "name": "Control"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3460,
                                        "end": 3476,
                                        "loc": {
                                          "start": {
                                            "line": 84,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 84,
                                            "column": 42
                                          },
                                          "identifierName": "isReactComponent"
                                        },
                                        "name": "isReactComponent"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 3477,
                                        "end": 3486,
                                        "loc": {
                                          "start": {
                                            "line": 84,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 84,
                                            "column": 52
                                          },
                                          "identifierName": "component"
                                        },
                                        "name": "component"
                                      }
                                    ]
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 3503,
                                    "end": 3532,
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 44
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 3503,
                                      "end": 3518,
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3503,
                                        "end": 3512,
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 24
                                          },
                                          "identifierName": "component"
                                        },
                                        "name": "component"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3513,
                                        "end": 3518,
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 30
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "computed": false
                                    },
                                    "operator": "!==",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 3523,
                                      "end": 3532,
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 44
                                        },
                                        "identifierName": "undefined"
                                      },
                                      "name": "undefined"
                                    }
                                  }
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 3548,
                                  "end": 3586,
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 53
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 3548,
                                    "end": 3572,
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 3548,
                                      "end": 3563,
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3548,
                                        "end": 3557,
                                        "loc": {
                                          "start": {
                                            "line": 86,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 86,
                                            "column": 24
                                          },
                                          "identifierName": "component"
                                        },
                                        "name": "component"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3558,
                                        "end": 3563,
                                        "loc": {
                                          "start": {
                                            "line": 86,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 86,
                                            "column": 30
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3564,
                                      "end": 3572,
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 39
                                        },
                                        "identifierName": "children"
                                      },
                                      "name": "children"
                                    },
                                    "computed": false
                                  },
                                  "operator": "!==",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 3577,
                                    "end": 3586,
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 53
                                      },
                                      "identifierName": "undefined"
                                    },
                                    "name": "undefined"
                                  }
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 3602,
                                "end": 3641,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3602,
                                  "end": 3615,
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3602,
                                    "end": 3607,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 20
                                      },
                                      "identifierName": "Array"
                                    },
                                    "name": "Array"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3608,
                                    "end": 3615,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 28
                                      },
                                      "identifierName": "isArray"
                                    },
                                    "name": "isArray"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 3616,
                                    "end": 3640,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 3616,
                                      "end": 3631,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 44
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3616,
                                        "end": 3625,
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 38
                                          },
                                          "identifierName": "component"
                                        },
                                        "name": "component"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3626,
                                        "end": 3631,
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 44
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3632,
                                      "end": 3640,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 53
                                        },
                                        "identifierName": "children"
                                      },
                                      "name": "children"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 3657,
                              "end": 3692,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 15
                                },
                                "end": {
                                  "line": 88,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 3657,
                                "end": 3688,
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 3657,
                                  "end": 3681,
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3657,
                                    "end": 3672,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3657,
                                      "end": 3666,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 24
                                        },
                                        "identifierName": "component"
                                      },
                                      "name": "component"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3667,
                                      "end": 3672,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 30
                                        },
                                        "identifierName": "props"
                                      },
                                      "name": "props"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3673,
                                    "end": 3681,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 39
                                      },
                                      "identifierName": "children"
                                    },
                                    "name": "children"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3682,
                                  "end": 3688,
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 46
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              },
                              "operator": ">",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 3691,
                                "end": 3692,
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 50
                                  }
                                },
                                "extra": {
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "value": 0
                              }
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 3451
                            }
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Checks a React component to see if it has any children in props.\n     * \n     * @param {*} component A proposed React component to inspect.\n     ",
                    "start": 3230,
                    "end": 3388,
                    "loc": {
                      "start": {
                        "line": 78,
                        "column": 4
                      },
                      "end": {
                        "line": 82,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * \n     * @param {*} controlOrComponent \n     ",
                    "start": 3710,
                    "end": 3767,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 4
                      },
                      "end": {
                        "line": 94,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3772,
                "end": 4642,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 4
                  },
                  "end": {
                    "line": 115,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3779,
                  "end": 3802,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 11
                    },
                    "end": {
                      "line": 95,
                      "column": 34
                    },
                    "identifierName": "firstFocusableControlOf"
                  },
                  "name": "firstFocusableControlOf"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3803,
                    "end": 3821,
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 35
                      },
                      "end": {
                        "line": 95,
                        "column": 53
                      },
                      "identifierName": "controlOrComponent"
                    },
                    "name": "controlOrComponent"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3823,
                  "end": 4642,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 55
                    },
                    "end": {
                      "line": 115,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 3833,
                      "end": 4615,
                      "loc": {
                        "start": {
                          "line": 96,
                          "column": 8
                        },
                        "end": {
                          "line": 113,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 3837,
                        "end": 3885,
                        "loc": {
                          "start": {
                            "line": 96,
                            "column": 12
                          },
                          "end": {
                            "line": 96,
                            "column": 60
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3837,
                          "end": 3865,
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 12
                            },
                            "end": {
                              "line": 96,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3837,
                            "end": 3844,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 12
                              },
                              "end": {
                                "line": 96,
                                "column": 19
                              },
                              "identifierName": "Control"
                            },
                            "name": "Control"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3845,
                            "end": 3865,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 20
                              },
                              "end": {
                                "line": 96,
                                "column": 40
                              },
                              "identifierName": "componentHasChildren"
                            },
                            "name": "componentHasChildren"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 3866,
                            "end": 3884,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 41
                              },
                              "end": {
                                "line": 96,
                                "column": 59
                              },
                              "identifierName": "controlOrComponent"
                            },
                            "name": "controlOrComponent"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3887,
                        "end": 4615,
                        "loc": {
                          "start": {
                            "line": 96,
                            "column": 62
                          },
                          "end": {
                            "line": 113,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 3901,
                            "end": 3947,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 12
                              },
                              "end": {
                                "line": 97,
                                "column": 58
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 3907,
                                "end": 3946,
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 57
                                  }
                                },
                                "id": {
                                  "type": "ObjectPattern",
                                  "start": 3907,
                                  "end": 3919,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 30
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "ObjectProperty",
                                      "start": 3909,
                                      "end": 3917,
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 28
                                        }
                                      },
                                      "method": false,
                                      "shorthand": true,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 3909,
                                        "end": 3917,
                                        "loc": {
                                          "start": {
                                            "line": 97,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 97,
                                            "column": 28
                                          },
                                          "identifierName": "children"
                                        },
                                        "name": "children"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 3909,
                                        "end": 3917,
                                        "loc": {
                                          "start": {
                                            "line": 97,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 97,
                                            "column": 28
                                          },
                                          "identifierName": "children"
                                        },
                                        "name": "children"
                                      },
                                      "extra": {
                                        "shorthand": true
                                      }
                                    }
                                  ]
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 3922,
                                  "end": 3946,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3922,
                                    "end": 3940,
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 51
                                      },
                                      "identifierName": "controlOrComponent"
                                    },
                                    "name": "controlOrComponent"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3941,
                                    "end": 3946,
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 57
                                      },
                                      "identifierName": "props"
                                    },
                                    "name": "props"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "const"
                          },
                          {
                            "type": "ForStatement",
                            "start": 3960,
                            "end": 4605,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 12
                              },
                              "end": {
                                "line": 112,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 3965,
                              "end": 3974,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 17
                                },
                                "end": {
                                  "line": 98,
                                  "column": 26
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 3969,
                                  "end": 3974,
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 98,
                                      "column": 26
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 3969,
                                    "end": 3970,
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 22
                                      },
                                      "identifierName": "c"
                                    },
                                    "name": "c"
                                  },
                                  "init": {
                                    "type": "NumericLiteral",
                                    "start": 3973,
                                    "end": 3974,
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 26
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  }
                                }
                              ],
                              "kind": "let"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 3976,
                              "end": 3995,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 28
                                },
                                "end": {
                                  "line": 98,
                                  "column": 47
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 3976,
                                "end": 3977,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 29
                                  },
                                  "identifierName": "c"
                                },
                                "name": "c"
                              },
                              "operator": "<",
                              "right": {
                                "type": "MemberExpression",
                                "start": 3980,
                                "end": 3995,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3980,
                                  "end": 3988,
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 98,
                                      "column": 40
                                    },
                                    "identifierName": "children"
                                  },
                                  "name": "children"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3989,
                                  "end": 3995,
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 98,
                                      "column": 47
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 3997,
                              "end": 4000,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 49
                                },
                                "end": {
                                  "line": 98,
                                  "column": 52
                                }
                              },
                              "operator": "++",
                              "prefix": false,
                              "argument": {
                                "type": "Identifier",
                                "start": 3997,
                                "end": 3998,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 50
                                  },
                                  "identifierName": "c"
                                },
                                "name": "c"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 4002,
                              "end": 4605,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 54
                                },
                                "end": {
                                  "line": 112,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 4020,
                                  "end": 4046,
                                  "loc": {
                                    "start": {
                                      "line": 99,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 99,
                                      "column": 42
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 4026,
                                      "end": 4045,
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 41
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 4026,
                                        "end": 4031,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 27
                                          },
                                          "identifierName": "child"
                                        },
                                        "name": "child"
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 4034,
                                        "end": 4045,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4034,
                                          "end": 4042,
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 38
                                            },
                                            "identifierName": "children"
                                          },
                                          "name": "children"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4043,
                                          "end": 4044,
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 40
                                            },
                                            "identifierName": "c"
                                          },
                                          "name": "c"
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "const"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 4063,
                                  "end": 4591,
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "CallExpression",
                                    "start": 4067,
                                    "end": 4091,
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 44
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4067,
                                      "end": 4084,
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4067,
                                        "end": 4074,
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 27
                                          },
                                          "identifierName": "Control"
                                        },
                                        "name": "Control"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4075,
                                        "end": 4084,
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 37
                                          },
                                          "identifierName": "isControl"
                                        },
                                        "name": "isControl"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 4085,
                                        "end": 4090,
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 43
                                          },
                                          "identifierName": "child"
                                        },
                                        "name": "child"
                                      }
                                    ]
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 4093,
                                    "end": 4216,
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "start": 4115,
                                        "end": 4198,
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 21
                                          }
                                        },
                                        "test": {
                                          "type": "CallExpression",
                                          "start": 4119,
                                          "end": 4135,
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 40
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 4119,
                                            "end": 4133,
                                            "loc": {
                                              "start": {
                                                "line": 101,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 38
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 4119,
                                              "end": 4124,
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 29
                                                },
                                                "identifierName": "child"
                                              },
                                              "name": "child"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4125,
                                              "end": 4133,
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 38
                                                },
                                                "identifierName": "canFocus"
                                              },
                                              "name": "canFocus"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "start": 4137,
                                          "end": 4198,
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 21
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ReturnStatement",
                                              "start": 4163,
                                              "end": 4176,
                                              "loc": {
                                                "start": {
                                                  "line": 102,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 102,
                                                  "column": 37
                                                }
                                              },
                                              "argument": {
                                                "type": "Identifier",
                                                "start": 4170,
                                                "end": 4175,
                                                "loc": {
                                                  "start": {
                                                    "line": 102,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 102,
                                                    "column": 36
                                                  },
                                                  "identifierName": "child"
                                                },
                                                "name": "child"
                                              }
                                            }
                                          ],
                                          "directives": []
                                        },
                                        "alternate": null
                                      }
                                    ],
                                    "directives": []
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "start": 4238,
                                    "end": 4591,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 17
                                      }
                                    },
                                    "test": {
                                      "type": "CallExpression",
                                      "start": 4242,
                                      "end": 4273,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 56
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4242,
                                        "end": 4266,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4242,
                                          "end": 4249,
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 32
                                            },
                                            "identifierName": "Control"
                                          },
                                          "name": "Control"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4250,
                                          "end": 4266,
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 49
                                            },
                                            "identifierName": "isReactComponent"
                                          },
                                          "name": "isReactComponent"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4267,
                                          "end": 4272,
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 55
                                            },
                                            "identifierName": "child"
                                          },
                                          "name": "child"
                                        }
                                      ]
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 4275,
                                      "end": 4591,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 17
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "start": 4371,
                                          "end": 4440,
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 89
                                            }
                                          },
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "start": 4377,
                                              "end": 4439,
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 88
                                                }
                                              },
                                              "id": {
                                                "type": "Identifier",
                                                "start": 4377,
                                                "end": 4398,
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 47
                                                  },
                                                  "identifierName": "firstFocusableInChild"
                                                },
                                                "name": "firstFocusableInChild",
                                                "leadingComments": null
                                              },
                                              "init": {
                                                "type": "CallExpression",
                                                "start": 4401,
                                                "end": 4439,
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 88
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 4401,
                                                  "end": 4432,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 81
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 4401,
                                                    "end": 4408,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 57
                                                      },
                                                      "identifierName": "Control"
                                                    },
                                                    "name": "Control"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4409,
                                                    "end": 4432,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 81
                                                      },
                                                      "identifierName": "firstFocusableControlOf"
                                                    },
                                                    "name": "firstFocusableControlOf"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 4433,
                                                    "end": 4438,
                                                    "loc": {
                                                      "start": {
                                                        "line": 107,
                                                        "column": 82
                                                      },
                                                      "end": {
                                                        "line": 107,
                                                        "column": 87
                                                      },
                                                      "identifierName": "child"
                                                    },
                                                    "name": "child"
                                                  }
                                                ]
                                              },
                                              "leadingComments": null
                                            }
                                          ],
                                          "kind": "const",
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": " recursive call into firstFocusableControlOf(child)",
                                              "start": 4297,
                                              "end": 4350,
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 73
                                                }
                                              }
                                            }
                                          ]
                                        },
                                        {
                                          "type": "IfStatement",
                                          "start": 4461,
                                          "end": 4573,
                                          "loc": {
                                            "start": {
                                              "line": 108,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 21
                                            }
                                          },
                                          "test": {
                                            "type": "BinaryExpression",
                                            "start": 4465,
                                            "end": 4494,
                                            "loc": {
                                              "start": {
                                                "line": 108,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 108,
                                                "column": 53
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 4465,
                                              "end": 4486,
                                              "loc": {
                                                "start": {
                                                  "line": 108,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 108,
                                                  "column": 45
                                                },
                                                "identifierName": "firstFocusableInChild"
                                              },
                                              "name": "firstFocusableInChild"
                                            },
                                            "operator": "!=",
                                            "right": {
                                              "type": "NullLiteral",
                                              "start": 4490,
                                              "end": 4494,
                                              "loc": {
                                                "start": {
                                                  "line": 108,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 108,
                                                  "column": 53
                                                }
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "start": 4496,
                                            "end": 4573,
                                            "loc": {
                                              "start": {
                                                "line": 108,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 110,
                                                "column": 21
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ReturnStatement",
                                                "start": 4522,
                                                "end": 4551,
                                                "loc": {
                                                  "start": {
                                                    "line": 109,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 109,
                                                    "column": 53
                                                  }
                                                },
                                                "argument": {
                                                  "type": "Identifier",
                                                  "start": 4529,
                                                  "end": 4550,
                                                  "loc": {
                                                    "start": {
                                                      "line": 109,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 109,
                                                      "column": 52
                                                    },
                                                    "identifierName": "firstFocusableInChild"
                                                  },
                                                  "name": "firstFocusableInChild"
                                                }
                                              }
                                            ],
                                            "directives": []
                                          },
                                          "alternate": null
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4624,
                      "end": 4636,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 114,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "NullLiteral",
                        "start": 4631,
                        "end": 4635,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 15
                          },
                          "end": {
                            "line": 114,
                            "column": 19
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * \n     * @param {*} controlOrComponent \n     ",
                    "start": 3710,
                    "end": 3767,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 4
                      },
                      "end": {
                        "line": 94,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 4648,
                "end": 4692,
                "loc": {
                  "start": {
                    "line": 117,
                    "column": 4
                  },
                  "end": {
                    "line": 119,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4655,
                  "end": 4673,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 11
                    },
                    "end": {
                      "line": 117,
                      "column": 29
                    },
                    "identifierName": "prevFocusableChild"
                  },
                  "name": "prevFocusableChild"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4676,
                  "end": 4692,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 32
                    },
                    "end": {
                      "line": 119,
                      "column": 5
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * \n     ",
                    "start": 4698,
                    "end": 4717,
                    "loc": {
                      "start": {
                        "line": 121,
                        "column": 4
                      },
                      "end": {
                        "line": 123,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 4722,
                "end": 4766,
                "loc": {
                  "start": {
                    "line": 124,
                    "column": 4
                  },
                  "end": {
                    "line": 126,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4729,
                  "end": 4747,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 11
                    },
                    "end": {
                      "line": 124,
                      "column": 29
                    },
                    "identifierName": "nextFocusableChild"
                  },
                  "name": "nextFocusableChild"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4750,
                  "end": 4766,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 32
                    },
                    "end": {
                      "line": 126,
                      "column": 5
                    }
                  },
                  "body": [],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * \n     ",
                    "start": 4698,
                    "end": 4717,
                    "loc": {
                      "start": {
                        "line": 121,
                        "column": 4
                      },
                      "end": {
                        "line": 123,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 4780,
                "end": 5649,
                "loc": {
                  "start": {
                    "line": 128,
                    "column": 4
                  },
                  "end": {
                    "line": 148,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4787,
                  "end": 4805,
                  "loc": {
                    "start": {
                      "line": 128,
                      "column": 11
                    },
                    "end": {
                      "line": 128,
                      "column": 29
                    },
                    "identifierName": "lastFocusableChild"
                  },
                  "name": "lastFocusableChild"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4806,
                    "end": 4824,
                    "loc": {
                      "start": {
                        "line": 128,
                        "column": 30
                      },
                      "end": {
                        "line": 128,
                        "column": 48
                      },
                      "identifierName": "controlOrComponent"
                    },
                    "name": "controlOrComponent"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4826,
                  "end": 5649,
                  "loc": {
                    "start": {
                      "line": 128,
                      "column": 50
                    },
                    "end": {
                      "line": 148,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 4836,
                      "end": 5622,
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 8
                        },
                        "end": {
                          "line": 146,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 4840,
                        "end": 4888,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 12
                          },
                          "end": {
                            "line": 129,
                            "column": 60
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4840,
                          "end": 4868,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 12
                            },
                            "end": {
                              "line": 129,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4840,
                            "end": 4847,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 12
                              },
                              "end": {
                                "line": 129,
                                "column": 19
                              },
                              "identifierName": "Control"
                            },
                            "name": "Control"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4848,
                            "end": 4868,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 20
                              },
                              "end": {
                                "line": 129,
                                "column": 40
                              },
                              "identifierName": "componentHasChildren"
                            },
                            "name": "componentHasChildren"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4869,
                            "end": 4887,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 41
                              },
                              "end": {
                                "line": 129,
                                "column": 59
                              },
                              "identifierName": "controlOrComponent"
                            },
                            "name": "controlOrComponent"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4890,
                        "end": 5622,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 62
                          },
                          "end": {
                            "line": 146,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 4904,
                            "end": 4950,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 58
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 4910,
                                "end": 4949,
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 130,
                                    "column": 57
                                  }
                                },
                                "id": {
                                  "type": "ObjectPattern",
                                  "start": 4910,
                                  "end": 4922,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 30
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "ObjectProperty",
                                      "start": 4912,
                                      "end": 4920,
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 28
                                        }
                                      },
                                      "method": false,
                                      "shorthand": true,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 4912,
                                        "end": 4920,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 28
                                          },
                                          "identifierName": "children"
                                        },
                                        "name": "children"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 4912,
                                        "end": 4920,
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 28
                                          },
                                          "identifierName": "children"
                                        },
                                        "name": "children"
                                      },
                                      "extra": {
                                        "shorthand": true
                                      }
                                    }
                                  ]
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 4925,
                                  "end": 4949,
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4925,
                                    "end": 4943,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 51
                                      },
                                      "identifierName": "controlOrComponent"
                                    },
                                    "name": "controlOrComponent"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4944,
                                    "end": 4949,
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 57
                                      },
                                      "identifierName": "props"
                                    },
                                    "name": "props"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "const"
                          },
                          {
                            "type": "ForStatement",
                            "start": 4963,
                            "end": 5612,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 12
                              },
                              "end": {
                                "line": 145,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 4968,
                              "end": 4977,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 17
                                },
                                "end": {
                                  "line": 131,
                                  "column": 26
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 4972,
                                  "end": 4977,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 26
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 4972,
                                    "end": 4973,
                                    "loc": {
                                      "start": {
                                        "line": 131,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 131,
                                        "column": 22
                                      },
                                      "identifierName": "c"
                                    },
                                    "name": "c"
                                  },
                                  "init": {
                                    "type": "NumericLiteral",
                                    "start": 4976,
                                    "end": 4977,
                                    "loc": {
                                      "start": {
                                        "line": 131,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 131,
                                        "column": 26
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  }
                                }
                              ],
                              "kind": "let"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 4979,
                              "end": 4998,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 28
                                },
                                "end": {
                                  "line": 131,
                                  "column": 47
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 4979,
                                "end": 4980,
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 29
                                  },
                                  "identifierName": "c"
                                },
                                "name": "c"
                              },
                              "operator": "<",
                              "right": {
                                "type": "MemberExpression",
                                "start": 4983,
                                "end": 4998,
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4983,
                                  "end": 4991,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 40
                                    },
                                    "identifierName": "children"
                                  },
                                  "name": "children"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4992,
                                  "end": 4998,
                                  "loc": {
                                    "start": {
                                      "line": 131,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 47
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 5000,
                              "end": 5003,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 49
                                },
                                "end": {
                                  "line": 131,
                                  "column": 52
                                }
                              },
                              "operator": "++",
                              "prefix": false,
                              "argument": {
                                "type": "Identifier",
                                "start": 5000,
                                "end": 5001,
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 50
                                  },
                                  "identifierName": "c"
                                },
                                "name": "c"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 5005,
                              "end": 5612,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 54
                                },
                                "end": {
                                  "line": 145,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 5023,
                                  "end": 5053,
                                  "loc": {
                                    "start": {
                                      "line": 132,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 132,
                                      "column": 46
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 5029,
                                      "end": 5052,
                                      "loc": {
                                        "start": {
                                          "line": 132,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 132,
                                          "column": 45
                                        }
                                      },
                                      "id": {
                                        "type": "ObjectPattern",
                                        "start": 5029,
                                        "end": 5038,
                                        "loc": {
                                          "start": {
                                            "line": 132,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 132,
                                            "column": 31
                                          }
                                        },
                                        "properties": [
                                          {
                                            "type": "ObjectProperty",
                                            "start": 5031,
                                            "end": 5036,
                                            "loc": {
                                              "start": {
                                                "line": 132,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 132,
                                                "column": 29
                                              }
                                            },
                                            "method": false,
                                            "shorthand": true,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 5031,
                                              "end": 5036,
                                              "loc": {
                                                "start": {
                                                  "line": 132,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 132,
                                                  "column": 29
                                                },
                                                "identifierName": "child"
                                              },
                                              "name": "child"
                                            },
                                            "value": {
                                              "type": "Identifier",
                                              "start": 5031,
                                              "end": 5036,
                                              "loc": {
                                                "start": {
                                                  "line": 132,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 132,
                                                  "column": 29
                                                },
                                                "identifierName": "child"
                                              },
                                              "name": "child"
                                            },
                                            "extra": {
                                              "shorthand": true
                                            }
                                          }
                                        ]
                                      },
                                      "init": {
                                        "type": "MemberExpression",
                                        "start": 5041,
                                        "end": 5052,
                                        "loc": {
                                          "start": {
                                            "line": 132,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 132,
                                            "column": 45
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 5041,
                                          "end": 5049,
                                          "loc": {
                                            "start": {
                                              "line": 132,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 132,
                                              "column": 42
                                            },
                                            "identifierName": "children"
                                          },
                                          "name": "children"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5050,
                                          "end": 5051,
                                          "loc": {
                                            "start": {
                                              "line": 132,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 132,
                                              "column": 44
                                            },
                                            "identifierName": "c"
                                          },
                                          "name": "c"
                                        },
                                        "computed": true
                                      }
                                    }
                                  ],
                                  "kind": "const"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 5070,
                                  "end": 5598,
                                  "loc": {
                                    "start": {
                                      "line": 133,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "CallExpression",
                                    "start": 5074,
                                    "end": 5098,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 44
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 5074,
                                      "end": 5091,
                                      "loc": {
                                        "start": {
                                          "line": 133,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 133,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 5074,
                                        "end": 5081,
                                        "loc": {
                                          "start": {
                                            "line": 133,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 133,
                                            "column": 27
                                          },
                                          "identifierName": "Control"
                                        },
                                        "name": "Control"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5082,
                                        "end": 5091,
                                        "loc": {
                                          "start": {
                                            "line": 133,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 133,
                                            "column": 37
                                          },
                                          "identifierName": "isControl"
                                        },
                                        "name": "isControl"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 5092,
                                        "end": 5097,
                                        "loc": {
                                          "start": {
                                            "line": 133,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 133,
                                            "column": 43
                                          },
                                          "identifierName": "child"
                                        },
                                        "name": "child"
                                      }
                                    ]
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 5100,
                                    "end": 5223,
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "start": 5122,
                                        "end": 5205,
                                        "loc": {
                                          "start": {
                                            "line": 134,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 21
                                          }
                                        },
                                        "test": {
                                          "type": "CallExpression",
                                          "start": 5126,
                                          "end": 5142,
                                          "loc": {
                                            "start": {
                                              "line": 134,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 134,
                                              "column": 40
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 5126,
                                            "end": 5140,
                                            "loc": {
                                              "start": {
                                                "line": 134,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 134,
                                                "column": 38
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 5126,
                                              "end": 5131,
                                              "loc": {
                                                "start": {
                                                  "line": 134,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 29
                                                },
                                                "identifierName": "child"
                                              },
                                              "name": "child"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 5132,
                                              "end": 5140,
                                              "loc": {
                                                "start": {
                                                  "line": 134,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 38
                                                },
                                                "identifierName": "canFocus"
                                              },
                                              "name": "canFocus"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "start": 5144,
                                          "end": 5205,
                                          "loc": {
                                            "start": {
                                              "line": 134,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 21
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ReturnStatement",
                                              "start": 5170,
                                              "end": 5183,
                                              "loc": {
                                                "start": {
                                                  "line": 135,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 135,
                                                  "column": 37
                                                }
                                              },
                                              "argument": {
                                                "type": "Identifier",
                                                "start": 5177,
                                                "end": 5182,
                                                "loc": {
                                                  "start": {
                                                    "line": 135,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 135,
                                                    "column": 36
                                                  },
                                                  "identifierName": "child"
                                                },
                                                "name": "child"
                                              }
                                            }
                                          ],
                                          "directives": []
                                        },
                                        "alternate": null
                                      }
                                    ],
                                    "directives": []
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "start": 5245,
                                    "end": 5598,
                                    "loc": {
                                      "start": {
                                        "line": 138,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 17
                                      }
                                    },
                                    "test": {
                                      "type": "CallExpression",
                                      "start": 5249,
                                      "end": 5280,
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 138,
                                          "column": 56
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 5249,
                                        "end": 5273,
                                        "loc": {
                                          "start": {
                                            "line": 138,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 138,
                                            "column": 49
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 5249,
                                          "end": 5256,
                                          "loc": {
                                            "start": {
                                              "line": 138,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 138,
                                              "column": 32
                                            },
                                            "identifierName": "Control"
                                          },
                                          "name": "Control"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5257,
                                          "end": 5273,
                                          "loc": {
                                            "start": {
                                              "line": 138,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 138,
                                              "column": 49
                                            },
                                            "identifierName": "isReactComponent"
                                          },
                                          "name": "isReactComponent"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 5274,
                                          "end": 5279,
                                          "loc": {
                                            "start": {
                                              "line": 138,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 138,
                                              "column": 55
                                            },
                                            "identifierName": "child"
                                          },
                                          "name": "child"
                                        }
                                      ]
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 5282,
                                      "end": 5598,
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 17
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "start": 5378,
                                          "end": 5447,
                                          "loc": {
                                            "start": {
                                              "line": 140,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 140,
                                              "column": 89
                                            }
                                          },
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "start": 5384,
                                              "end": 5446,
                                              "loc": {
                                                "start": {
                                                  "line": 140,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 140,
                                                  "column": 88
                                                }
                                              },
                                              "id": {
                                                "type": "Identifier",
                                                "start": 5384,
                                                "end": 5405,
                                                "loc": {
                                                  "start": {
                                                    "line": 140,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 140,
                                                    "column": 47
                                                  },
                                                  "identifierName": "firstFocusableInChild"
                                                },
                                                "name": "firstFocusableInChild",
                                                "leadingComments": null
                                              },
                                              "init": {
                                                "type": "CallExpression",
                                                "start": 5408,
                                                "end": 5446,
                                                "loc": {
                                                  "start": {
                                                    "line": 140,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 140,
                                                    "column": 88
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 5408,
                                                  "end": 5439,
                                                  "loc": {
                                                    "start": {
                                                      "line": 140,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 140,
                                                      "column": 81
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 5408,
                                                    "end": 5415,
                                                    "loc": {
                                                      "start": {
                                                        "line": 140,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 140,
                                                        "column": 57
                                                      },
                                                      "identifierName": "Control"
                                                    },
                                                    "name": "Control"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5416,
                                                    "end": 5439,
                                                    "loc": {
                                                      "start": {
                                                        "line": 140,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 140,
                                                        "column": 81
                                                      },
                                                      "identifierName": "firstFocusableControlOf"
                                                    },
                                                    "name": "firstFocusableControlOf"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5440,
                                                    "end": 5445,
                                                    "loc": {
                                                      "start": {
                                                        "line": 140,
                                                        "column": 82
                                                      },
                                                      "end": {
                                                        "line": 140,
                                                        "column": 87
                                                      },
                                                      "identifierName": "child"
                                                    },
                                                    "name": "child"
                                                  }
                                                ]
                                              },
                                              "leadingComments": null
                                            }
                                          ],
                                          "kind": "const",
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": " recursive call into firstFocusableControlOf(child)",
                                              "start": 5304,
                                              "end": 5357,
                                              "loc": {
                                                "start": {
                                                  "line": 139,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 139,
                                                  "column": 73
                                                }
                                              }
                                            }
                                          ]
                                        },
                                        {
                                          "type": "IfStatement",
                                          "start": 5468,
                                          "end": 5580,
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 21
                                            }
                                          },
                                          "test": {
                                            "type": "BinaryExpression",
                                            "start": 5472,
                                            "end": 5501,
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 141,
                                                "column": 53
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5472,
                                              "end": 5493,
                                              "loc": {
                                                "start": {
                                                  "line": 141,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 141,
                                                  "column": 45
                                                },
                                                "identifierName": "firstFocusableInChild"
                                              },
                                              "name": "firstFocusableInChild"
                                            },
                                            "operator": "!=",
                                            "right": {
                                              "type": "NullLiteral",
                                              "start": 5497,
                                              "end": 5501,
                                              "loc": {
                                                "start": {
                                                  "line": 141,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 141,
                                                  "column": 53
                                                }
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "start": 5503,
                                            "end": 5580,
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 143,
                                                "column": 21
                                              }
                                            },
                                            "body": [
                                              {
                                                "type": "ReturnStatement",
                                                "start": 5529,
                                                "end": 5558,
                                                "loc": {
                                                  "start": {
                                                    "line": 142,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 142,
                                                    "column": 53
                                                  }
                                                },
                                                "argument": {
                                                  "type": "Identifier",
                                                  "start": 5536,
                                                  "end": 5557,
                                                  "loc": {
                                                    "start": {
                                                      "line": 142,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 142,
                                                      "column": 52
                                                    },
                                                    "identifierName": "firstFocusableInChild"
                                                  },
                                                  "name": "firstFocusableInChild"
                                                }
                                              }
                                            ],
                                            "directives": []
                                          },
                                          "alternate": null
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 5631,
                      "end": 5643,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 8
                        },
                        "end": {
                          "line": 147,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "NullLiteral",
                        "start": 5638,
                        "end": 5642,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 15
                          },
                          "end": {
                            "line": 147,
                            "column": 19
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 5655,
                "end": 5868,
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 4
                  },
                  "end": {
                    "line": 158,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 5662,
                  "end": 5686,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 11
                    },
                    "end": {
                      "line": 150,
                      "column": 35
                    },
                    "identifierName": "buildControlForComponent"
                  },
                  "name": "buildControlForComponent"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5687,
                    "end": 5691,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 36
                      },
                      "end": {
                        "line": 150,
                        "column": 40
                      },
                      "identifierName": "type"
                    },
                    "name": "type"
                  },
                  {
                    "type": "Identifier",
                    "start": 5693,
                    "end": 5698,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 42
                      },
                      "end": {
                        "line": 150,
                        "column": 47
                      },
                      "identifierName": "props"
                    },
                    "name": "props"
                  },
                  {
                    "type": "Identifier",
                    "start": 5700,
                    "end": 5708,
                    "loc": {
                      "start": {
                        "line": 150,
                        "column": 49
                      },
                      "end": {
                        "line": 150,
                        "column": 57
                      },
                      "identifierName": "children"
                    },
                    "name": "children"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5710,
                  "end": 5868,
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 59
                    },
                    "end": {
                      "line": 158,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 5720,
                      "end": 5862,
                      "loc": {
                        "start": {
                          "line": 151,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 10
                        }
                      },
                      "argument": {
                        "type": "JSXElement",
                        "start": 5739,
                        "end": 5851,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 10
                          },
                          "end": {
                            "line": 156,
                            "column": 20
                          }
                        },
                        "openingElement": {
                          "type": "JSXOpeningElement",
                          "start": 5739,
                          "end": 5807,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 10
                            },
                            "end": {
                              "line": 154,
                              "column": 11
                            }
                          },
                          "attributes": [
                            {
                              "type": "JSXAttribute",
                              "start": 5760,
                              "end": 5795,
                              "loc": {
                                "start": {
                                  "line": 153,
                                  "column": 12
                                },
                                "end": {
                                  "line": 153,
                                  "column": 47
                                }
                              },
                              "name": {
                                "type": "JSXIdentifier",
                                "start": 5760,
                                "end": 5773,
                                "loc": {
                                  "start": {
                                    "line": 153,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 153,
                                    "column": 25
                                  }
                                },
                                "name": "wrapComponent"
                              },
                              "value": {
                                "type": "JSXExpressionContainer",
                                "start": 5774,
                                "end": 5795,
                                "loc": {
                                  "start": {
                                    "line": 153,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 153,
                                    "column": 47
                                  }
                                },
                                "expression": {
                                  "type": "JSXElement",
                                  "start": 5775,
                                  "end": 5794,
                                  "loc": {
                                    "start": {
                                      "line": 153,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 153,
                                      "column": 46
                                    }
                                  },
                                  "openingElement": {
                                    "type": "JSXOpeningElement",
                                    "start": 5775,
                                    "end": 5794,
                                    "loc": {
                                      "start": {
                                        "line": 153,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 153,
                                        "column": 46
                                      }
                                    },
                                    "attributes": [
                                      {
                                        "type": "JSXSpreadAttribute",
                                        "start": 5781,
                                        "end": 5791,
                                        "loc": {
                                          "start": {
                                            "line": 153,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 153,
                                            "column": 43
                                          }
                                        },
                                        "argument": {
                                          "type": "Identifier",
                                          "start": 5785,
                                          "end": 5790,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 42
                                            },
                                            "identifierName": "props"
                                          },
                                          "name": "props"
                                        }
                                      }
                                    ],
                                    "name": {
                                      "type": "JSXIdentifier",
                                      "start": 5776,
                                      "end": 5780,
                                      "loc": {
                                        "start": {
                                          "line": 153,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 153,
                                          "column": 32
                                        }
                                      },
                                      "name": "type"
                                    },
                                    "selfClosing": true
                                  },
                                  "closingElement": null,
                                  "children": []
                                }
                              }
                            }
                          ],
                          "name": {
                            "type": "JSXIdentifier",
                            "start": 5740,
                            "end": 5747,
                            "loc": {
                              "start": {
                                "line": 152,
                                "column": 11
                              },
                              "end": {
                                "line": 152,
                                "column": 18
                              }
                            },
                            "name": "Control"
                          },
                          "selfClosing": false
                        },
                        "closingElement": {
                          "type": "JSXClosingElement",
                          "start": 5841,
                          "end": 5851,
                          "loc": {
                            "start": {
                              "line": 156,
                              "column": 10
                            },
                            "end": {
                              "line": 156,
                              "column": 20
                            }
                          },
                          "name": {
                            "type": "JSXIdentifier",
                            "start": 5843,
                            "end": 5850,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 12
                              },
                              "end": {
                                "line": 156,
                                "column": 19
                              }
                            },
                            "name": "Control"
                          }
                        },
                        "children": [
                          {
                            "type": "JSXText",
                            "start": 5807,
                            "end": 5820,
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 11
                              },
                              "end": {
                                "line": 155,
                                "column": 12
                              }
                            },
                            "extra": null,
                            "value": "\n            "
                          },
                          {
                            "type": "JSXExpressionContainer",
                            "start": 5820,
                            "end": 5830,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 12
                              },
                              "end": {
                                "line": 155,
                                "column": 22
                              }
                            },
                            "expression": {
                              "type": "Identifier",
                              "start": 5821,
                              "end": 5829,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 13
                                },
                                "end": {
                                  "line": 155,
                                  "column": 21
                                },
                                "identifierName": "children"
                              },
                              "name": "children"
                            }
                          },
                          {
                            "type": "JSXText",
                            "start": 5830,
                            "end": 5841,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 22
                              },
                              "end": {
                                "line": 156,
                                "column": 10
                              }
                            },
                            "extra": null,
                            "value": "\n          "
                          }
                        ],
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 5727
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 5874,
                "end": 6600,
                "loc": {
                  "start": {
                    "line": 160,
                    "column": 4
                  },
                  "end": {
                    "line": 187,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 5881,
                  "end": 5894,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 11
                    },
                    "end": {
                      "line": 160,
                      "column": 24
                    },
                    "identifierName": "wrapComponent"
                  },
                  "name": "wrapComponent"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5895,
                    "end": 5904,
                    "loc": {
                      "start": {
                        "line": 160,
                        "column": 25
                      },
                      "end": {
                        "line": 160,
                        "column": 34
                      },
                      "identifierName": "component"
                    },
                    "name": "component"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5906,
                  "end": 6600,
                  "loc": {
                    "start": {
                      "line": 160,
                      "column": 36
                    },
                    "end": {
                      "line": 187,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 5916,
                      "end": 5943,
                      "loc": {
                        "start": {
                          "line": 161,
                          "column": 8
                        },
                        "end": {
                          "line": 161,
                          "column": 35
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5922,
                          "end": 5942,
                          "loc": {
                            "start": {
                              "line": 161,
                              "column": 14
                            },
                            "end": {
                              "line": 161,
                              "column": 34
                            }
                          },
                          "id": {
                            "type": "ObjectPattern",
                            "start": 5922,
                            "end": 5930,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 14
                              },
                              "end": {
                                "line": 161,
                                "column": 22
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 5924,
                                "end": 5928,
                                "loc": {
                                  "start": {
                                    "line": 161,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 161,
                                    "column": 20
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 5924,
                                  "end": 5928,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 20
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 5924,
                                  "end": 5928,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 161,
                                      "column": 20
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "extra": {
                                  "shorthand": true
                                }
                              }
                            ]
                          },
                          "init": {
                            "type": "Identifier",
                            "start": 5933,
                            "end": 5942,
                            "loc": {
                              "start": {
                                "line": 161,
                                "column": 25
                              },
                              "end": {
                                "line": 161,
                                "column": 34
                              },
                              "identifierName": "component"
                            },
                            "name": "component"
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5952,
                      "end": 6106,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 168,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5958,
                          "end": 6105,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 14
                            },
                            "end": {
                              "line": 168,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5958,
                            "end": 5963,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 14
                              },
                              "end": {
                                "line": 162,
                                "column": 19
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 5980,
                            "end": 6095,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 12
                              },
                              "end": {
                                "line": 167,
                                "column": 15
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 5980,
                              "end": 5995,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 12
                                },
                                "end": {
                                  "line": 163,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5980,
                                "end": 5989,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 21
                                  },
                                  "identifierName": "component"
                                },
                                "name": "component"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5990,
                                "end": 5995,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 27
                                  },
                                  "identifierName": "props"
                                },
                                "name": "props"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "ObjectExpression",
                              "start": 6022,
                              "end": 6065,
                              "loc": {
                                "start": {
                                  "line": 165,
                                  "column": 12
                                },
                                "end": {
                                  "line": 165,
                                  "column": 55
                                }
                              },
                              "properties": [
                                {
                                  "type": "SpreadProperty",
                                  "start": 6024,
                                  "end": 6042,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 32
                                    }
                                  },
                                  "argument": {
                                    "type": "MemberExpression",
                                    "start": 6027,
                                    "end": 6042,
                                    "loc": {
                                      "start": {
                                        "line": 165,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 165,
                                        "column": 32
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 6027,
                                      "end": 6036,
                                      "loc": {
                                        "start": {
                                          "line": 165,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 165,
                                          "column": 26
                                        },
                                        "identifierName": "component"
                                      },
                                      "name": "component"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6037,
                                      "end": 6042,
                                      "loc": {
                                        "start": {
                                          "line": 165,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 165,
                                          "column": 32
                                        },
                                        "identifierName": "props"
                                      },
                                      "name": "props"
                                    },
                                    "computed": false
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 6044,
                                  "end": 6063,
                                  "loc": {
                                    "start": {
                                      "line": 165,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 165,
                                      "column": 53
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 6044,
                                    "end": 6052,
                                    "loc": {
                                      "start": {
                                        "line": 165,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 165,
                                        "column": 42
                                      },
                                      "identifierName": "children"
                                    },
                                    "name": "children"
                                  },
                                  "value": {
                                    "type": "Identifier",
                                    "start": 6054,
                                    "end": 6063,
                                    "loc": {
                                      "start": {
                                        "line": 165,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 165,
                                        "column": 53
                                      },
                                      "identifierName": "undefined"
                                    },
                                    "name": "undefined"
                                  }
                                }
                              ]
                            },
                            "alternate": {
                              "type": "ObjectExpression",
                              "start": 6092,
                              "end": 6095,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 12
                                },
                                "end": {
                                  "line": 167,
                                  "column": 15
                                }
                              },
                              "properties": []
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 5966
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 6115,
                      "end": 6300,
                      "loc": {
                        "start": {
                          "line": 169,
                          "column": 8
                        },
                        "end": {
                          "line": 176,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6121,
                          "end": 6299,
                          "loc": {
                            "start": {
                              "line": 169,
                              "column": 14
                            },
                            "end": {
                              "line": 176,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6121,
                            "end": 6129,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 14
                              },
                              "end": {
                                "line": 169,
                                "column": 22
                              },
                              "identifierName": "children"
                            },
                            "name": "children"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 6146,
                            "end": 6289,
                            "loc": {
                              "start": {
                                "line": 170,
                                "column": 12
                              },
                              "end": {
                                "line": 175,
                                "column": 16
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 6147,
                              "end": 6206,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 13
                                },
                                "end": {
                                  "line": 171,
                                  "column": 43
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 6147,
                                "end": 6162,
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 170,
                                    "column": 28
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6147,
                                  "end": 6156,
                                  "loc": {
                                    "start": {
                                      "line": 170,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 170,
                                      "column": 22
                                    },
                                    "identifierName": "component"
                                  },
                                  "name": "component"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6157,
                                  "end": 6162,
                                  "loc": {
                                    "start": {
                                      "line": 170,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 170,
                                      "column": 28
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "MemberExpression",
                                "start": 6182,
                                "end": 6206,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 6182,
                                  "end": 6197,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 6182,
                                    "end": 6191,
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 28
                                      },
                                      "identifierName": "component"
                                    },
                                    "name": "component"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6192,
                                    "end": 6197,
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 34
                                      },
                                      "identifierName": "props"
                                    },
                                    "name": "props"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6198,
                                  "end": 6206,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 43
                                    },
                                    "identifierName": "children"
                                  },
                                  "name": "children"
                                },
                                "computed": false
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 6146
                              }
                            },
                            "consequent": {
                              "type": "MemberExpression",
                              "start": 6234,
                              "end": 6258,
                              "loc": {
                                "start": {
                                  "line": 173,
                                  "column": 12
                                },
                                "end": {
                                  "line": 173,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 6234,
                                "end": 6249,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6234,
                                  "end": 6243,
                                  "loc": {
                                    "start": {
                                      "line": 173,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 173,
                                      "column": 21
                                    },
                                    "identifierName": "component"
                                  },
                                  "name": "component"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6244,
                                  "end": 6249,
                                  "loc": {
                                    "start": {
                                      "line": 173,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 173,
                                      "column": 27
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6250,
                                "end": 6258,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 36
                                  },
                                  "identifierName": "children"
                                },
                                "name": "children"
                              },
                              "computed": false
                            },
                            "alternate": {
                              "type": "NullLiteral",
                              "start": 6285,
                              "end": 6289,
                              "loc": {
                                "start": {
                                  "line": 175,
                                  "column": 12
                                },
                                "end": {
                                  "line": 175,
                                  "column": 16
                                }
                              }
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 6132
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 6309,
                      "end": 6594,
                      "loc": {
                        "start": {
                          "line": 177,
                          "column": 8
                        },
                        "end": {
                          "line": 186,
                          "column": 10
                        }
                      },
                      "argument": {
                        "type": "ConditionalExpression",
                        "start": 6330,
                        "end": 6583,
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 12
                          },
                          "end": {
                            "line": 185,
                            "column": 16
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 6331,
                          "end": 6469,
                          "loc": {
                            "start": {
                              "line": 178,
                              "column": 13
                            },
                            "end": {
                              "line": 181,
                              "column": 49
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 6331,
                            "end": 6419,
                            "loc": {
                              "start": {
                                "line": 178,
                                "column": 13
                              },
                              "end": {
                                "line": 180,
                                "column": 23
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 6331,
                              "end": 6395,
                              "loc": {
                                "start": {
                                  "line": 178,
                                  "column": 13
                                },
                                "end": {
                                  "line": 179,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6331,
                                "end": 6340,
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 178,
                                    "column": 22
                                  },
                                  "identifierName": "component"
                                },
                                "name": "component"
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 6360,
                                "end": 6395,
                                "loc": {
                                  "start": {
                                    "line": 179,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 179,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 6360,
                                  "end": 6384,
                                  "loc": {
                                    "start": {
                                      "line": 179,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 179,
                                      "column": 43
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 6360,
                                    "end": 6367,
                                    "loc": {
                                      "start": {
                                        "line": 179,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 179,
                                        "column": 26
                                      },
                                      "identifierName": "Control"
                                    },
                                    "name": "Control"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6368,
                                    "end": 6384,
                                    "loc": {
                                      "start": {
                                        "line": 179,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 179,
                                        "column": 43
                                      },
                                      "identifierName": "isReactComponent"
                                    },
                                    "name": "isReactComponent"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 6385,
                                    "end": 6394,
                                    "loc": {
                                      "start": {
                                        "line": 179,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 179,
                                        "column": 53
                                      },
                                      "identifierName": "component"
                                    },
                                    "name": "component"
                                  }
                                ]
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "Identifier",
                              "start": 6415,
                              "end": 6419,
                              "loc": {
                                "start": {
                                  "line": 180,
                                  "column": 19
                                },
                                "end": {
                                  "line": 180,
                                  "column": 23
                                },
                                "identifierName": "type"
                              },
                              "name": "type"
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 6439,
                            "end": 6469,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 19
                              },
                              "end": {
                                "line": 181,
                                "column": 49
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6439,
                              "end": 6463,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 19
                                },
                                "end": {
                                  "line": 181,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6439,
                                "end": 6446,
                                "loc": {
                                  "start": {
                                    "line": 181,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 181,
                                    "column": 26
                                  },
                                  "identifierName": "Control"
                                },
                                "name": "Control"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6447,
                                "end": 6463,
                                "loc": {
                                  "start": {
                                    "line": 181,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 181,
                                    "column": 43
                                  },
                                  "identifierName": "isReactComponent"
                                },
                                "name": "isReactComponent"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6464,
                                "end": 6468,
                                "loc": {
                                  "start": {
                                    "line": 181,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 181,
                                    "column": 48
                                  },
                                  "identifierName": "type"
                                },
                                "name": "type"
                              }
                            ]
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 6330
                          }
                        },
                        "consequent": {
                          "type": "CallExpression",
                          "start": 6497,
                          "end": 6552,
                          "loc": {
                            "start": {
                              "line": 183,
                              "column": 12
                            },
                            "end": {
                              "line": 183,
                              "column": 67
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6497,
                            "end": 6529,
                            "loc": {
                              "start": {
                                "line": 183,
                                "column": 12
                              },
                              "end": {
                                "line": 183,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6497,
                              "end": 6504,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 12
                                },
                                "end": {
                                  "line": 183,
                                  "column": 19
                                },
                                "identifierName": "Control"
                              },
                              "name": "Control"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6505,
                              "end": 6529,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 20
                                },
                                "end": {
                                  "line": 183,
                                  "column": 44
                                },
                                "identifierName": "buildControlForComponent"
                              },
                              "name": "buildControlForComponent"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 6530,
                              "end": 6534,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 45
                                },
                                "end": {
                                  "line": 183,
                                  "column": 49
                                },
                                "identifierName": "type"
                              },
                              "name": "type"
                            },
                            {
                              "type": "Identifier",
                              "start": 6536,
                              "end": 6541,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 51
                                },
                                "end": {
                                  "line": 183,
                                  "column": 56
                                },
                                "identifierName": "props"
                              },
                              "name": "props"
                            },
                            {
                              "type": "Identifier",
                              "start": 6543,
                              "end": 6551,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 58
                                },
                                "end": {
                                  "line": 183,
                                  "column": 66
                                },
                                "identifierName": "children"
                              },
                              "name": "children"
                            }
                          ]
                        },
                        "alternate": {
                          "type": "NullLiteral",
                          "start": 6579,
                          "end": 6583,
                          "loc": {
                            "start": {
                              "line": 185,
                              "column": 12
                            },
                            "end": {
                              "line": 185,
                              "column": 16
                            }
                          }
                        },
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 6316
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 6607,
                "end": 6955,
                "loc": {
                  "start": {
                    "line": 190,
                    "column": 4
                  },
                  "end": {
                    "line": 200,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 6607,
                  "end": 6618,
                  "loc": {
                    "start": {
                      "line": 190,
                      "column": 4
                    },
                    "end": {
                      "line": 190,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6619,
                    "end": 6624,
                    "loc": {
                      "start": {
                        "line": 190,
                        "column": 16
                      },
                      "end": {
                        "line": 190,
                        "column": 21
                      },
                      "identifierName": "props"
                    },
                    "name": "props"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6626,
                  "end": 6955,
                  "loc": {
                    "start": {
                      "line": 190,
                      "column": 23
                    },
                    "end": {
                      "line": 200,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 6636,
                      "end": 6649,
                      "loc": {
                        "start": {
                          "line": 191,
                          "column": 8
                        },
                        "end": {
                          "line": 191,
                          "column": 21
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6636,
                        "end": 6648,
                        "loc": {
                          "start": {
                            "line": 191,
                            "column": 8
                          },
                          "end": {
                            "line": 191,
                            "column": 20
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 6636,
                          "end": 6641,
                          "loc": {
                            "start": {
                              "line": 191,
                              "column": 8
                            },
                            "end": {
                              "line": 191,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 6642,
                            "end": 6647,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 14
                              },
                              "end": {
                                "line": 191,
                                "column": 19
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6658,
                      "end": 6749,
                      "loc": {
                        "start": {
                          "line": 192,
                          "column": 8
                        },
                        "end": {
                          "line": 195,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6658,
                        "end": 6748,
                        "loc": {
                          "start": {
                            "line": 192,
                            "column": 8
                          },
                          "end": {
                            "line": 195,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6658,
                          "end": 6668,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 8
                            },
                            "end": {
                              "line": 192,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6658,
                            "end": 6662,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 8
                              },
                              "end": {
                                "line": 192,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6663,
                            "end": 6668,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 13
                              },
                              "end": {
                                "line": 192,
                                "column": 18
                              },
                              "identifierName": "state"
                            },
                            "name": "state"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 6671,
                          "end": 6748,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 21
                            },
                            "end": {
                              "line": 195,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "SpreadProperty",
                              "start": 6685,
                              "end": 6698,
                              "loc": {
                                "start": {
                                  "line": 193,
                                  "column": 12
                                },
                                "end": {
                                  "line": 193,
                                  "column": 25
                                }
                              },
                              "argument": {
                                "type": "MemberExpression",
                                "start": 6688,
                                "end": 6698,
                                "loc": {
                                  "start": {
                                    "line": 193,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 193,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6688,
                                  "end": 6692,
                                  "loc": {
                                    "start": {
                                      "line": 193,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 193,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6693,
                                  "end": 6698,
                                  "loc": {
                                    "start": {
                                      "line": 193,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 193,
                                      "column": 25
                                    },
                                    "identifierName": "state"
                                  },
                                  "name": "state"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "ObjectProperty",
                              "start": 6712,
                              "end": 6738,
                              "loc": {
                                "start": {
                                  "line": 194,
                                  "column": 12
                                },
                                "end": {
                                  "line": 194,
                                  "column": 38
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 6712,
                                "end": 6730,
                                "loc": {
                                  "start": {
                                    "line": 194,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 194,
                                    "column": 30
                                  },
                                  "identifierName": "canIReachThisState"
                                },
                                "name": "canIReachThisState"
                              },
                              "value": {
                                "type": "StringLiteral",
                                "start": 6732,
                                "end": 6738,
                                "loc": {
                                  "start": {
                                    "line": 194,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 194,
                                    "column": 38
                                  }
                                },
                                "extra": {
                                  "rawValue": "yep!",
                                  "raw": "'yep!'"
                                },
                                "value": "yep!"
                              }
                            }
                          ]
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " A basic Control, by itself, isn't focusable.",
                          "start": 6758,
                          "end": 6805,
                          "loc": {
                            "start": {
                              "line": 196,
                              "column": 8
                            },
                            "end": {
                              "line": 196,
                              "column": 55
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " Some of it's child Controls will be focusable, and need to specify",
                          "start": 6814,
                          "end": 6883,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 8
                            },
                            "end": {
                              "line": 197,
                              "column": 77
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " when that is the case.",
                          "start": 6892,
                          "end": 6917,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 8
                            },
                            "end": {
                              "line": 198,
                              "column": 33
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6926,
                      "end": 6949,
                      "loc": {
                        "start": {
                          "line": 199,
                          "column": 8
                        },
                        "end": {
                          "line": 199,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6926,
                        "end": 6948,
                        "loc": {
                          "start": {
                            "line": 199,
                            "column": 8
                          },
                          "end": {
                            "line": 199,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 6926,
                          "end": 6940,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 8
                            },
                            "end": {
                              "line": 199,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6926,
                            "end": 6930,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 8
                              },
                              "end": {
                                "line": 199,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6931,
                            "end": 6940,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 13
                              },
                              "end": {
                                "line": 199,
                                "column": 22
                              },
                              "identifierName": "focusable"
                            },
                            "name": "focusable"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 6943,
                          "end": 6948,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 25
                            },
                            "end": {
                              "line": 199,
                              "column": 30
                            }
                          },
                          "value": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " A basic Control, by itself, isn't focusable.",
                          "start": 6758,
                          "end": 6805,
                          "loc": {
                            "start": {
                              "line": 196,
                              "column": 8
                            },
                            "end": {
                              "line": 196,
                              "column": 55
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " Some of it's child Controls will be focusable, and need to specify",
                          "start": 6814,
                          "end": 6883,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 8
                            },
                            "end": {
                              "line": 197,
                              "column": 77
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " when that is the case.",
                          "start": 6892,
                          "end": 6917,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 8
                            },
                            "end": {
                              "line": 198,
                              "column": 33
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if a Control instance is focusable.\n     * \n     * The default behavior is to always return true unless it is already focused.\n     * \n     * The select(control) default behavior will always check the Control instance's canFocus()\n     * before doing any work.\n     * \n     * Most Controls which exist will be focusable. It is the default behavior that a derived\n     * Control class is always focusable.\n     * \n     * If you want to disable focusable in a specific way, you can override the function and\n     * return false instead of true.\n     * \n     * For example, consider a TextField whose input might be disabled for now. During the\n     * disabled state, canFocus() would return false, but otherwise return true.\n     ",
                    "start": 6961,
                    "end": 7736,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 4
                      },
                      "end": {
                        "line": 218,
                        "column": 7
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " eslint-disable-next-line class-methods-use-this",
                    "start": 7741,
                    "end": 7791,
                    "loc": {
                      "start": {
                        "line": 219,
                        "column": 4
                      },
                      "end": {
                        "line": 219,
                        "column": 54
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 7796,
                "end": 7959,
                "loc": {
                  "start": {
                    "line": 220,
                    "column": 4
                  },
                  "end": {
                    "line": 225,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 7796,
                  "end": 7804,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 4
                    },
                    "end": {
                      "line": 220,
                      "column": 12
                    },
                    "identifierName": "canFocus"
                  },
                  "name": "canFocus",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 7807,
                  "end": 7959,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 15
                    },
                    "end": {
                      "line": 225,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 7817,
                      "end": 7953,
                      "loc": {
                        "start": {
                          "line": 221,
                          "column": 8
                        },
                        "end": {
                          "line": 224,
                          "column": 45
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 7824,
                        "end": 7952,
                        "loc": {
                          "start": {
                            "line": 221,
                            "column": 15
                          },
                          "end": {
                            "line": 224,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 7824,
                          "end": 7872,
                          "loc": {
                            "start": {
                              "line": 221,
                              "column": 15
                            },
                            "end": {
                              "line": 222,
                              "column": 31
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 7824,
                            "end": 7840,
                            "loc": {
                              "start": {
                                "line": 221,
                                "column": 15
                              },
                              "end": {
                                "line": 221,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7824,
                              "end": 7838,
                              "loc": {
                                "start": {
                                  "line": 221,
                                  "column": 15
                                },
                                "end": {
                                  "line": 221,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7824,
                                "end": 7828,
                                "loc": {
                                  "start": {
                                    "line": 221,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 221,
                                    "column": 19
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7829,
                                "end": 7838,
                                "loc": {
                                  "start": {
                                    "line": 221,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 221,
                                    "column": 29
                                  },
                                  "identifierName": "isEnabled"
                                },
                                "name": "isEnabled"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 7856,
                            "end": 7872,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 15
                              },
                              "end": {
                                "line": 222,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7856,
                              "end": 7870,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 15
                                },
                                "end": {
                                  "line": 222,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7856,
                                "end": 7860,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 19
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7861,
                                "end": 7870,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 29
                                  },
                                  "identifierName": "isBlurred"
                                },
                                "name": "isBlurred"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "LogicalExpression",
                          "start": 7889,
                          "end": 7951,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 16
                            },
                            "end": {
                              "line": 224,
                              "column": 43
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 7889,
                            "end": 7907,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 16
                              },
                              "end": {
                                "line": 223,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7889,
                              "end": 7905,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 16
                                },
                                "end": {
                                  "line": 223,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7889,
                                "end": 7893,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 20
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7894,
                                "end": 7905,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 32
                                  },
                                  "identifierName": "isFocusable"
                                },
                                "name": "isFocusable"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "operator": "||",
                          "right": {
                            "type": "CallExpression",
                            "start": 7927,
                            "end": 7951,
                            "loc": {
                              "start": {
                                "line": 224,
                                "column": 19
                              },
                              "end": {
                                "line": 224,
                                "column": 43
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7927,
                              "end": 7949,
                              "loc": {
                                "start": {
                                  "line": 224,
                                  "column": 19
                                },
                                "end": {
                                  "line": 224,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7927,
                                "end": 7931,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7932,
                                "end": 7949,
                                "loc": {
                                  "start": {
                                    "line": 224,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 224,
                                    "column": 41
                                  },
                                  "identifierName": "containsFocusable"
                                },
                                "name": "containsFocusable"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 7888
                          }
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if a Control instance is focusable.\n     * \n     * The default behavior is to always return true unless it is already focused.\n     * \n     * The select(control) default behavior will always check the Control instance's canFocus()\n     * before doing any work.\n     * \n     * Most Controls which exist will be focusable. It is the default behavior that a derived\n     * Control class is always focusable.\n     * \n     * If you want to disable focusable in a specific way, you can override the function and\n     * return false instead of true.\n     * \n     * For example, consider a TextField whose input might be disabled for now. During the\n     * disabled state, canFocus() would return false, but otherwise return true.\n     ",
                    "start": 6961,
                    "end": 7736,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 4
                      },
                      "end": {
                        "line": 218,
                        "column": 7
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " eslint-disable-next-line class-methods-use-this",
                    "start": 7741,
                    "end": 7791,
                    "loc": {
                      "start": {
                        "line": 219,
                        "column": 4
                      },
                      "end": {
                        "line": 219,
                        "column": 54
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if the Control instance is un-focusable.\n     * \n     * Most Controls which exist will be focusable. It is the deault behavior that a derived\n     * Control class is always focusable.\n     * \n     * If you want to disable focusable in a specific way, you can override the function and\n     * return false instead of true.\n     * \n     * For example, consider a TextField whose input might be disabled for now. During the\n     * disabled state, canFocus() would return false, but otherwise return true.\n     ",
                    "start": 7965,
                    "end": 8519,
                    "loc": {
                      "start": {
                        "line": 227,
                        "column": 4
                      },
                      "end": {
                        "line": 238,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 8524,
                "end": 8606,
                "loc": {
                  "start": {
                    "line": 239,
                    "column": 4
                  },
                  "end": {
                    "line": 242,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 8524,
                  "end": 8531,
                  "loc": {
                    "start": {
                      "line": 239,
                      "column": 4
                    },
                    "end": {
                      "line": 239,
                      "column": 11
                    },
                    "identifierName": "canBlur"
                  },
                  "name": "canBlur",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 8534,
                  "end": 8606,
                  "loc": {
                    "start": {
                      "line": 239,
                      "column": 14
                    },
                    "end": {
                      "line": 242,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 8544,
                      "end": 8600,
                      "loc": {
                        "start": {
                          "line": 240,
                          "column": 8
                        },
                        "end": {
                          "line": 241,
                          "column": 32
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 8551,
                        "end": 8599,
                        "loc": {
                          "start": {
                            "line": 240,
                            "column": 15
                          },
                          "end": {
                            "line": 241,
                            "column": 31
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 8551,
                          "end": 8567,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 15
                            },
                            "end": {
                              "line": 240,
                              "column": 31
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8551,
                            "end": 8565,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 15
                              },
                              "end": {
                                "line": 240,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8551,
                              "end": 8555,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 15
                                },
                                "end": {
                                  "line": 240,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8556,
                              "end": 8565,
                              "loc": {
                                "start": {
                                  "line": 240,
                                  "column": 20
                                },
                                "end": {
                                  "line": 240,
                                  "column": 29
                                },
                                "identifierName": "isEnabled"
                              },
                              "name": "isEnabled"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": "&&",
                        "right": {
                          "type": "CallExpression",
                          "start": 8583,
                          "end": 8599,
                          "loc": {
                            "start": {
                              "line": 241,
                              "column": 15
                            },
                            "end": {
                              "line": 241,
                              "column": 31
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8583,
                            "end": 8597,
                            "loc": {
                              "start": {
                                "line": 241,
                                "column": 15
                              },
                              "end": {
                                "line": 241,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8583,
                              "end": 8587,
                              "loc": {
                                "start": {
                                  "line": 241,
                                  "column": 15
                                },
                                "end": {
                                  "line": 241,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8588,
                              "end": 8597,
                              "loc": {
                                "start": {
                                  "line": 241,
                                  "column": 20
                                },
                                "end": {
                                  "line": 241,
                                  "column": 29
                                },
                                "identifierName": "isFocused"
                              },
                              "name": "isFocused"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if the Control instance is un-focusable.\n     * \n     * Most Controls which exist will be focusable. It is the deault behavior that a derived\n     * Control class is always focusable.\n     * \n     * If you want to disable focusable in a specific way, you can override the function and\n     * return false instead of true.\n     * \n     * For example, consider a TextField whose input might be disabled for now. During the\n     * disabled state, canFocus() would return false, but otherwise return true.\n     ",
                    "start": 7965,
                    "end": 8519,
                    "loc": {
                      "start": {
                        "line": 227,
                        "column": 4
                      },
                      "end": {
                        "line": 238,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * \n     *  In a command line interface, where focusable controls exist (think Visual Basic for DOS)\n     *  to get an idea of the concept, we can't completely blur out of EVERY single control.\n     *\n     *  Something is always going to ALWAYS need to be accept / capture input, be it a Button\n     *  or TextField or a Menu or a Tab or Tree. But the concept of the Control component is\n     *  that it can easily allow focus to shift from one component to the next, and allow those\n     *  components which extend the Control class to easily display one type of blurred output\n     *  while accepting input once focused.\n     *\n     *  In order to guarantee this, blur will locate the forward (or reverse component)\n     *  and 'select' it instead.\n     ",
                    "start": 8612,
                    "end": 9378,
                    "loc": {
                      "start": {
                        "line": 244,
                        "column": 4
                      },
                      "end": {
                        "line": 257,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 9383,
                "end": 9618,
                "loc": {
                  "start": {
                    "line": 258,
                    "column": 4
                  },
                  "end": {
                    "line": 268,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 9383,
                  "end": 9387,
                  "loc": {
                    "start": {
                      "line": 258,
                      "column": 4
                    },
                    "end": {
                      "line": 258,
                      "column": 8
                    },
                    "identifierName": "blur"
                  },
                  "name": "blur",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9390,
                  "end": 9618,
                  "loc": {
                    "start": {
                      "line": 258,
                      "column": 11
                    },
                    "end": {
                      "line": 268,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 9400,
                      "end": 9612,
                      "loc": {
                        "start": {
                          "line": 259,
                          "column": 8
                        },
                        "end": {
                          "line": 267,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 9404,
                        "end": 9418,
                        "loc": {
                          "start": {
                            "line": 259,
                            "column": 12
                          },
                          "end": {
                            "line": 259,
                            "column": 26
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9404,
                          "end": 9416,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 12
                            },
                            "end": {
                              "line": 259,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 9404,
                            "end": 9408,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 12
                              },
                              "end": {
                                "line": 259,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9409,
                            "end": 9416,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 17
                              },
                              "end": {
                                "line": 259,
                                "column": 24
                              },
                              "identifierName": "canBlur"
                            },
                            "name": "canBlur"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9420,
                        "end": 9612,
                        "loc": {
                          "start": {
                            "line": 259,
                            "column": 28
                          },
                          "end": {
                            "line": 267,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 9434,
                            "end": 9485,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 12
                              },
                              "end": {
                                "line": 262,
                                "column": 21
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 9440,
                                "end": 9484,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 262,
                                    "column": 20
                                  }
                                },
                                "id": {
                                  "type": "ObjectPattern",
                                  "start": 9440,
                                  "end": 9477,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 262,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "ObjectProperty",
                                      "start": 9458,
                                      "end": 9463,
                                      "loc": {
                                        "start": {
                                          "line": 261,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 261,
                                          "column": 21
                                        }
                                      },
                                      "method": false,
                                      "shorthand": true,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 9458,
                                        "end": 9463,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 21
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 9458,
                                        "end": 9463,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 21
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "extra": {
                                        "shorthand": true
                                      }
                                    }
                                  ]
                                },
                                "init": {
                                  "type": "ThisExpression",
                                  "start": 9480,
                                  "end": 9484,
                                  "loc": {
                                    "start": {
                                      "line": 262,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 262,
                                      "column": 20
                                    }
                                  }
                                }
                              }
                            ],
                            "kind": "const",
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " let our listeners know ",
                                "start": 9498,
                                "end": 9524,
                                "loc": {
                                  "start": {
                                    "line": 263,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 263,
                                    "column": 38
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 9537,
                            "end": 9602,
                            "loc": {
                              "start": {
                                "line": 264,
                                "column": 12
                              },
                              "end": {
                                "line": 266,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 9541,
                              "end": 9553,
                              "loc": {
                                "start": {
                                  "line": 264,
                                  "column": 16
                                },
                                "end": {
                                  "line": 264,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9541,
                                "end": 9546,
                                "loc": {
                                  "start": {
                                    "line": 264,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 264,
                                    "column": 21
                                  },
                                  "identifierName": "props"
                                },
                                "name": "props",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9547,
                                "end": 9553,
                                "loc": {
                                  "start": {
                                    "line": 264,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 264,
                                    "column": 28
                                  },
                                  "identifierName": "onBlur"
                                },
                                "name": "onBlur"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 9555,
                              "end": 9602,
                              "loc": {
                                "start": {
                                  "line": 264,
                                  "column": 30
                                },
                                "end": {
                                  "line": 266,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9573,
                                  "end": 9588,
                                  "loc": {
                                    "start": {
                                      "line": 265,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 265,
                                      "column": 31
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 9573,
                                    "end": 9587,
                                    "loc": {
                                      "start": {
                                        "line": 265,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 265,
                                        "column": 30
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9573,
                                      "end": 9585,
                                      "loc": {
                                        "start": {
                                          "line": 265,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 265,
                                          "column": 28
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9573,
                                        "end": 9578,
                                        "loc": {
                                          "start": {
                                            "line": 265,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 265,
                                            "column": 21
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9579,
                                        "end": 9585,
                                        "loc": {
                                          "start": {
                                            "line": 265,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 265,
                                            "column": 28
                                          },
                                          "identifierName": "onBlur"
                                        },
                                        "name": "onBlur"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " let our listeners know ",
                                "start": 9498,
                                "end": 9524,
                                "loc": {
                                  "start": {
                                    "line": 263,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 263,
                                    "column": 38
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * \n     *  In a command line interface, where focusable controls exist (think Visual Basic for DOS)\n     *  to get an idea of the concept, we can't completely blur out of EVERY single control.\n     *\n     *  Something is always going to ALWAYS need to be accept / capture input, be it a Button\n     *  or TextField or a Menu or a Tab or Tree. But the concept of the Control component is\n     *  that it can easily allow focus to shift from one component to the next, and allow those\n     *  components which extend the Control class to easily display one type of blurred output\n     *  while accepting input once focused.\n     *\n     *  In order to guarantee this, blur will locate the forward (or reverse component)\n     *  and 'select' it instead.\n     ",
                    "start": 8612,
                    "end": 9378,
                    "loc": {
                      "start": {
                        "line": 244,
                        "column": 4
                      },
                      "end": {
                        "line": 257,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 9624,
                "end": 9863,
                "loc": {
                  "start": {
                    "line": 270,
                    "column": 4
                  },
                  "end": {
                    "line": 280,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 9624,
                  "end": 9629,
                  "loc": {
                    "start": {
                      "line": 270,
                      "column": 4
                    },
                    "end": {
                      "line": 270,
                      "column": 9
                    },
                    "identifierName": "focus"
                  },
                  "name": "focus"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9632,
                  "end": 9863,
                  "loc": {
                    "start": {
                      "line": 270,
                      "column": 12
                    },
                    "end": {
                      "line": 280,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 9642,
                      "end": 9857,
                      "loc": {
                        "start": {
                          "line": 271,
                          "column": 8
                        },
                        "end": {
                          "line": 279,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 9646,
                        "end": 9661,
                        "loc": {
                          "start": {
                            "line": 271,
                            "column": 12
                          },
                          "end": {
                            "line": 271,
                            "column": 27
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9646,
                          "end": 9659,
                          "loc": {
                            "start": {
                              "line": 271,
                              "column": 12
                            },
                            "end": {
                              "line": 271,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 9646,
                            "end": 9650,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 12
                              },
                              "end": {
                                "line": 271,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9651,
                            "end": 9659,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 17
                              },
                              "end": {
                                "line": 271,
                                "column": 25
                              },
                              "identifierName": "canFocus"
                            },
                            "name": "canFocus"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9663,
                        "end": 9857,
                        "loc": {
                          "start": {
                            "line": 271,
                            "column": 29
                          },
                          "end": {
                            "line": 279,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 9677,
                            "end": 9728,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 12
                              },
                              "end": {
                                "line": 274,
                                "column": 21
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 9683,
                                "end": 9727,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 274,
                                    "column": 20
                                  }
                                },
                                "id": {
                                  "type": "ObjectPattern",
                                  "start": 9683,
                                  "end": 9720,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 274,
                                      "column": 13
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "ObjectProperty",
                                      "start": 9701,
                                      "end": 9706,
                                      "loc": {
                                        "start": {
                                          "line": 273,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 273,
                                          "column": 21
                                        }
                                      },
                                      "method": false,
                                      "shorthand": true,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 9701,
                                        "end": 9706,
                                        "loc": {
                                          "start": {
                                            "line": 273,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 273,
                                            "column": 21
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 9701,
                                        "end": 9706,
                                        "loc": {
                                          "start": {
                                            "line": 273,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 273,
                                            "column": 21
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "extra": {
                                        "shorthand": true
                                      }
                                    }
                                  ]
                                },
                                "init": {
                                  "type": "ThisExpression",
                                  "start": 9723,
                                  "end": 9727,
                                  "loc": {
                                    "start": {
                                      "line": 274,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 274,
                                      "column": 20
                                    }
                                  }
                                }
                              }
                            ],
                            "kind": "const",
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " let our listeners know ",
                                "start": 9741,
                                "end": 9767,
                                "loc": {
                                  "start": {
                                    "line": 275,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 275,
                                    "column": 38
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 9780,
                            "end": 9847,
                            "loc": {
                              "start": {
                                "line": 276,
                                "column": 12
                              },
                              "end": {
                                "line": 278,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 9784,
                              "end": 9797,
                              "loc": {
                                "start": {
                                  "line": 276,
                                  "column": 16
                                },
                                "end": {
                                  "line": 276,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9784,
                                "end": 9789,
                                "loc": {
                                  "start": {
                                    "line": 276,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 276,
                                    "column": 21
                                  },
                                  "identifierName": "props"
                                },
                                "name": "props",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9790,
                                "end": 9797,
                                "loc": {
                                  "start": {
                                    "line": 276,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 276,
                                    "column": 29
                                  },
                                  "identifierName": "onFocus"
                                },
                                "name": "onFocus"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 9799,
                              "end": 9847,
                              "loc": {
                                "start": {
                                  "line": 276,
                                  "column": 31
                                },
                                "end": {
                                  "line": 278,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9817,
                                  "end": 9833,
                                  "loc": {
                                    "start": {
                                      "line": 277,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 277,
                                      "column": 32
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 9817,
                                    "end": 9832,
                                    "loc": {
                                      "start": {
                                        "line": 277,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 277,
                                        "column": 31
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9817,
                                      "end": 9830,
                                      "loc": {
                                        "start": {
                                          "line": 277,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 277,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9817,
                                        "end": 9822,
                                        "loc": {
                                          "start": {
                                            "line": 277,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 277,
                                            "column": 21
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9823,
                                        "end": 9830,
                                        "loc": {
                                          "start": {
                                            "line": 277,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 277,
                                            "column": 29
                                          },
                                          "identifierName": "onFocus"
                                        },
                                        "name": "onFocus"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " let our listeners know ",
                                "start": 9741,
                                "end": 9767,
                                "loc": {
                                  "start": {
                                    "line": 275,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 275,
                                    "column": 38
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isDisabled()` method returns a boolean which indicates the value of\n     * the `disabled` property as passed into the component.\n     * \n     * `<Control disabled />` would cause `isDisabled()` to return `true`.\n     * \n     * `<Control />` would cause `isDisabled()` to return `false`.\n     ",
                    "start": 9869,
                    "end": 10179,
                    "loc": {
                      "start": {
                        "line": 282,
                        "column": 4
                      },
                      "end": {
                        "line": 289,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 10184,
                "end": 10314,
                "loc": {
                  "start": {
                    "line": 290,
                    "column": 4
                  },
                  "end": {
                    "line": 295,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 10184,
                  "end": 10194,
                  "loc": {
                    "start": {
                      "line": 290,
                      "column": 4
                    },
                    "end": {
                      "line": 290,
                      "column": 14
                    },
                    "identifierName": "isDisabled"
                  },
                  "name": "isDisabled",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 10197,
                  "end": 10314,
                  "loc": {
                    "start": {
                      "line": 290,
                      "column": 17
                    },
                    "end": {
                      "line": 295,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 10207,
                      "end": 10250,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 8
                        },
                        "end": {
                          "line": 293,
                          "column": 17
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10213,
                          "end": 10249,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 14
                            },
                            "end": {
                              "line": 293,
                              "column": 16
                            }
                          },
                          "id": {
                            "type": "ObjectPattern",
                            "start": 10213,
                            "end": 10242,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 14
                              },
                              "end": {
                                "line": 293,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 10227,
                                "end": 10232,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 17
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 10227,
                                  "end": 10232,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 17
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 10227,
                                  "end": 10232,
                                  "loc": {
                                    "start": {
                                      "line": 292,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 292,
                                      "column": 17
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "extra": {
                                  "shorthand": true
                                }
                              }
                            ]
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 10245,
                            "end": 10249,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 12
                              },
                              "end": {
                                "line": 293,
                                "column": 16
                              }
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 10259,
                      "end": 10308,
                      "loc": {
                        "start": {
                          "line": 294,
                          "column": 8
                        },
                        "end": {
                          "line": 294,
                          "column": 57
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 10266,
                        "end": 10307,
                        "loc": {
                          "start": {
                            "line": 294,
                            "column": 15
                          },
                          "end": {
                            "line": 294,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 10266,
                          "end": 10285,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 15
                            },
                            "end": {
                              "line": 294,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 10266,
                            "end": 10271,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 15
                              },
                              "end": {
                                "line": 294,
                                "column": 20
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          },
                          "operator": "!==",
                          "right": {
                            "type": "Identifier",
                            "start": 10276,
                            "end": 10285,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 25
                              },
                              "end": {
                                "line": 294,
                                "column": 34
                              },
                              "identifierName": "undefined"
                            },
                            "name": "undefined"
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 10290,
                          "end": 10306,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 39
                            },
                            "end": {
                              "line": 294,
                              "column": 55
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "UnaryExpression",
                            "start": 10291,
                            "end": 10306,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 40
                              },
                              "end": {
                                "line": 294,
                                "column": 55
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 10292,
                              "end": 10306,
                              "loc": {
                                "start": {
                                  "line": 294,
                                  "column": 41
                                },
                                "end": {
                                  "line": 294,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10292,
                                "end": 10297,
                                "loc": {
                                  "start": {
                                    "line": 294,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 294,
                                    "column": 46
                                  },
                                  "identifierName": "props"
                                },
                                "name": "props"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10298,
                                "end": 10306,
                                "loc": {
                                  "start": {
                                    "line": 294,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 294,
                                    "column": 55
                                  },
                                  "identifierName": "disabled"
                                },
                                "name": "disabled"
                              },
                              "computed": false
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          },
                          "extra": {
                            "parenthesizedArgument": false,
                            "parenthesized": true,
                            "parenStart": 10289
                          }
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isDisabled()` method returns a boolean which indicates the value of\n     * the `disabled` property as passed into the component.\n     * \n     * `<Control disabled />` would cause `isDisabled()` to return `true`.\n     * \n     * `<Control />` would cause `isDisabled()` to return `false`.\n     ",
                    "start": 9869,
                    "end": 10179,
                    "loc": {
                      "start": {
                        "line": 282,
                        "column": 4
                      },
                      "end": {
                        "line": 289,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isEnabled()` method returns the inverse value of the `isDisabled()`\n     * method.\n     * \n     * `<Control disabled />` would cause `isEnabled()` to return `false`.\n     * \n     * `<Control />` would cause `isEnabled()` to return `true`.\n     ",
                    "start": 10324,
                    "end": 10586,
                    "loc": {
                      "start": {
                        "line": 297,
                        "column": 4
                      },
                      "end": {
                        "line": 304,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 10591,
                "end": 10645,
                "loc": {
                  "start": {
                    "line": 305,
                    "column": 4
                  },
                  "end": {
                    "line": 307,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 10591,
                  "end": 10600,
                  "loc": {
                    "start": {
                      "line": 305,
                      "column": 4
                    },
                    "end": {
                      "line": 305,
                      "column": 13
                    },
                    "identifierName": "isEnabled"
                  },
                  "name": "isEnabled",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 10603,
                  "end": 10645,
                  "loc": {
                    "start": {
                      "line": 305,
                      "column": 16
                    },
                    "end": {
                      "line": 307,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 10613,
                      "end": 10639,
                      "loc": {
                        "start": {
                          "line": 306,
                          "column": 8
                        },
                        "end": {
                          "line": 306,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "UnaryExpression",
                        "start": 10620,
                        "end": 10638,
                        "loc": {
                          "start": {
                            "line": 306,
                            "column": 15
                          },
                          "end": {
                            "line": 306,
                            "column": 33
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 10621,
                          "end": 10638,
                          "loc": {
                            "start": {
                              "line": 306,
                              "column": 16
                            },
                            "end": {
                              "line": 306,
                              "column": 33
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10621,
                            "end": 10636,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 16
                              },
                              "end": {
                                "line": 306,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10621,
                              "end": 10625,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 16
                                },
                                "end": {
                                  "line": 306,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10626,
                              "end": 10636,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 21
                                },
                                "end": {
                                  "line": 306,
                                  "column": 31
                                },
                                "identifierName": "isDisabled"
                              },
                              "name": "isDisabled"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isEnabled()` method returns the inverse value of the `isDisabled()`\n     * method.\n     * \n     * `<Control disabled />` would cause `isEnabled()` to return `false`.\n     * \n     * `<Control />` would cause `isEnabled()` to return `true`.\n     ",
                    "start": 10324,
                    "end": 10586,
                    "loc": {
                      "start": {
                        "line": 297,
                        "column": 4
                      },
                      "end": {
                        "line": 304,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isFocused()` method returns a boolean which indicates the value of\n     * the `focused` property as passed into the component, as long as it\n     * is not `disabled`.\n     * \n     * `<Control focused />` would cause `isFocused()` to return `true`,\n     * unless the `Control` is disabled.\n     * \n     * `<Control focused disabled />` would cause `isFocused()` to return\n     * `false`, and is not a valid state for the Control component.\n     * \n     * `<Control />` would cause `isFocused()` to return `false`.\n     ",
                    "start": 10651,
                    "end": 11187,
                    "loc": {
                      "start": {
                        "line": 309,
                        "column": 4
                      },
                      "end": {
                        "line": 321,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 11192,
                "end": 11340,
                "loc": {
                  "start": {
                    "line": 322,
                    "column": 4
                  },
                  "end": {
                    "line": 327,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 11192,
                  "end": 11201,
                  "loc": {
                    "start": {
                      "line": 322,
                      "column": 4
                    },
                    "end": {
                      "line": 322,
                      "column": 13
                    },
                    "identifierName": "isFocused"
                  },
                  "name": "isFocused",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 11204,
                  "end": 11340,
                  "loc": {
                    "start": {
                      "line": 322,
                      "column": 16
                    },
                    "end": {
                      "line": 327,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 11214,
                      "end": 11257,
                      "loc": {
                        "start": {
                          "line": 323,
                          "column": 8
                        },
                        "end": {
                          "line": 325,
                          "column": 17
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11220,
                          "end": 11256,
                          "loc": {
                            "start": {
                              "line": 323,
                              "column": 14
                            },
                            "end": {
                              "line": 325,
                              "column": 16
                            }
                          },
                          "id": {
                            "type": "ObjectPattern",
                            "start": 11220,
                            "end": 11249,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 14
                              },
                              "end": {
                                "line": 325,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 11234,
                                "end": 11239,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 17
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 11234,
                                  "end": 11239,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 17
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 11234,
                                  "end": 11239,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 17
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "extra": {
                                  "shorthand": true
                                }
                              }
                            ]
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 11252,
                            "end": 11256,
                            "loc": {
                              "start": {
                                "line": 325,
                                "column": 12
                              },
                              "end": {
                                "line": 325,
                                "column": 16
                              }
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 11266,
                      "end": 11334,
                      "loc": {
                        "start": {
                          "line": 326,
                          "column": 8
                        },
                        "end": {
                          "line": 326,
                          "column": 76
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 11273,
                        "end": 11333,
                        "loc": {
                          "start": {
                            "line": 326,
                            "column": 15
                          },
                          "end": {
                            "line": 326,
                            "column": 75
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 11273,
                          "end": 11292,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 15
                            },
                            "end": {
                              "line": 326,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 11273,
                            "end": 11278,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 15
                              },
                              "end": {
                                "line": 326,
                                "column": 20
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          },
                          "operator": "!==",
                          "right": {
                            "type": "Identifier",
                            "start": 11283,
                            "end": 11292,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 25
                              },
                              "end": {
                                "line": 326,
                                "column": 34
                              },
                              "identifierName": "undefined"
                            },
                            "name": "undefined"
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "LogicalExpression",
                          "start": 11297,
                          "end": 11332,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 39
                            },
                            "end": {
                              "line": 326,
                              "column": 74
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 11297,
                            "end": 11312,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 39
                              },
                              "end": {
                                "line": 326,
                                "column": 54
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "UnaryExpression",
                              "start": 11298,
                              "end": 11312,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 40
                                },
                                "end": {
                                  "line": 326,
                                  "column": 54
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 11299,
                                "end": 11312,
                                "loc": {
                                  "start": {
                                    "line": 326,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 326,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 11299,
                                  "end": 11304,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 46
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11305,
                                  "end": 11312,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 326,
                                      "column": 54
                                    },
                                    "identifierName": "focused"
                                  },
                                  "name": "focused"
                                },
                                "computed": false
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "CallExpression",
                            "start": 11316,
                            "end": 11332,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 58
                              },
                              "end": {
                                "line": 326,
                                "column": 74
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11316,
                              "end": 11330,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 58
                                },
                                "end": {
                                  "line": 326,
                                  "column": 72
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 11316,
                                "end": 11320,
                                "loc": {
                                  "start": {
                                    "line": 326,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 326,
                                    "column": 62
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11321,
                                "end": 11330,
                                "loc": {
                                  "start": {
                                    "line": 326,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 326,
                                    "column": 72
                                  },
                                  "identifierName": "isEnabled"
                                },
                                "name": "isEnabled"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 11296
                          }
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isFocused()` method returns a boolean which indicates the value of\n     * the `focused` property as passed into the component, as long as it\n     * is not `disabled`.\n     * \n     * `<Control focused />` would cause `isFocused()` to return `true`,\n     * unless the `Control` is disabled.\n     * \n     * `<Control focused disabled />` would cause `isFocused()` to return\n     * `false`, and is not a valid state for the Control component.\n     * \n     * `<Control />` would cause `isFocused()` to return `false`.\n     ",
                    "start": 10651,
                    "end": 11187,
                    "loc": {
                      "start": {
                        "line": 309,
                        "column": 4
                      },
                      "end": {
                        "line": 321,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isFocusable()` method returns a boolean which indicates the value of the\n     * field, `focusable`. It is checked throughout other functions in Control, but\n     * can be safely overridden if you would like to extend Control so that it is\n     * `focusable`. The `focusable` field is normally set to `false` unless it is\n     * set manually, either using a consumer or by extending the `Control` class.\n     ",
                    "start": 11350,
                    "end": 11776,
                    "loc": {
                      "start": {
                        "line": 329,
                        "column": 4
                      },
                      "end": {
                        "line": 335,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 11781,
                "end": 11833,
                "loc": {
                  "start": {
                    "line": 336,
                    "column": 4
                  },
                  "end": {
                    "line": 338,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 11781,
                  "end": 11792,
                  "loc": {
                    "start": {
                      "line": 336,
                      "column": 4
                    },
                    "end": {
                      "line": 336,
                      "column": 15
                    },
                    "identifierName": "isFocusable"
                  },
                  "name": "isFocusable",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 11795,
                  "end": 11833,
                  "loc": {
                    "start": {
                      "line": 336,
                      "column": 18
                    },
                    "end": {
                      "line": 338,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 11805,
                      "end": 11827,
                      "loc": {
                        "start": {
                          "line": 337,
                          "column": 8
                        },
                        "end": {
                          "line": 337,
                          "column": 30
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 11812,
                        "end": 11826,
                        "loc": {
                          "start": {
                            "line": 337,
                            "column": 15
                          },
                          "end": {
                            "line": 337,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 11812,
                          "end": 11816,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 15
                            },
                            "end": {
                              "line": 337,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 11817,
                          "end": 11826,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 20
                            },
                            "end": {
                              "line": 337,
                              "column": 29
                            },
                            "identifierName": "focusable"
                          },
                          "name": "focusable"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isFocusable()` method returns a boolean which indicates the value of the\n     * field, `focusable`. It is checked throughout other functions in Control, but\n     * can be safely overridden if you would like to extend Control so that it is\n     * `focusable`. The `focusable` field is normally set to `false` unless it is\n     * set manually, either using a consumer or by extending the `Control` class.\n     ",
                    "start": 11350,
                    "end": 11776,
                    "loc": {
                      "start": {
                        "line": 329,
                        "column": 4
                      },
                      "end": {
                        "line": 335,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isBlurred()` method returns the inverse of the `isFocused()` method.\n     ",
                    "start": 11839,
                    "end": 11931,
                    "loc": {
                      "start": {
                        "line": 340,
                        "column": 4
                      },
                      "end": {
                        "line": 342,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 11936,
                "end": 11989,
                "loc": {
                  "start": {
                    "line": 343,
                    "column": 4
                  },
                  "end": {
                    "line": 345,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 11936,
                  "end": 11945,
                  "loc": {
                    "start": {
                      "line": 343,
                      "column": 4
                    },
                    "end": {
                      "line": 343,
                      "column": 13
                    },
                    "identifierName": "isBlurred"
                  },
                  "name": "isBlurred",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 11948,
                  "end": 11989,
                  "loc": {
                    "start": {
                      "line": 343,
                      "column": 16
                    },
                    "end": {
                      "line": 345,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 11958,
                      "end": 11983,
                      "loc": {
                        "start": {
                          "line": 344,
                          "column": 8
                        },
                        "end": {
                          "line": 344,
                          "column": 33
                        }
                      },
                      "argument": {
                        "type": "UnaryExpression",
                        "start": 11965,
                        "end": 11982,
                        "loc": {
                          "start": {
                            "line": 344,
                            "column": 15
                          },
                          "end": {
                            "line": 344,
                            "column": 32
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 11966,
                          "end": 11982,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 16
                            },
                            "end": {
                              "line": 344,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 11966,
                            "end": 11980,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 16
                              },
                              "end": {
                                "line": 344,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11966,
                              "end": 11970,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 16
                                },
                                "end": {
                                  "line": 344,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11971,
                              "end": 11980,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 21
                                },
                                "end": {
                                  "line": 344,
                                  "column": 30
                                },
                                "identifierName": "isFocused"
                              },
                              "name": "isFocused"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The `isBlurred()` method returns the inverse of the `isFocused()` method.\n     ",
                    "start": 11839,
                    "end": 11931,
                    "loc": {
                      "start": {
                        "line": 340,
                        "column": 4
                      },
                      "end": {
                        "line": 342,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 11995,
                "end": 12452,
                "loc": {
                  "start": {
                    "line": 347,
                    "column": 4
                  },
                  "end": {
                    "line": 362,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 11995,
                  "end": 12008,
                  "loc": {
                    "start": {
                      "line": 347,
                      "column": 4
                    },
                    "end": {
                      "line": 347,
                      "column": 17
                    },
                    "identifierName": "containsFocus"
                  },
                  "name": "containsFocus"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 12011,
                  "end": 12452,
                  "loc": {
                    "start": {
                      "line": 347,
                      "column": 20
                    },
                    "end": {
                      "line": 362,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 12021,
                      "end": 12064,
                      "loc": {
                        "start": {
                          "line": 348,
                          "column": 8
                        },
                        "end": {
                          "line": 350,
                          "column": 17
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12027,
                          "end": 12063,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 14
                            },
                            "end": {
                              "line": 350,
                              "column": 16
                            }
                          },
                          "id": {
                            "type": "ObjectPattern",
                            "start": 12027,
                            "end": 12056,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 14
                              },
                              "end": {
                                "line": 350,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 12041,
                                "end": 12046,
                                "loc": {
                                  "start": {
                                    "line": 349,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 349,
                                    "column": 17
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 12041,
                                  "end": 12046,
                                  "loc": {
                                    "start": {
                                      "line": 349,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 349,
                                      "column": 17
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 12041,
                                  "end": 12046,
                                  "loc": {
                                    "start": {
                                      "line": 349,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 349,
                                      "column": 17
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "extra": {
                                  "shorthand": true
                                }
                              }
                            ]
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 12059,
                            "end": 12063,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 12
                              },
                              "end": {
                                "line": 350,
                                "column": 16
                              }
                            }
                          }
                        }
                      ],
                      "kind": "const"
                    },
                    {
                      "type": "IfStatement",
                      "start": 12073,
                      "end": 12131,
                      "loc": {
                        "start": {
                          "line": 351,
                          "column": 8
                        },
                        "end": {
                          "line": 353,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 12077,
                        "end": 12093,
                        "loc": {
                          "start": {
                            "line": 351,
                            "column": 12
                          },
                          "end": {
                            "line": 351,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12077,
                          "end": 12091,
                          "loc": {
                            "start": {
                              "line": 351,
                              "column": 12
                            },
                            "end": {
                              "line": 351,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12077,
                            "end": 12081,
                            "loc": {
                              "start": {
                                "line": 351,
                                "column": 12
                              },
                              "end": {
                                "line": 351,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12082,
                            "end": 12091,
                            "loc": {
                              "start": {
                                "line": 351,
                                "column": 17
                              },
                              "end": {
                                "line": 351,
                                "column": 26
                              },
                              "identifierName": "isFocused"
                            },
                            "name": "isFocused"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12095,
                        "end": 12131,
                        "loc": {
                          "start": {
                            "line": 351,
                            "column": 30
                          },
                          "end": {
                            "line": 353,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 12109,
                            "end": 12121,
                            "loc": {
                              "start": {
                                "line": 352,
                                "column": 12
                              },
                              "end": {
                                "line": 352,
                                "column": 24
                              }
                            },
                            "argument": {
                              "type": "BooleanLiteral",
                              "start": 12116,
                              "end": 12120,
                              "loc": {
                                "start": {
                                  "line": 352,
                                  "column": 19
                                },
                                "end": {
                                  "line": 352,
                                  "column": 23
                                }
                              },
                              "value": true
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 12140,
                      "end": 12424,
                      "loc": {
                        "start": {
                          "line": 354,
                          "column": 8
                        },
                        "end": {
                          "line": 360,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12144,
                        "end": 12192,
                        "loc": {
                          "start": {
                            "line": 354,
                            "column": 12
                          },
                          "end": {
                            "line": 354,
                            "column": 60
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 12144,
                          "end": 12167,
                          "loc": {
                            "start": {
                              "line": 354,
                              "column": 12
                            },
                            "end": {
                              "line": 354,
                              "column": 35
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 12144,
                            "end": 12149,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 12
                              },
                              "end": {
                                "line": 354,
                                "column": 17
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          },
                          "operator": "&&",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12153,
                            "end": 12167,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 21
                              },
                              "end": {
                                "line": 354,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12153,
                              "end": 12158,
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 21
                                },
                                "end": {
                                  "line": 354,
                                  "column": 26
                                },
                                "identifierName": "props"
                              },
                              "name": "props"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12159,
                              "end": 12167,
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 27
                                },
                                "end": {
                                  "line": 354,
                                  "column": 35
                                },
                                "identifierName": "children"
                              },
                              "name": "children"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 12171,
                          "end": 12192,
                          "loc": {
                            "start": {
                              "line": 354,
                              "column": 39
                            },
                            "end": {
                              "line": 354,
                              "column": 60
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 12171,
                            "end": 12185,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 39
                              },
                              "end": {
                                "line": 354,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12171,
                              "end": 12176,
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 39
                                },
                                "end": {
                                  "line": 354,
                                  "column": 44
                                },
                                "identifierName": "props"
                              },
                              "name": "props"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12177,
                              "end": 12185,
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 45
                                },
                                "end": {
                                  "line": 354,
                                  "column": 53
                                },
                                "identifierName": "children"
                              },
                              "name": "children"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12186,
                            "end": 12192,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 54
                              },
                              "end": {
                                "line": 354,
                                "column": 60
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12194,
                        "end": 12424,
                        "loc": {
                          "start": {
                            "line": 354,
                            "column": 62
                          },
                          "end": {
                            "line": 360,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ForStatement",
                            "start": 12208,
                            "end": 12414,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 12
                              },
                              "end": {
                                "line": 359,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 12213,
                              "end": 12222,
                              "loc": {
                                "start": {
                                  "line": 355,
                                  "column": 17
                                },
                                "end": {
                                  "line": 355,
                                  "column": 26
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 12217,
                                  "end": 12222,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 26
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 12217,
                                    "end": 12218,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 22
                                      },
                                      "identifierName": "c"
                                    },
                                    "name": "c"
                                  },
                                  "init": {
                                    "type": "NumericLiteral",
                                    "start": 12221,
                                    "end": 12222,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 26
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  }
                                }
                              ],
                              "kind": "let"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 12224,
                              "end": 12249,
                              "loc": {
                                "start": {
                                  "line": 355,
                                  "column": 28
                                },
                                "end": {
                                  "line": 355,
                                  "column": 53
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 12224,
                                "end": 12225,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 29
                                  },
                                  "identifierName": "c"
                                },
                                "name": "c"
                              },
                              "operator": "<",
                              "right": {
                                "type": "MemberExpression",
                                "start": 12228,
                                "end": 12249,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 53
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 12228,
                                  "end": 12242,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 12228,
                                    "end": 12233,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 37
                                      },
                                      "identifierName": "props"
                                    },
                                    "name": "props"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 12234,
                                    "end": 12242,
                                    "loc": {
                                      "start": {
                                        "line": 355,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 355,
                                        "column": 46
                                      },
                                      "identifierName": "children"
                                    },
                                    "name": "children"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12243,
                                  "end": 12249,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 53
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 12251,
                              "end": 12254,
                              "loc": {
                                "start": {
                                  "line": 355,
                                  "column": 55
                                },
                                "end": {
                                  "line": 355,
                                  "column": 58
                                }
                              },
                              "operator": "++",
                              "prefix": false,
                              "argument": {
                                "type": "Identifier",
                                "start": 12251,
                                "end": 12252,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 56
                                  },
                                  "identifierName": "c"
                                },
                                "name": "c"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 12256,
                              "end": 12414,
                              "loc": {
                                "start": {
                                  "line": 355,
                                  "column": 60
                                },
                                "end": {
                                  "line": 359,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 12274,
                                  "end": 12400,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 32
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 12278,
                                    "end": 12366,
                                    "loc": {
                                      "start": {
                                        "line": 356,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 357,
                                        "column": 53
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 12278,
                                      "end": 12309,
                                      "loc": {
                                        "start": {
                                          "line": 356,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 356,
                                          "column": 51
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 12278,
                                        "end": 12295,
                                        "loc": {
                                          "start": {
                                            "line": 356,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 356,
                                            "column": 37
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 12278,
                                          "end": 12292,
                                          "loc": {
                                            "start": {
                                              "line": 356,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 356,
                                              "column": 34
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 12278,
                                            "end": 12283,
                                            "loc": {
                                              "start": {
                                                "line": 356,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 356,
                                                "column": 25
                                              },
                                              "identifierName": "props"
                                            },
                                            "name": "props"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 12284,
                                            "end": 12292,
                                            "loc": {
                                              "start": {
                                                "line": 356,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 356,
                                                "column": 34
                                              },
                                              "identifierName": "children"
                                            },
                                            "name": "children"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 12293,
                                          "end": 12294,
                                          "loc": {
                                            "start": {
                                              "line": 356,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 356,
                                              "column": 36
                                            },
                                            "identifierName": "c"
                                          },
                                          "name": "c"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 12296,
                                        "end": 12309,
                                        "loc": {
                                          "start": {
                                            "line": 356,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 356,
                                            "column": 51
                                          },
                                          "identifierName": "containsFocus"
                                        },
                                        "name": "containsFocus"
                                      },
                                      "computed": false
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 12333,
                                      "end": 12366,
                                      "loc": {
                                        "start": {
                                          "line": 357,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 357,
                                          "column": 53
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 12333,
                                        "end": 12364,
                                        "loc": {
                                          "start": {
                                            "line": 357,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 357,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 12333,
                                          "end": 12350,
                                          "loc": {
                                            "start": {
                                              "line": 357,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 357,
                                              "column": 37
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 12333,
                                            "end": 12347,
                                            "loc": {
                                              "start": {
                                                "line": 357,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 357,
                                                "column": 34
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 12333,
                                              "end": 12338,
                                              "loc": {
                                                "start": {
                                                  "line": 357,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 357,
                                                  "column": 25
                                                },
                                                "identifierName": "props"
                                              },
                                              "name": "props"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 12339,
                                              "end": 12347,
                                              "loc": {
                                                "start": {
                                                  "line": 357,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 357,
                                                  "column": 34
                                                },
                                                "identifierName": "children"
                                              },
                                              "name": "children"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 12348,
                                            "end": 12349,
                                            "loc": {
                                              "start": {
                                                "line": 357,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 357,
                                                "column": 36
                                              },
                                              "identifierName": "c"
                                            },
                                            "name": "c"
                                          },
                                          "computed": true
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 12351,
                                          "end": 12364,
                                          "loc": {
                                            "start": {
                                              "line": 357,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 357,
                                              "column": 51
                                            },
                                            "identifierName": "containsFocus"
                                          },
                                          "name": "containsFocus"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    }
                                  },
                                  "consequent": {
                                    "type": "ReturnStatement",
                                    "start": 12388,
                                    "end": 12400,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 32
                                      }
                                    },
                                    "argument": {
                                      "type": "BooleanLiteral",
                                      "start": 12395,
                                      "end": 12399,
                                      "loc": {
                                        "start": {
                                          "line": 358,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 358,
                                          "column": 31
                                        }
                                      },
                                      "value": true
                                    }
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 12433,
                      "end": 12446,
                      "loc": {
                        "start": {
                          "line": 361,
                          "column": 8
                        },
                        "end": {
                          "line": 361,
                          "column": 21
                        }
                      },
                      "argument": {
                        "type": "BooleanLiteral",
                        "start": 12440,
                        "end": 12445,
                        "loc": {
                          "start": {
                            "line": 361,
                            "column": 15
                          },
                          "end": {
                            "line": 361,
                            "column": 20
                          }
                        },
                        "value": false
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 12462,
                "end": 12551,
                "loc": {
                  "start": {
                    "line": 364,
                    "column": 4
                  },
                  "end": {
                    "line": 366,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 12462,
                  "end": 12479,
                  "loc": {
                    "start": {
                      "line": 364,
                      "column": 4
                    },
                    "end": {
                      "line": 364,
                      "column": 21
                    },
                    "identifierName": "containsFocusable"
                  },
                  "name": "containsFocusable"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 12482,
                  "end": 12551,
                  "loc": {
                    "start": {
                      "line": 364,
                      "column": 24
                    },
                    "end": {
                      "line": 366,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 12492,
                      "end": 12545,
                      "loc": {
                        "start": {
                          "line": 365,
                          "column": 8
                        },
                        "end": {
                          "line": 365,
                          "column": 61
                        }
                      },
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 12499,
                        "end": 12544,
                        "loc": {
                          "start": {
                            "line": 365,
                            "column": 15
                          },
                          "end": {
                            "line": 365,
                            "column": 60
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 12499,
                          "end": 12536,
                          "loc": {
                            "start": {
                              "line": 365,
                              "column": 15
                            },
                            "end": {
                              "line": 365,
                              "column": 52
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 12499,
                            "end": 12530,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 15
                              },
                              "end": {
                                "line": 365,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12499,
                              "end": 12506,
                              "loc": {
                                "start": {
                                  "line": 365,
                                  "column": 15
                                },
                                "end": {
                                  "line": 365,
                                  "column": 22
                                },
                                "identifierName": "Control"
                              },
                              "name": "Control"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12507,
                              "end": 12530,
                              "loc": {
                                "start": {
                                  "line": 365,
                                  "column": 23
                                },
                                "end": {
                                  "line": 365,
                                  "column": 46
                                },
                                "identifierName": "firstFocusableControlOf"
                              },
                              "name": "firstFocusableControlOf"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 12531,
                              "end": 12535,
                              "loc": {
                                "start": {
                                  "line": 365,
                                  "column": 47
                                },
                                "end": {
                                  "line": 365,
                                  "column": 51
                                }
                              }
                            }
                          ]
                        },
                        "operator": "!=",
                        "right": {
                          "type": "NullLiteral",
                          "start": 12540,
                          "end": 12544,
                          "loc": {
                            "start": {
                              "line": 365,
                              "column": 56
                            },
                            "end": {
                              "line": 365,
                              "column": 60
                            }
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 12561,
                "end": 12633,
                "loc": {
                  "start": {
                    "line": 368,
                    "column": 4
                  },
                  "end": {
                    "line": 370,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 12561,
                  "end": 12572,
                  "loc": {
                    "start": {
                      "line": 368,
                      "column": 4
                    },
                    "end": {
                      "line": 368,
                      "column": 15
                    },
                    "identifierName": "hasChildren"
                  },
                  "name": "hasChildren"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 12575,
                  "end": 12633,
                  "loc": {
                    "start": {
                      "line": 368,
                      "column": 18
                    },
                    "end": {
                      "line": 370,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 12585,
                      "end": 12627,
                      "loc": {
                        "start": {
                          "line": 369,
                          "column": 8
                        },
                        "end": {
                          "line": 369,
                          "column": 50
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 12592,
                        "end": 12626,
                        "loc": {
                          "start": {
                            "line": 369,
                            "column": 15
                          },
                          "end": {
                            "line": 369,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12592,
                          "end": 12620,
                          "loc": {
                            "start": {
                              "line": 369,
                              "column": 15
                            },
                            "end": {
                              "line": 369,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12592,
                            "end": 12599,
                            "loc": {
                              "start": {
                                "line": 369,
                                "column": 15
                              },
                              "end": {
                                "line": 369,
                                "column": 22
                              },
                              "identifierName": "Control"
                            },
                            "name": "Control"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12600,
                            "end": 12620,
                            "loc": {
                              "start": {
                                "line": 369,
                                "column": 23
                              },
                              "end": {
                                "line": 369,
                                "column": 43
                              },
                              "identifierName": "componentHasChildren"
                            },
                            "name": "componentHasChildren"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 12621,
                            "end": 12625,
                            "loc": {
                              "start": {
                                "line": 369,
                                "column": 44
                              },
                              "end": {
                                "line": 369,
                                "column": 48
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentLine",
                    "value": " /**",
                    "start": 12643,
                    "end": 12649,
                    "loc": {
                      "start": {
                        "line": 372,
                        "column": 4
                      },
                      "end": {
                        "line": 372,
                        "column": 10
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "  * Renders a child component from the `props.children` array.",
                    "start": 12654,
                    "end": 12718,
                    "loc": {
                      "start": {
                        "line": 373,
                        "column": 4
                      },
                      "end": {
                        "line": 373,
                        "column": 68
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "  */",
                    "start": 12723,
                    "end": 12729,
                    "loc": {
                      "start": {
                        "line": 374,
                        "column": 4
                      },
                      "end": {
                        "line": 374,
                        "column": 10
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " // eslint-disable-next-line class-methods-use-this, no-unused-vars",
                    "start": 12734,
                    "end": 12803,
                    "loc": {
                      "start": {
                        "line": 375,
                        "column": 4
                      },
                      "end": {
                        "line": 375,
                        "column": 73
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " renderChild(child, index, childrenArray) {",
                    "start": 12808,
                    "end": 12853,
                    "loc": {
                      "start": {
                        "line": 376,
                        "column": 4
                      },
                      "end": {
                        "line": 376,
                        "column": 49
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     return child; // as-is",
                    "start": 12858,
                    "end": 12887,
                    "loc": {
                      "start": {
                        "line": 377,
                        "column": 4
                      },
                      "end": {
                        "line": 377,
                        "column": 33
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     // return (",
                    "start": 12892,
                    "end": 12910,
                    "loc": {
                      "start": {
                        "line": 378,
                        "column": 4
                      },
                      "end": {
                        "line": 378,
                        "column": 22
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     //     // child as-is if it's a Control",
                    "start": 12915,
                    "end": 12961,
                    "loc": {
                      "start": {
                        "line": 379,
                        "column": 4
                      },
                      "end": {
                        "line": 379,
                        "column": 50
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     //     (Control.isControl(child) && child)",
                    "start": 12966,
                    "end": 13015,
                    "loc": {
                      "start": {
                        "line": 380,
                        "column": 4
                      },
                      "end": {
                        "line": 380,
                        "column": 53
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     //     // otherwise we need to wrap it up",
                    "start": 13020,
                    "end": 13068,
                    "loc": {
                      "start": {
                        "line": 381,
                        "column": 4
                      },
                      "end": {
                        "line": 381,
                        "column": 52
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     //     || (<Control wrapComponent={child} />)",
                    "start": 13073,
                    "end": 13125,
                    "loc": {
                      "start": {
                        "line": 382,
                        "column": 4
                      },
                      "end": {
                        "line": 382,
                        "column": 56
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     // );",
                    "start": 13130,
                    "end": 13142,
                    "loc": {
                      "start": {
                        "line": 383,
                        "column": 4
                      },
                      "end": {
                        "line": 383,
                        "column": 16
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " }",
                    "start": 13147,
                    "end": 13151,
                    "loc": {
                      "start": {
                        "line": 384,
                        "column": 4
                      },
                      "end": {
                        "line": 384,
                        "column": 8
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " renderChildren() {",
                    "start": 13157,
                    "end": 13178,
                    "loc": {
                      "start": {
                        "line": 386,
                        "column": 4
                      },
                      "end": {
                        "line": 386,
                        "column": 25
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     const { props } = this;",
                    "start": 13183,
                    "end": 13213,
                    "loc": {
                      "start": {
                        "line": 387,
                        "column": 4
                      },
                      "end": {
                        "line": 387,
                        "column": 34
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     return (",
                    "start": 13218,
                    "end": 13233,
                    "loc": {
                      "start": {
                        "line": 388,
                        "column": 4
                      },
                      "end": {
                        "line": 388,
                        "column": 19
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         this.hasChildren() &&",
                    "start": 13238,
                    "end": 13270,
                    "loc": {
                      "start": {
                        "line": 389,
                        "column": 4
                      },
                      "end": {
                        "line": 389,
                        "column": 36
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         props.children.map(this.renderChild)",
                    "start": 13275,
                    "end": 13322,
                    "loc": {
                      "start": {
                        "line": 390,
                        "column": 4
                      },
                      "end": {
                        "line": 390,
                        "column": 51
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     ) || [];",
                    "start": 13327,
                    "end": 13342,
                    "loc": {
                      "start": {
                        "line": 391,
                        "column": 4
                      },
                      "end": {
                        "line": 391,
                        "column": 19
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " }",
                    "start": 13347,
                    "end": 13351,
                    "loc": {
                      "start": {
                        "line": 392,
                        "column": 4
                      },
                      "end": {
                        "line": 392,
                        "column": 8
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " renderWrappedComponent() {",
                    "start": 13357,
                    "end": 13386,
                    "loc": {
                      "start": {
                        "line": 394,
                        "column": 4
                      },
                      "end": {
                        "line": 394,
                        "column": 33
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     const { props } = this;",
                    "start": 13391,
                    "end": 13421,
                    "loc": {
                      "start": {
                        "line": 395,
                        "column": 4
                      },
                      "end": {
                        "line": 395,
                        "column": 34
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     return (",
                    "start": 13426,
                    "end": 13441,
                    "loc": {
                      "start": {
                        "line": 396,
                        "column": 4
                      },
                      "end": {
                        "line": 396,
                        "column": 19
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         props",
                    "start": 13446,
                    "end": 13462,
                    "loc": {
                      "start": {
                        "line": 397,
                        "column": 4
                      },
                      "end": {
                        "line": 397,
                        "column": 20
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         && props.wrapComponent",
                    "start": 13467,
                    "end": 13500,
                    "loc": {
                      "start": {
                        "line": 398,
                        "column": 4
                      },
                      "end": {
                        "line": 398,
                        "column": 37
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         (",
                    "start": 13505,
                    "end": 13517,
                    "loc": {
                      "start": {
                        "line": 399,
                        "column": 4
                      },
                      "end": {
                        "line": 399,
                        "column": 16
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "             (Control.isControl(props.wrapComponent)",
                    "start": 13522,
                    "end": 13576,
                    "loc": {
                      "start": {
                        "line": 400,
                        "column": 4
                      },
                      "end": {
                        "line": 400,
                        "column": 58
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "                 && props.wrapComponent)",
                    "start": 13581,
                    "end": 13623,
                    "loc": {
                      "start": {
                        "line": 401,
                        "column": 4
                      },
                      "end": {
                        "line": 401,
                        "column": 46
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "             || (Control.isReactComponent(props.wrapComponent)",
                    "start": 13628,
                    "end": 13692,
                    "loc": {
                      "start": {
                        "line": 402,
                        "column": 4
                      },
                      "end": {
                        "line": 402,
                        "column": 68
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "                 && Control.wrapComponent(props.wrapComponent))",
                    "start": 13697,
                    "end": 13762,
                    "loc": {
                      "start": {
                        "line": 403,
                        "column": 4
                      },
                      "end": {
                        "line": 403,
                        "column": 69
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         )",
                    "start": 13767,
                    "end": 13779,
                    "loc": {
                      "start": {
                        "line": 404,
                        "column": 4
                      },
                      "end": {
                        "line": 404,
                        "column": 16
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     ) || null;",
                    "start": 13784,
                    "end": 13801,
                    "loc": {
                      "start": {
                        "line": 405,
                        "column": 4
                      },
                      "end": {
                        "line": 405,
                        "column": 21
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " }",
                    "start": 13806,
                    "end": 13810,
                    "loc": {
                      "start": {
                        "line": 406,
                        "column": 4
                      },
                      "end": {
                        "line": 406,
                        "column": 8
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 13816,
                "end": 14284,
                "loc": {
                  "start": {
                    "line": 408,
                    "column": 4
                  },
                  "end": {
                    "line": 421,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 13816,
                  "end": 13822,
                  "loc": {
                    "start": {
                      "line": 408,
                      "column": 4
                    },
                    "end": {
                      "line": 408,
                      "column": 10
                    },
                    "identifierName": "render"
                  },
                  "name": "render",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 13825,
                  "end": 14284,
                  "loc": {
                    "start": {
                      "line": 408,
                      "column": 13
                    },
                    "end": {
                      "line": 421,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 14218,
                      "end": 14241,
                      "loc": {
                        "start": {
                          "line": 419,
                          "column": 8
                        },
                        "end": {
                          "line": 419,
                          "column": 31
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 14224,
                          "end": 14240,
                          "loc": {
                            "start": {
                              "line": 419,
                              "column": 14
                            },
                            "end": {
                              "line": 419,
                              "column": 30
                            }
                          },
                          "id": {
                            "type": "ObjectPattern",
                            "start": 14224,
                            "end": 14233,
                            "loc": {
                              "start": {
                                "line": 419,
                                "column": 14
                              },
                              "end": {
                                "line": 419,
                                "column": 23
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 14226,
                                "end": 14231,
                                "loc": {
                                  "start": {
                                    "line": 419,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 419,
                                    "column": 21
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 14226,
                                  "end": 14231,
                                  "loc": {
                                    "start": {
                                      "line": 419,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 419,
                                      "column": 21
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props",
                                  "leadingComments": null
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 14226,
                                  "end": 14231,
                                  "loc": {
                                    "start": {
                                      "line": 419,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 419,
                                      "column": 21
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "leadingComments": null,
                                "extra": {
                                  "shorthand": true
                                }
                              }
                            ],
                            "leadingComments": null
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 14236,
                            "end": 14240,
                            "loc": {
                              "start": {
                                "line": 419,
                                "column": 26
                              },
                              "end": {
                                "line": 419,
                                "column": 30
                              }
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "const",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " const outputs = [];",
                          "start": 13835,
                          "end": 13857,
                          "loc": {
                            "start": {
                              "line": 409,
                              "column": 8
                            },
                            "end": {
                              "line": 409,
                              "column": 30
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " const wrapped = this.renderWrappedComponent();",
                          "start": 13866,
                          "end": 13915,
                          "loc": {
                            "start": {
                              "line": 410,
                              "column": 8
                            },
                            "end": {
                              "line": 410,
                              "column": 57
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " if (wrapped)",
                          "start": 13924,
                          "end": 13939,
                          "loc": {
                            "start": {
                              "line": 411,
                              "column": 8
                            },
                            "end": {
                              "line": 411,
                              "column": 23
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": "     outputs.push(wrapped);",
                          "start": 13948,
                          "end": 13977,
                          "loc": {
                            "start": {
                              "line": 412,
                              "column": 8
                            },
                            "end": {
                              "line": 412,
                              "column": 37
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " outputs.concat(this.renderChildren());",
                          "start": 13986,
                          "end": 14027,
                          "loc": {
                            "start": {
                              "line": 413,
                              "column": 8
                            },
                            "end": {
                              "line": 413,
                              "column": 49
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " if (outputs.length === 0) return null;",
                          "start": 14036,
                          "end": 14077,
                          "loc": {
                            "start": {
                              "line": 414,
                              "column": 8
                            },
                            "end": {
                              "line": 414,
                              "column": 49
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " if (outputs.length === 1) return outputs[0];",
                          "start": 14086,
                          "end": 14133,
                          "loc": {
                            "start": {
                              "line": 415,
                              "column": 8
                            },
                            "end": {
                              "line": 415,
                              "column": 55
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " return (",
                          "start": 14142,
                          "end": 14153,
                          "loc": {
                            "start": {
                              "line": 416,
                              "column": 8
                            },
                            "end": {
                              "line": 416,
                              "column": 19
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": "   <Control>{outputs}</Control>",
                          "start": 14162,
                          "end": 14195,
                          "loc": {
                            "start": {
                              "line": 417,
                              "column": 8
                            },
                            "end": {
                              "line": 417,
                              "column": 41
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " );",
                          "start": 14204,
                          "end": 14209,
                          "loc": {
                            "start": {
                              "line": 418,
                              "column": 8
                            },
                            "end": {
                              "line": 418,
                              "column": 13
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 14250,
                      "end": 14278,
                      "loc": {
                        "start": {
                          "line": 420,
                          "column": 8
                        },
                        "end": {
                          "line": 420,
                          "column": 36
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 14257,
                        "end": 14277,
                        "loc": {
                          "start": {
                            "line": 420,
                            "column": 15
                          },
                          "end": {
                            "line": 420,
                            "column": 35
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 14257,
                          "end": 14271,
                          "loc": {
                            "start": {
                              "line": 420,
                              "column": 15
                            },
                            "end": {
                              "line": 420,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14257,
                            "end": 14262,
                            "loc": {
                              "start": {
                                "line": 420,
                                "column": 15
                              },
                              "end": {
                                "line": 420,
                                "column": 20
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14263,
                            "end": 14271,
                            "loc": {
                              "start": {
                                "line": 420,
                                "column": 21
                              },
                              "end": {
                                "line": 420,
                                "column": 29
                              },
                              "identifierName": "children"
                            },
                            "name": "children"
                          },
                          "computed": false
                        },
                        "operator": "||",
                        "right": {
                          "type": "NullLiteral",
                          "start": 14273,
                          "end": 14277,
                          "loc": {
                            "start": {
                              "line": 420,
                              "column": 31
                            },
                            "end": {
                              "line": 420,
                              "column": 35
                            }
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": " /**",
                    "start": 12643,
                    "end": 12649,
                    "loc": {
                      "start": {
                        "line": 372,
                        "column": 4
                      },
                      "end": {
                        "line": 372,
                        "column": 10
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "  * Renders a child component from the `props.children` array.",
                    "start": 12654,
                    "end": 12718,
                    "loc": {
                      "start": {
                        "line": 373,
                        "column": 4
                      },
                      "end": {
                        "line": 373,
                        "column": 68
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "  */",
                    "start": 12723,
                    "end": 12729,
                    "loc": {
                      "start": {
                        "line": 374,
                        "column": 4
                      },
                      "end": {
                        "line": 374,
                        "column": 10
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " // eslint-disable-next-line class-methods-use-this, no-unused-vars",
                    "start": 12734,
                    "end": 12803,
                    "loc": {
                      "start": {
                        "line": 375,
                        "column": 4
                      },
                      "end": {
                        "line": 375,
                        "column": 73
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " renderChild(child, index, childrenArray) {",
                    "start": 12808,
                    "end": 12853,
                    "loc": {
                      "start": {
                        "line": 376,
                        "column": 4
                      },
                      "end": {
                        "line": 376,
                        "column": 49
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     return child; // as-is",
                    "start": 12858,
                    "end": 12887,
                    "loc": {
                      "start": {
                        "line": 377,
                        "column": 4
                      },
                      "end": {
                        "line": 377,
                        "column": 33
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     // return (",
                    "start": 12892,
                    "end": 12910,
                    "loc": {
                      "start": {
                        "line": 378,
                        "column": 4
                      },
                      "end": {
                        "line": 378,
                        "column": 22
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     //     // child as-is if it's a Control",
                    "start": 12915,
                    "end": 12961,
                    "loc": {
                      "start": {
                        "line": 379,
                        "column": 4
                      },
                      "end": {
                        "line": 379,
                        "column": 50
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     //     (Control.isControl(child) && child)",
                    "start": 12966,
                    "end": 13015,
                    "loc": {
                      "start": {
                        "line": 380,
                        "column": 4
                      },
                      "end": {
                        "line": 380,
                        "column": 53
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     //     // otherwise we need to wrap it up",
                    "start": 13020,
                    "end": 13068,
                    "loc": {
                      "start": {
                        "line": 381,
                        "column": 4
                      },
                      "end": {
                        "line": 381,
                        "column": 52
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     //     || (<Control wrapComponent={child} />)",
                    "start": 13073,
                    "end": 13125,
                    "loc": {
                      "start": {
                        "line": 382,
                        "column": 4
                      },
                      "end": {
                        "line": 382,
                        "column": 56
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     // );",
                    "start": 13130,
                    "end": 13142,
                    "loc": {
                      "start": {
                        "line": 383,
                        "column": 4
                      },
                      "end": {
                        "line": 383,
                        "column": 16
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " }",
                    "start": 13147,
                    "end": 13151,
                    "loc": {
                      "start": {
                        "line": 384,
                        "column": 4
                      },
                      "end": {
                        "line": 384,
                        "column": 8
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " renderChildren() {",
                    "start": 13157,
                    "end": 13178,
                    "loc": {
                      "start": {
                        "line": 386,
                        "column": 4
                      },
                      "end": {
                        "line": 386,
                        "column": 25
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     const { props } = this;",
                    "start": 13183,
                    "end": 13213,
                    "loc": {
                      "start": {
                        "line": 387,
                        "column": 4
                      },
                      "end": {
                        "line": 387,
                        "column": 34
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     return (",
                    "start": 13218,
                    "end": 13233,
                    "loc": {
                      "start": {
                        "line": 388,
                        "column": 4
                      },
                      "end": {
                        "line": 388,
                        "column": 19
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         this.hasChildren() &&",
                    "start": 13238,
                    "end": 13270,
                    "loc": {
                      "start": {
                        "line": 389,
                        "column": 4
                      },
                      "end": {
                        "line": 389,
                        "column": 36
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         props.children.map(this.renderChild)",
                    "start": 13275,
                    "end": 13322,
                    "loc": {
                      "start": {
                        "line": 390,
                        "column": 4
                      },
                      "end": {
                        "line": 390,
                        "column": 51
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     ) || [];",
                    "start": 13327,
                    "end": 13342,
                    "loc": {
                      "start": {
                        "line": 391,
                        "column": 4
                      },
                      "end": {
                        "line": 391,
                        "column": 19
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " }",
                    "start": 13347,
                    "end": 13351,
                    "loc": {
                      "start": {
                        "line": 392,
                        "column": 4
                      },
                      "end": {
                        "line": 392,
                        "column": 8
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " renderWrappedComponent() {",
                    "start": 13357,
                    "end": 13386,
                    "loc": {
                      "start": {
                        "line": 394,
                        "column": 4
                      },
                      "end": {
                        "line": 394,
                        "column": 33
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     const { props } = this;",
                    "start": 13391,
                    "end": 13421,
                    "loc": {
                      "start": {
                        "line": 395,
                        "column": 4
                      },
                      "end": {
                        "line": 395,
                        "column": 34
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     return (",
                    "start": 13426,
                    "end": 13441,
                    "loc": {
                      "start": {
                        "line": 396,
                        "column": 4
                      },
                      "end": {
                        "line": 396,
                        "column": 19
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         props",
                    "start": 13446,
                    "end": 13462,
                    "loc": {
                      "start": {
                        "line": 397,
                        "column": 4
                      },
                      "end": {
                        "line": 397,
                        "column": 20
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         && props.wrapComponent",
                    "start": 13467,
                    "end": 13500,
                    "loc": {
                      "start": {
                        "line": 398,
                        "column": 4
                      },
                      "end": {
                        "line": 398,
                        "column": 37
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         (",
                    "start": 13505,
                    "end": 13517,
                    "loc": {
                      "start": {
                        "line": 399,
                        "column": 4
                      },
                      "end": {
                        "line": 399,
                        "column": 16
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "             (Control.isControl(props.wrapComponent)",
                    "start": 13522,
                    "end": 13576,
                    "loc": {
                      "start": {
                        "line": 400,
                        "column": 4
                      },
                      "end": {
                        "line": 400,
                        "column": 58
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "                 && props.wrapComponent)",
                    "start": 13581,
                    "end": 13623,
                    "loc": {
                      "start": {
                        "line": 401,
                        "column": 4
                      },
                      "end": {
                        "line": 401,
                        "column": 46
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "             || (Control.isReactComponent(props.wrapComponent)",
                    "start": 13628,
                    "end": 13692,
                    "loc": {
                      "start": {
                        "line": 402,
                        "column": 4
                      },
                      "end": {
                        "line": 402,
                        "column": 68
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "                 && Control.wrapComponent(props.wrapComponent))",
                    "start": 13697,
                    "end": 13762,
                    "loc": {
                      "start": {
                        "line": 403,
                        "column": 4
                      },
                      "end": {
                        "line": 403,
                        "column": 69
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "         )",
                    "start": 13767,
                    "end": 13779,
                    "loc": {
                      "start": {
                        "line": 404,
                        "column": 4
                      },
                      "end": {
                        "line": 404,
                        "column": 16
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     ) || null;",
                    "start": 13784,
                    "end": 13801,
                    "loc": {
                      "start": {
                        "line": 405,
                        "column": 4
                      },
                      "end": {
                        "line": 405,
                        "column": 21
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " }",
                    "start": 13806,
                    "end": 13810,
                    "loc": {
                      "start": {
                        "line": 406,
                        "column": 4
                      },
                      "end": {
                        "line": 406,
                        "column": 8
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * Defines the base class for controls, which are components with visual representation.\n ",
              "start": 947,
              "end": 1043,
              "loc": {
                "start": {
                  "line": 23,
                  "column": 0
                },
                "end": {
                  "line": 25,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Defines the base class for controls, which are components with visual representation.\n ",
            "start": 947,
            "end": 1043,
            "loc": {
              "start": {
                "line": 23,
                "column": 0
              },
              "end": {
                "line": 25,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": " eslint no-plusplus: [\"error\", { \"allowForLoopAfterthoughts\": true }] ",
      "start": 0,
      "end": 74,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 74
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * \n *  ██▓ ███▄    █  ██ ▄█▀     ██████  ██▓███   ██▓    ▄▄▄     ▄▄▄█████▓\n *  ▓██▒ ██ ▀█   █  ██▄█▒    ▒██    ▒ ▓██░  ██▒▓██▒   ▒████▄   ▓  ██▒ ▓▒\n *  ▒██▒▓██  ▀█ ██▒▓███▄░    ░ ▓██▄   ▓██░ ██▓▒▒██░   ▒██  ▀█▄ ▒ ▓██░ ▒░\n *  ░██░▓██▒  ▐▌██▒▓██ █▄      ▒   ██▒▒██▄█▓▒ ▒▒██░   ░██▄▄▄▄██░ ▓██▓ ░\n *  ░██░▒██░   ▓██░▒██▒ █▄   ▒██████▒▒▒██▒ ░  ░░██████▒▓█   ▓██▒ ▒██▒ ░\n *  ░▓  ░ ▒░   ▒ ▒ ▒ ▒▒ ▓▒   ▒ ▒▓▒ ▒ ░▒▓▒░ ░  ░░ ▒░▓  ░▒▒   ▓▒█░ ▒ ░░\n *  ▒ ░░ ░░   ░ ▒░░ ░▒ ▒░   ░ ░▒  ░ ░░▒ ░     ░ ░ ▒  ░ ▒   ▒▒ ░   ░\n *  ▒ ░   ░   ░ ░ ░ ░░ ░    ░  ░  ░  ░░         ░ ░    ░   ▒    ░\n *  ░           ░ ░  ░            ░               ░  ░     ░  ░\n * \n * LICENSE: MIT\n ",
      "start": 75,
      "end": 736,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Defines the base class for controls, which are components with visual representation.\n ",
      "start": 947,
      "end": 1043,
      "loc": {
        "start": {
          "line": 23,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * BLUR_DIRECTION indicates the direction a onBlur() should\n     * move focus to next.\n     ",
      "start": 1103,
      "end": 1205,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * REVERSE indicates the next focused component will be the previous\n         * tab order.\n         ",
      "start": 1244,
      "end": 1358,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * FORWARD indicates the next focused component will be the next\n         * tab order.\n         ",
      "start": 1408,
      "end": 1518,
      "loc": {
        "start": {
          "line": 37,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * DEFAULT direction is FORWARD.\n         ",
      "start": 1568,
      "end": 1624,
      "loc": {
        "start": {
          "line": 42,
          "column": 8
        },
        "end": {
          "line": 44,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `Control` (if passed an object) or a class derived from\n     * `Control` (if passed a function) or a component derived from `Control`.\n     * \n     * @param {*} anyComponentOrClass Any valid React component or React component class or instance\n     * or derived component or class or instance.\n     * @return `true` if `anyComponentOrClass` validates, `false` otherwise.\n     ",
      "start": 1681,
      "end": 2177,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 56,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `React.Component` (if passed an object) or a class derived from\n     * `React.Component` (if passed a function) or a component derived from `React.Component`.\n     * \n     * @param {*} anyComponentOrClass Any valid React component or React component class or instance\n     * or derived component or class or instance.\n     * @return `true` if `anyComponentOrClass` validates, `false` otherwise.\n     ",
      "start": 2305,
      "end": 2825,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 69,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Checks a React component to see if it has any children in props.\n     * \n     * @param {*} component A proposed React component to inspect.\n     ",
      "start": 3230,
      "end": 3388,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 82,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * \n     * @param {*} controlOrComponent \n     ",
      "start": 3710,
      "end": 3767,
      "loc": {
        "start": {
          "line": 91,
          "column": 4
        },
        "end": {
          "line": 94,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " recursive call into firstFocusableControlOf(child)",
      "start": 4297,
      "end": 4350,
      "loc": {
        "start": {
          "line": 106,
          "column": 20
        },
        "end": {
          "line": 106,
          "column": 73
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * \n     ",
      "start": 4698,
      "end": 4717,
      "loc": {
        "start": {
          "line": 121,
          "column": 4
        },
        "end": {
          "line": 123,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " recursive call into firstFocusableControlOf(child)",
      "start": 5304,
      "end": 5357,
      "loc": {
        "start": {
          "line": 139,
          "column": 20
        },
        "end": {
          "line": 139,
          "column": 73
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " A basic Control, by itself, isn't focusable.",
      "start": 6758,
      "end": 6805,
      "loc": {
        "start": {
          "line": 196,
          "column": 8
        },
        "end": {
          "line": 196,
          "column": 55
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Some of it's child Controls will be focusable, and need to specify",
      "start": 6814,
      "end": 6883,
      "loc": {
        "start": {
          "line": 197,
          "column": 8
        },
        "end": {
          "line": 197,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " when that is the case.",
      "start": 6892,
      "end": 6917,
      "loc": {
        "start": {
          "line": 198,
          "column": 8
        },
        "end": {
          "line": 198,
          "column": 33
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if a Control instance is focusable.\n     * \n     * The default behavior is to always return true unless it is already focused.\n     * \n     * The select(control) default behavior will always check the Control instance's canFocus()\n     * before doing any work.\n     * \n     * Most Controls which exist will be focusable. It is the default behavior that a derived\n     * Control class is always focusable.\n     * \n     * If you want to disable focusable in a specific way, you can override the function and\n     * return false instead of true.\n     * \n     * For example, consider a TextField whose input might be disabled for now. During the\n     * disabled state, canFocus() would return false, but otherwise return true.\n     ",
      "start": 6961,
      "end": 7736,
      "loc": {
        "start": {
          "line": 202,
          "column": 4
        },
        "end": {
          "line": 218,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " eslint-disable-next-line class-methods-use-this",
      "start": 7741,
      "end": 7791,
      "loc": {
        "start": {
          "line": 219,
          "column": 4
        },
        "end": {
          "line": 219,
          "column": 54
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if the Control instance is un-focusable.\n     * \n     * Most Controls which exist will be focusable. It is the deault behavior that a derived\n     * Control class is always focusable.\n     * \n     * If you want to disable focusable in a specific way, you can override the function and\n     * return false instead of true.\n     * \n     * For example, consider a TextField whose input might be disabled for now. During the\n     * disabled state, canFocus() would return false, but otherwise return true.\n     ",
      "start": 7965,
      "end": 8519,
      "loc": {
        "start": {
          "line": 227,
          "column": 4
        },
        "end": {
          "line": 238,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * \n     *  In a command line interface, where focusable controls exist (think Visual Basic for DOS)\n     *  to get an idea of the concept, we can't completely blur out of EVERY single control.\n     *\n     *  Something is always going to ALWAYS need to be accept / capture input, be it a Button\n     *  or TextField or a Menu or a Tab or Tree. But the concept of the Control component is\n     *  that it can easily allow focus to shift from one component to the next, and allow those\n     *  components which extend the Control class to easily display one type of blurred output\n     *  while accepting input once focused.\n     *\n     *  In order to guarantee this, blur will locate the forward (or reverse component)\n     *  and 'select' it instead.\n     ",
      "start": 8612,
      "end": 9378,
      "loc": {
        "start": {
          "line": 244,
          "column": 4
        },
        "end": {
          "line": 257,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let our listeners know ",
      "start": 9498,
      "end": 9524,
      "loc": {
        "start": {
          "line": 263,
          "column": 12
        },
        "end": {
          "line": 263,
          "column": 38
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let our listeners know ",
      "start": 9741,
      "end": 9767,
      "loc": {
        "start": {
          "line": 275,
          "column": 12
        },
        "end": {
          "line": 275,
          "column": 38
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isDisabled()` method returns a boolean which indicates the value of\n     * the `disabled` property as passed into the component.\n     * \n     * `<Control disabled />` would cause `isDisabled()` to return `true`.\n     * \n     * `<Control />` would cause `isDisabled()` to return `false`.\n     ",
      "start": 9869,
      "end": 10179,
      "loc": {
        "start": {
          "line": 282,
          "column": 4
        },
        "end": {
          "line": 289,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isEnabled()` method returns the inverse value of the `isDisabled()`\n     * method.\n     * \n     * `<Control disabled />` would cause `isEnabled()` to return `false`.\n     * \n     * `<Control />` would cause `isEnabled()` to return `true`.\n     ",
      "start": 10324,
      "end": 10586,
      "loc": {
        "start": {
          "line": 297,
          "column": 4
        },
        "end": {
          "line": 304,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isFocused()` method returns a boolean which indicates the value of\n     * the `focused` property as passed into the component, as long as it\n     * is not `disabled`.\n     * \n     * `<Control focused />` would cause `isFocused()` to return `true`,\n     * unless the `Control` is disabled.\n     * \n     * `<Control focused disabled />` would cause `isFocused()` to return\n     * `false`, and is not a valid state for the Control component.\n     * \n     * `<Control />` would cause `isFocused()` to return `false`.\n     ",
      "start": 10651,
      "end": 11187,
      "loc": {
        "start": {
          "line": 309,
          "column": 4
        },
        "end": {
          "line": 321,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isFocusable()` method returns a boolean which indicates the value of the\n     * field, `focusable`. It is checked throughout other functions in Control, but\n     * can be safely overridden if you would like to extend Control so that it is\n     * `focusable`. The `focusable` field is normally set to `false` unless it is\n     * set manually, either using a consumer or by extending the `Control` class.\n     ",
      "start": 11350,
      "end": 11776,
      "loc": {
        "start": {
          "line": 329,
          "column": 4
        },
        "end": {
          "line": 335,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isBlurred()` method returns the inverse of the `isFocused()` method.\n     ",
      "start": 11839,
      "end": 11931,
      "loc": {
        "start": {
          "line": 340,
          "column": 4
        },
        "end": {
          "line": 342,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " /**",
      "start": 12643,
      "end": 12649,
      "loc": {
        "start": {
          "line": 372,
          "column": 4
        },
        "end": {
          "line": 372,
          "column": 10
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "  * Renders a child component from the `props.children` array.",
      "start": 12654,
      "end": 12718,
      "loc": {
        "start": {
          "line": 373,
          "column": 4
        },
        "end": {
          "line": 373,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "  */",
      "start": 12723,
      "end": 12729,
      "loc": {
        "start": {
          "line": 374,
          "column": 4
        },
        "end": {
          "line": 374,
          "column": 10
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " // eslint-disable-next-line class-methods-use-this, no-unused-vars",
      "start": 12734,
      "end": 12803,
      "loc": {
        "start": {
          "line": 375,
          "column": 4
        },
        "end": {
          "line": 375,
          "column": 73
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " renderChild(child, index, childrenArray) {",
      "start": 12808,
      "end": 12853,
      "loc": {
        "start": {
          "line": 376,
          "column": 4
        },
        "end": {
          "line": 376,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     return child; // as-is",
      "start": 12858,
      "end": 12887,
      "loc": {
        "start": {
          "line": 377,
          "column": 4
        },
        "end": {
          "line": 377,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     // return (",
      "start": 12892,
      "end": 12910,
      "loc": {
        "start": {
          "line": 378,
          "column": 4
        },
        "end": {
          "line": 378,
          "column": 22
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     //     // child as-is if it's a Control",
      "start": 12915,
      "end": 12961,
      "loc": {
        "start": {
          "line": 379,
          "column": 4
        },
        "end": {
          "line": 379,
          "column": 50
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     //     (Control.isControl(child) && child)",
      "start": 12966,
      "end": 13015,
      "loc": {
        "start": {
          "line": 380,
          "column": 4
        },
        "end": {
          "line": 380,
          "column": 53
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     //     // otherwise we need to wrap it up",
      "start": 13020,
      "end": 13068,
      "loc": {
        "start": {
          "line": 381,
          "column": 4
        },
        "end": {
          "line": 381,
          "column": 52
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     //     || (<Control wrapComponent={child} />)",
      "start": 13073,
      "end": 13125,
      "loc": {
        "start": {
          "line": 382,
          "column": 4
        },
        "end": {
          "line": 382,
          "column": 56
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     // );",
      "start": 13130,
      "end": 13142,
      "loc": {
        "start": {
          "line": 383,
          "column": 4
        },
        "end": {
          "line": 383,
          "column": 16
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 13147,
      "end": 13151,
      "loc": {
        "start": {
          "line": 384,
          "column": 4
        },
        "end": {
          "line": 384,
          "column": 8
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " renderChildren() {",
      "start": 13157,
      "end": 13178,
      "loc": {
        "start": {
          "line": 386,
          "column": 4
        },
        "end": {
          "line": 386,
          "column": 25
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     const { props } = this;",
      "start": 13183,
      "end": 13213,
      "loc": {
        "start": {
          "line": 387,
          "column": 4
        },
        "end": {
          "line": 387,
          "column": 34
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     return (",
      "start": 13218,
      "end": 13233,
      "loc": {
        "start": {
          "line": 388,
          "column": 4
        },
        "end": {
          "line": 388,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         this.hasChildren() &&",
      "start": 13238,
      "end": 13270,
      "loc": {
        "start": {
          "line": 389,
          "column": 4
        },
        "end": {
          "line": 389,
          "column": 36
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         props.children.map(this.renderChild)",
      "start": 13275,
      "end": 13322,
      "loc": {
        "start": {
          "line": 390,
          "column": 4
        },
        "end": {
          "line": 390,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     ) || [];",
      "start": 13327,
      "end": 13342,
      "loc": {
        "start": {
          "line": 391,
          "column": 4
        },
        "end": {
          "line": 391,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 13347,
      "end": 13351,
      "loc": {
        "start": {
          "line": 392,
          "column": 4
        },
        "end": {
          "line": 392,
          "column": 8
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " renderWrappedComponent() {",
      "start": 13357,
      "end": 13386,
      "loc": {
        "start": {
          "line": 394,
          "column": 4
        },
        "end": {
          "line": 394,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     const { props } = this;",
      "start": 13391,
      "end": 13421,
      "loc": {
        "start": {
          "line": 395,
          "column": 4
        },
        "end": {
          "line": 395,
          "column": 34
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     return (",
      "start": 13426,
      "end": 13441,
      "loc": {
        "start": {
          "line": 396,
          "column": 4
        },
        "end": {
          "line": 396,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         props",
      "start": 13446,
      "end": 13462,
      "loc": {
        "start": {
          "line": 397,
          "column": 4
        },
        "end": {
          "line": 397,
          "column": 20
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         && props.wrapComponent",
      "start": 13467,
      "end": 13500,
      "loc": {
        "start": {
          "line": 398,
          "column": 4
        },
        "end": {
          "line": 398,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         (",
      "start": 13505,
      "end": 13517,
      "loc": {
        "start": {
          "line": 399,
          "column": 4
        },
        "end": {
          "line": 399,
          "column": 16
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "             (Control.isControl(props.wrapComponent)",
      "start": 13522,
      "end": 13576,
      "loc": {
        "start": {
          "line": 400,
          "column": 4
        },
        "end": {
          "line": 400,
          "column": 58
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "                 && props.wrapComponent)",
      "start": 13581,
      "end": 13623,
      "loc": {
        "start": {
          "line": 401,
          "column": 4
        },
        "end": {
          "line": 401,
          "column": 46
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "             || (Control.isReactComponent(props.wrapComponent)",
      "start": 13628,
      "end": 13692,
      "loc": {
        "start": {
          "line": 402,
          "column": 4
        },
        "end": {
          "line": 402,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "                 && Control.wrapComponent(props.wrapComponent))",
      "start": 13697,
      "end": 13762,
      "loc": {
        "start": {
          "line": 403,
          "column": 4
        },
        "end": {
          "line": 403,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         )",
      "start": 13767,
      "end": 13779,
      "loc": {
        "start": {
          "line": 404,
          "column": 4
        },
        "end": {
          "line": 404,
          "column": 16
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     ) || null;",
      "start": 13784,
      "end": 13801,
      "loc": {
        "start": {
          "line": 405,
          "column": 4
        },
        "end": {
          "line": 405,
          "column": 21
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 13806,
      "end": 13810,
      "loc": {
        "start": {
          "line": 406,
          "column": 4
        },
        "end": {
          "line": 406,
          "column": 8
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " const outputs = [];",
      "start": 13835,
      "end": 13857,
      "loc": {
        "start": {
          "line": 409,
          "column": 8
        },
        "end": {
          "line": 409,
          "column": 30
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " const wrapped = this.renderWrappedComponent();",
      "start": 13866,
      "end": 13915,
      "loc": {
        "start": {
          "line": 410,
          "column": 8
        },
        "end": {
          "line": 410,
          "column": 57
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " if (wrapped)",
      "start": 13924,
      "end": 13939,
      "loc": {
        "start": {
          "line": 411,
          "column": 8
        },
        "end": {
          "line": 411,
          "column": 23
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     outputs.push(wrapped);",
      "start": 13948,
      "end": 13977,
      "loc": {
        "start": {
          "line": 412,
          "column": 8
        },
        "end": {
          "line": 412,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " outputs.concat(this.renderChildren());",
      "start": 13986,
      "end": 14027,
      "loc": {
        "start": {
          "line": 413,
          "column": 8
        },
        "end": {
          "line": 413,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " if (outputs.length === 0) return null;",
      "start": 14036,
      "end": 14077,
      "loc": {
        "start": {
          "line": 414,
          "column": 8
        },
        "end": {
          "line": 414,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " if (outputs.length === 1) return outputs[0];",
      "start": 14086,
      "end": 14133,
      "loc": {
        "start": {
          "line": 415,
          "column": 8
        },
        "end": {
          "line": 415,
          "column": 55
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " return (",
      "start": 14142,
      "end": 14153,
      "loc": {
        "start": {
          "line": 416,
          "column": 8
        },
        "end": {
          "line": 416,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "   <Control>{outputs}</Control>",
      "start": 14162,
      "end": 14195,
      "loc": {
        "start": {
          "line": 417,
          "column": 8
        },
        "end": {
          "line": 417,
          "column": 41
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " );",
      "start": 14204,
      "end": 14209,
      "loc": {
        "start": {
          "line": 418,
          "column": 8
        },
        "end": {
          "line": 418,
          "column": 13
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentBlock",
      "value": " eslint no-plusplus: [\"error\", { \"allowForLoopAfterthoughts\": true }] ",
      "start": 0,
      "end": 74,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 74
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * \n *  ██▓ ███▄    █  ██ ▄█▀     ██████  ██▓███   ██▓    ▄▄▄     ▄▄▄█████▓\n *  ▓██▒ ██ ▀█   █  ██▄█▒    ▒██    ▒ ▓██░  ██▒▓██▒   ▒████▄   ▓  ██▒ ▓▒\n *  ▒██▒▓██  ▀█ ██▒▓███▄░    ░ ▓██▄   ▓██░ ██▓▒▒██░   ▒██  ▀█▄ ▒ ▓██░ ▒░\n *  ░██░▓██▒  ▐▌██▒▓██ █▄      ▒   ██▒▒██▄█▓▒ ▒▒██░   ░██▄▄▄▄██░ ▓██▓ ░\n *  ░██░▒██░   ▓██░▒██▒ █▄   ▒██████▒▒▒██▒ ░  ░░██████▒▓█   ▓██▒ ▒██▒ ░\n *  ░▓  ░ ▒░   ▒ ▒ ▒ ▒▒ ▓▒   ▒ ▒▓▒ ▒ ░▒▓▒░ ░  ░░ ▒░▓  ░▒▒   ▓▒█░ ▒ ░░\n *  ▒ ░░ ░░   ░ ▒░░ ░▒ ▒░   ░ ░▒  ░ ░░▒ ░     ░ ░ ▒  ░ ▒   ▒▒ ░   ░\n *  ▒ ░   ░   ░ ░ ░ ░░ ░    ░  ░  ░  ░░         ░ ░    ░   ▒    ░\n *  ░           ░ ░  ░            ░               ░  ░     ░  ░\n * \n * LICENSE: MIT\n ",
      "start": 75,
      "end": 736,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 737,
      "end": 743,
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 16,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "React",
      "start": 744,
      "end": 749,
      "loc": {
        "start": {
          "line": 16,
          "column": 7
        },
        "end": {
          "line": 16,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 750,
      "end": 754,
      "loc": {
        "start": {
          "line": 16,
          "column": 13
        },
        "end": {
          "line": 16,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "react",
      "start": 755,
      "end": 762,
      "loc": {
        "start": {
          "line": 16,
          "column": 18
        },
        "end": {
          "line": 16,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 762,
      "end": 763,
      "loc": {
        "start": {
          "line": 16,
          "column": 25
        },
        "end": {
          "line": 16,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 764,
      "end": 770,
      "loc": {
        "start": {
          "line": 17,
          "column": 0
        },
        "end": {
          "line": 17,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 771,
      "end": 772,
      "loc": {
        "start": {
          "line": 17,
          "column": 7
        },
        "end": {
          "line": 17,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isClassOrComponentFactory",
      "start": 773,
      "end": 798,
      "loc": {
        "start": {
          "line": 17,
          "column": 9
        },
        "end": {
          "line": 17,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 799,
      "end": 800,
      "loc": {
        "start": {
          "line": 17,
          "column": 35
        },
        "end": {
          "line": 17,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 801,
      "end": 805,
      "loc": {
        "start": {
          "line": 17,
          "column": 37
        },
        "end": {
          "line": 17,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../utils/isClassOrComponent",
      "start": 806,
      "end": 835,
      "loc": {
        "start": {
          "line": 17,
          "column": 42
        },
        "end": {
          "line": 17,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 835,
      "end": 836,
      "loc": {
        "start": {
          "line": 17,
          "column": 71
        },
        "end": {
          "line": 17,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 838,
      "end": 843,
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 19,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BLUR_DIRECTION_REVERSE",
      "start": 844,
      "end": 866,
      "loc": {
        "start": {
          "line": 19,
          "column": 6
        },
        "end": {
          "line": 19,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 867,
      "end": 868,
      "loc": {
        "start": {
          "line": 19,
          "column": 29
        },
        "end": {
          "line": 19,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "<",
      "start": 869,
      "end": 872,
      "loc": {
        "start": {
          "line": 19,
          "column": 31
        },
        "end": {
          "line": 19,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 872,
      "end": 873,
      "loc": {
        "start": {
          "line": 19,
          "column": 34
        },
        "end": {
          "line": 19,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 874,
      "end": 879,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 20,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BLUR_DIRECTION_FORWARD",
      "start": 880,
      "end": 902,
      "loc": {
        "start": {
          "line": 20,
          "column": 6
        },
        "end": {
          "line": 20,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 903,
      "end": 904,
      "loc": {
        "start": {
          "line": 20,
          "column": 29
        },
        "end": {
          "line": 20,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ">",
      "start": 905,
      "end": 908,
      "loc": {
        "start": {
          "line": 20,
          "column": 31
        },
        "end": {
          "line": 20,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 908,
      "end": 909,
      "loc": {
        "start": {
          "line": 20,
          "column": 34
        },
        "end": {
          "line": 20,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 910,
      "end": 915,
      "loc": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 21,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BLUR_DIRECTION_DEFAULT",
      "start": 916,
      "end": 938,
      "loc": {
        "start": {
          "line": 21,
          "column": 6
        },
        "end": {
          "line": 21,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 939,
      "end": 940,
      "loc": {
        "start": {
          "line": 21,
          "column": 29
        },
        "end": {
          "line": 21,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ">",
      "start": 941,
      "end": 944,
      "loc": {
        "start": {
          "line": 21,
          "column": 31
        },
        "end": {
          "line": 21,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 944,
      "end": 945,
      "loc": {
        "start": {
          "line": 21,
          "column": 34
        },
        "end": {
          "line": 21,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Defines the base class for controls, which are components with visual representation.\n ",
      "start": 947,
      "end": 1043,
      "loc": {
        "start": {
          "line": 23,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 1044,
      "end": 1050,
      "loc": {
        "start": {
          "line": 26,
          "column": 0
        },
        "end": {
          "line": 26,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 1051,
      "end": 1058,
      "loc": {
        "start": {
          "line": 26,
          "column": 7
        },
        "end": {
          "line": 26,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 1059,
      "end": 1064,
      "loc": {
        "start": {
          "line": 26,
          "column": 15
        },
        "end": {
          "line": 26,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 1065,
      "end": 1072,
      "loc": {
        "start": {
          "line": 26,
          "column": 21
        },
        "end": {
          "line": 26,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "extends",
        "keyword": "extends",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "extends",
      "start": 1073,
      "end": 1080,
      "loc": {
        "start": {
          "line": 26,
          "column": 29
        },
        "end": {
          "line": 26,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "React",
      "start": 1081,
      "end": 1086,
      "loc": {
        "start": {
          "line": 26,
          "column": 37
        },
        "end": {
          "line": 26,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1086,
      "end": 1087,
      "loc": {
        "start": {
          "line": 26,
          "column": 42
        },
        "end": {
          "line": 26,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Component",
      "start": 1087,
      "end": 1096,
      "loc": {
        "start": {
          "line": 26,
          "column": 43
        },
        "end": {
          "line": 26,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1097,
      "end": 1098,
      "loc": {
        "start": {
          "line": 26,
          "column": 53
        },
        "end": {
          "line": 26,
          "column": 54
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * BLUR_DIRECTION indicates the direction a onBlur() should\n     * move focus to next.\n     ",
      "start": 1103,
      "end": 1205,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 1210,
      "end": 1216,
      "loc": {
        "start": {
          "line": 31,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BLUR_DIRECTION",
      "start": 1217,
      "end": 1231,
      "loc": {
        "start": {
          "line": 31,
          "column": 11
        },
        "end": {
          "line": 31,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1232,
      "end": 1233,
      "loc": {
        "start": {
          "line": 31,
          "column": 26
        },
        "end": {
          "line": 31,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1234,
      "end": 1235,
      "loc": {
        "start": {
          "line": 31,
          "column": 28
        },
        "end": {
          "line": 31,
          "column": 29
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * REVERSE indicates the next focused component will be the previous\n         * tab order.\n         ",
      "start": 1244,
      "end": 1358,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "REVERSE",
      "start": 1367,
      "end": 1374,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1374,
      "end": 1375,
      "loc": {
        "start": {
          "line": 36,
          "column": 15
        },
        "end": {
          "line": 36,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BLUR_DIRECTION_REVERSE",
      "start": 1376,
      "end": 1398,
      "loc": {
        "start": {
          "line": 36,
          "column": 17
        },
        "end": {
          "line": 36,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1398,
      "end": 1399,
      "loc": {
        "start": {
          "line": 36,
          "column": 39
        },
        "end": {
          "line": 36,
          "column": 40
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * FORWARD indicates the next focused component will be the next\n         * tab order.\n         ",
      "start": 1408,
      "end": 1518,
      "loc": {
        "start": {
          "line": 37,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "FORWARD",
      "start": 1527,
      "end": 1534,
      "loc": {
        "start": {
          "line": 41,
          "column": 8
        },
        "end": {
          "line": 41,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1534,
      "end": 1535,
      "loc": {
        "start": {
          "line": 41,
          "column": 15
        },
        "end": {
          "line": 41,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BLUR_DIRECTION_FORWARD",
      "start": 1536,
      "end": 1558,
      "loc": {
        "start": {
          "line": 41,
          "column": 17
        },
        "end": {
          "line": 41,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1558,
      "end": 1559,
      "loc": {
        "start": {
          "line": 41,
          "column": 39
        },
        "end": {
          "line": 41,
          "column": 40
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * DEFAULT direction is FORWARD.\n         ",
      "start": 1568,
      "end": 1624,
      "loc": {
        "start": {
          "line": 42,
          "column": 8
        },
        "end": {
          "line": 44,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DEFAULT",
      "start": 1633,
      "end": 1640,
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 45,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1640,
      "end": 1641,
      "loc": {
        "start": {
          "line": 45,
          "column": 15
        },
        "end": {
          "line": 45,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BLUR_DIRECTION_DEFAULT",
      "start": 1642,
      "end": 1664,
      "loc": {
        "start": {
          "line": 45,
          "column": 17
        },
        "end": {
          "line": 45,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1669,
      "end": 1670,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1670,
      "end": 1671,
      "loc": {
        "start": {
          "line": 46,
          "column": 5
        },
        "end": {
          "line": 46,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `Control` (if passed an object) or a class derived from\n     * `Control` (if passed a function) or a component derived from `Control`.\n     * \n     * @param {*} anyComponentOrClass Any valid React component or React component class or instance\n     * or derived component or class or instance.\n     * @return `true` if `anyComponentOrClass` validates, `false` otherwise.\n     ",
      "start": 1681,
      "end": 2177,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 56,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 2182,
      "end": 2188,
      "loc": {
        "start": {
          "line": 57,
          "column": 4
        },
        "end": {
          "line": 57,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isControl",
      "start": 2189,
      "end": 2198,
      "loc": {
        "start": {
          "line": 57,
          "column": 11
        },
        "end": {
          "line": 57,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2198,
      "end": 2199,
      "loc": {
        "start": {
          "line": 57,
          "column": 20
        },
        "end": {
          "line": 57,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 2199,
      "end": 2218,
      "loc": {
        "start": {
          "line": 57,
          "column": 21
        },
        "end": {
          "line": 57,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2218,
      "end": 2219,
      "loc": {
        "start": {
          "line": 57,
          "column": 40
        },
        "end": {
          "line": 57,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2220,
      "end": 2221,
      "loc": {
        "start": {
          "line": 57,
          "column": 42
        },
        "end": {
          "line": 57,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2230,
      "end": 2236,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isClassOrComponentFactory",
      "start": 2237,
      "end": 2262,
      "loc": {
        "start": {
          "line": 58,
          "column": 15
        },
        "end": {
          "line": 58,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2262,
      "end": 2263,
      "loc": {
        "start": {
          "line": 58,
          "column": 40
        },
        "end": {
          "line": 58,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 2263,
      "end": 2270,
      "loc": {
        "start": {
          "line": 58,
          "column": 41
        },
        "end": {
          "line": 58,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2270,
      "end": 2271,
      "loc": {
        "start": {
          "line": 58,
          "column": 48
        },
        "end": {
          "line": 58,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2271,
      "end": 2272,
      "loc": {
        "start": {
          "line": 58,
          "column": 49
        },
        "end": {
          "line": 58,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 2272,
      "end": 2291,
      "loc": {
        "start": {
          "line": 58,
          "column": 50
        },
        "end": {
          "line": 58,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2291,
      "end": 2292,
      "loc": {
        "start": {
          "line": 58,
          "column": 69
        },
        "end": {
          "line": 58,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2292,
      "end": 2293,
      "loc": {
        "start": {
          "line": 58,
          "column": 70
        },
        "end": {
          "line": 58,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2298,
      "end": 2299,
      "loc": {
        "start": {
          "line": 59,
          "column": 4
        },
        "end": {
          "line": 59,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `React.Component` (if passed an object) or a class derived from\n     * `React.Component` (if passed a function) or a component derived from `React.Component`.\n     * \n     * @param {*} anyComponentOrClass Any valid React component or React component class or instance\n     * or derived component or class or instance.\n     * @return `true` if `anyComponentOrClass` validates, `false` otherwise.\n     ",
      "start": 2305,
      "end": 2825,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 69,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 2830,
      "end": 2836,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isReactComponent",
      "start": 2837,
      "end": 2853,
      "loc": {
        "start": {
          "line": 70,
          "column": 11
        },
        "end": {
          "line": 70,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2853,
      "end": 2854,
      "loc": {
        "start": {
          "line": 70,
          "column": 27
        },
        "end": {
          "line": 70,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 2854,
      "end": 2873,
      "loc": {
        "start": {
          "line": 70,
          "column": 28
        },
        "end": {
          "line": 70,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2873,
      "end": 2874,
      "loc": {
        "start": {
          "line": 70,
          "column": 47
        },
        "end": {
          "line": 70,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2875,
      "end": 2876,
      "loc": {
        "start": {
          "line": 70,
          "column": 49
        },
        "end": {
          "line": 70,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2885,
      "end": 2891,
      "loc": {
        "start": {
          "line": 71,
          "column": 8
        },
        "end": {
          "line": 71,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isClassOrComponentFactory",
      "start": 2892,
      "end": 2917,
      "loc": {
        "start": {
          "line": 71,
          "column": 15
        },
        "end": {
          "line": 71,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2917,
      "end": 2918,
      "loc": {
        "start": {
          "line": 71,
          "column": 40
        },
        "end": {
          "line": 71,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "React",
      "start": 2918,
      "end": 2923,
      "loc": {
        "start": {
          "line": 71,
          "column": 41
        },
        "end": {
          "line": 71,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2923,
      "end": 2924,
      "loc": {
        "start": {
          "line": 71,
          "column": 46
        },
        "end": {
          "line": 71,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Component",
      "start": 2924,
      "end": 2933,
      "loc": {
        "start": {
          "line": 71,
          "column": 47
        },
        "end": {
          "line": 71,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2933,
      "end": 2934,
      "loc": {
        "start": {
          "line": 71,
          "column": 56
        },
        "end": {
          "line": 71,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2934,
      "end": 2935,
      "loc": {
        "start": {
          "line": 71,
          "column": 57
        },
        "end": {
          "line": 71,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 2935,
      "end": 2954,
      "loc": {
        "start": {
          "line": 71,
          "column": 58
        },
        "end": {
          "line": 71,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2954,
      "end": 2955,
      "loc": {
        "start": {
          "line": 71,
          "column": 77
        },
        "end": {
          "line": 71,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2968,
      "end": 2970,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isClassOrComponentFactory",
      "start": 2971,
      "end": 2996,
      "loc": {
        "start": {
          "line": 72,
          "column": 15
        },
        "end": {
          "line": 72,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2996,
      "end": 2997,
      "loc": {
        "start": {
          "line": 72,
          "column": 40
        },
        "end": {
          "line": 72,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "React",
      "start": 2997,
      "end": 3002,
      "loc": {
        "start": {
          "line": 72,
          "column": 41
        },
        "end": {
          "line": 72,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3002,
      "end": 3003,
      "loc": {
        "start": {
          "line": 72,
          "column": 46
        },
        "end": {
          "line": 72,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PureComponent",
      "start": 3003,
      "end": 3016,
      "loc": {
        "start": {
          "line": 72,
          "column": 47
        },
        "end": {
          "line": 72,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3016,
      "end": 3017,
      "loc": {
        "start": {
          "line": 72,
          "column": 60
        },
        "end": {
          "line": 72,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3017,
      "end": 3018,
      "loc": {
        "start": {
          "line": 72,
          "column": 61
        },
        "end": {
          "line": 72,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 3018,
      "end": 3037,
      "loc": {
        "start": {
          "line": 72,
          "column": 62
        },
        "end": {
          "line": 72,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3037,
      "end": 3038,
      "loc": {
        "start": {
          "line": 72,
          "column": 81
        },
        "end": {
          "line": 72,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3051,
      "end": 3053,
      "loc": {
        "start": {
          "line": 73,
          "column": 12
        },
        "end": {
          "line": 73,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3054,
      "end": 3055,
      "loc": {
        "start": {
          "line": 73,
          "column": 15
        },
        "end": {
          "line": 73,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 3055,
      "end": 3061,
      "loc": {
        "start": {
          "line": 73,
          "column": 16
        },
        "end": {
          "line": 73,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 3062,
      "end": 3081,
      "loc": {
        "start": {
          "line": 73,
          "column": 23
        },
        "end": {
          "line": 73,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3082,
      "end": 3085,
      "loc": {
        "start": {
          "line": 73,
          "column": 43
        },
        "end": {
          "line": 73,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "function",
      "start": 3086,
      "end": 3096,
      "loc": {
        "start": {
          "line": 73,
          "column": 47
        },
        "end": {
          "line": 73,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 3113,
      "end": 3115,
      "loc": {
        "start": {
          "line": 74,
          "column": 16
        },
        "end": {
          "line": 74,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "React",
      "start": 3116,
      "end": 3121,
      "loc": {
        "start": {
          "line": 74,
          "column": 19
        },
        "end": {
          "line": 74,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3121,
      "end": 3122,
      "loc": {
        "start": {
          "line": 74,
          "column": 24
        },
        "end": {
          "line": 74,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isValidElement",
      "start": 3122,
      "end": 3136,
      "loc": {
        "start": {
          "line": 74,
          "column": 25
        },
        "end": {
          "line": 74,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3136,
      "end": 3137,
      "loc": {
        "start": {
          "line": 74,
          "column": 39
        },
        "end": {
          "line": 74,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 3137,
      "end": 3156,
      "loc": {
        "start": {
          "line": 74,
          "column": 40
        },
        "end": {
          "line": 74,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3156,
      "end": 3157,
      "loc": {
        "start": {
          "line": 74,
          "column": 59
        },
        "end": {
          "line": 74,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3157,
      "end": 3158,
      "loc": {
        "start": {
          "line": 74,
          "column": 60
        },
        "end": {
          "line": 74,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3158,
      "end": 3159,
      "loc": {
        "start": {
          "line": 74,
          "column": 61
        },
        "end": {
          "line": 74,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3159,
      "end": 3160,
      "loc": {
        "start": {
          "line": 74,
          "column": 62
        },
        "end": {
          "line": 74,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3173,
      "end": 3175,
      "loc": {
        "start": {
          "line": 75,
          "column": 12
        },
        "end": {
          "line": 75,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "React",
      "start": 3176,
      "end": 3181,
      "loc": {
        "start": {
          "line": 75,
          "column": 15
        },
        "end": {
          "line": 75,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3181,
      "end": 3182,
      "loc": {
        "start": {
          "line": 75,
          "column": 20
        },
        "end": {
          "line": 75,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isValidElement",
      "start": 3182,
      "end": 3196,
      "loc": {
        "start": {
          "line": 75,
          "column": 21
        },
        "end": {
          "line": 75,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3196,
      "end": 3197,
      "loc": {
        "start": {
          "line": 75,
          "column": 35
        },
        "end": {
          "line": 75,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 3197,
      "end": 3216,
      "loc": {
        "start": {
          "line": 75,
          "column": 36
        },
        "end": {
          "line": 75,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3216,
      "end": 3217,
      "loc": {
        "start": {
          "line": 75,
          "column": 55
        },
        "end": {
          "line": 75,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3217,
      "end": 3218,
      "loc": {
        "start": {
          "line": 75,
          "column": 56
        },
        "end": {
          "line": 75,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3223,
      "end": 3224,
      "loc": {
        "start": {
          "line": 76,
          "column": 4
        },
        "end": {
          "line": 76,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Checks a React component to see if it has any children in props.\n     * \n     * @param {*} component A proposed React component to inspect.\n     ",
      "start": 3230,
      "end": 3388,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 82,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 3393,
      "end": 3399,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "componentHasChildren",
      "start": 3400,
      "end": 3420,
      "loc": {
        "start": {
          "line": 83,
          "column": 11
        },
        "end": {
          "line": 83,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3420,
      "end": 3421,
      "loc": {
        "start": {
          "line": 83,
          "column": 31
        },
        "end": {
          "line": 83,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 3421,
      "end": 3430,
      "loc": {
        "start": {
          "line": 83,
          "column": 32
        },
        "end": {
          "line": 83,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3430,
      "end": 3431,
      "loc": {
        "start": {
          "line": 83,
          "column": 41
        },
        "end": {
          "line": 83,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3432,
      "end": 3433,
      "loc": {
        "start": {
          "line": 83,
          "column": 43
        },
        "end": {
          "line": 83,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3442,
      "end": 3448,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 3449,
      "end": 3450,
      "loc": {
        "start": {
          "line": 84,
          "column": 15
        },
        "end": {
          "line": 84,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 3450,
      "end": 3451,
      "loc": {
        "start": {
          "line": 84,
          "column": 16
        },
        "end": {
          "line": 84,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3451,
      "end": 3452,
      "loc": {
        "start": {
          "line": 84,
          "column": 17
        },
        "end": {
          "line": 84,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 3452,
      "end": 3459,
      "loc": {
        "start": {
          "line": 84,
          "column": 18
        },
        "end": {
          "line": 84,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3459,
      "end": 3460,
      "loc": {
        "start": {
          "line": 84,
          "column": 25
        },
        "end": {
          "line": 84,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isReactComponent",
      "start": 3460,
      "end": 3476,
      "loc": {
        "start": {
          "line": 84,
          "column": 26
        },
        "end": {
          "line": 84,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3476,
      "end": 3477,
      "loc": {
        "start": {
          "line": 84,
          "column": 42
        },
        "end": {
          "line": 84,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 3477,
      "end": 3486,
      "loc": {
        "start": {
          "line": 84,
          "column": 43
        },
        "end": {
          "line": 84,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3486,
      "end": 3487,
      "loc": {
        "start": {
          "line": 84,
          "column": 52
        },
        "end": {
          "line": 84,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 3500,
      "end": 3502,
      "loc": {
        "start": {
          "line": 85,
          "column": 12
        },
        "end": {
          "line": 85,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 3503,
      "end": 3512,
      "loc": {
        "start": {
          "line": 85,
          "column": 15
        },
        "end": {
          "line": 85,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3512,
      "end": 3513,
      "loc": {
        "start": {
          "line": 85,
          "column": 24
        },
        "end": {
          "line": 85,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 3513,
      "end": 3518,
      "loc": {
        "start": {
          "line": 85,
          "column": 25
        },
        "end": {
          "line": 85,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 3519,
      "end": 3522,
      "loc": {
        "start": {
          "line": 85,
          "column": 31
        },
        "end": {
          "line": 85,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 3523,
      "end": 3532,
      "loc": {
        "start": {
          "line": 85,
          "column": 35
        },
        "end": {
          "line": 85,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 3545,
      "end": 3547,
      "loc": {
        "start": {
          "line": 86,
          "column": 12
        },
        "end": {
          "line": 86,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 3548,
      "end": 3557,
      "loc": {
        "start": {
          "line": 86,
          "column": 15
        },
        "end": {
          "line": 86,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3557,
      "end": 3558,
      "loc": {
        "start": {
          "line": 86,
          "column": 24
        },
        "end": {
          "line": 86,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 3558,
      "end": 3563,
      "loc": {
        "start": {
          "line": 86,
          "column": 25
        },
        "end": {
          "line": 86,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3563,
      "end": 3564,
      "loc": {
        "start": {
          "line": 86,
          "column": 30
        },
        "end": {
          "line": 86,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 3564,
      "end": 3572,
      "loc": {
        "start": {
          "line": 86,
          "column": 31
        },
        "end": {
          "line": 86,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 3573,
      "end": 3576,
      "loc": {
        "start": {
          "line": 86,
          "column": 40
        },
        "end": {
          "line": 86,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 3577,
      "end": 3586,
      "loc": {
        "start": {
          "line": 86,
          "column": 44
        },
        "end": {
          "line": 86,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 3599,
      "end": 3601,
      "loc": {
        "start": {
          "line": 87,
          "column": 12
        },
        "end": {
          "line": 87,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Array",
      "start": 3602,
      "end": 3607,
      "loc": {
        "start": {
          "line": 87,
          "column": 15
        },
        "end": {
          "line": 87,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3607,
      "end": 3608,
      "loc": {
        "start": {
          "line": 87,
          "column": 20
        },
        "end": {
          "line": 87,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isArray",
      "start": 3608,
      "end": 3615,
      "loc": {
        "start": {
          "line": 87,
          "column": 21
        },
        "end": {
          "line": 87,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3615,
      "end": 3616,
      "loc": {
        "start": {
          "line": 87,
          "column": 28
        },
        "end": {
          "line": 87,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 3616,
      "end": 3625,
      "loc": {
        "start": {
          "line": 87,
          "column": 29
        },
        "end": {
          "line": 87,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3625,
      "end": 3626,
      "loc": {
        "start": {
          "line": 87,
          "column": 38
        },
        "end": {
          "line": 87,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 3626,
      "end": 3631,
      "loc": {
        "start": {
          "line": 87,
          "column": 39
        },
        "end": {
          "line": 87,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3631,
      "end": 3632,
      "loc": {
        "start": {
          "line": 87,
          "column": 44
        },
        "end": {
          "line": 87,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 3632,
      "end": 3640,
      "loc": {
        "start": {
          "line": 87,
          "column": 45
        },
        "end": {
          "line": 87,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3640,
      "end": 3641,
      "loc": {
        "start": {
          "line": 87,
          "column": 53
        },
        "end": {
          "line": 87,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 3654,
      "end": 3656,
      "loc": {
        "start": {
          "line": 88,
          "column": 12
        },
        "end": {
          "line": 88,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 3657,
      "end": 3666,
      "loc": {
        "start": {
          "line": 88,
          "column": 15
        },
        "end": {
          "line": 88,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3666,
      "end": 3667,
      "loc": {
        "start": {
          "line": 88,
          "column": 24
        },
        "end": {
          "line": 88,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 3667,
      "end": 3672,
      "loc": {
        "start": {
          "line": 88,
          "column": 25
        },
        "end": {
          "line": 88,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3672,
      "end": 3673,
      "loc": {
        "start": {
          "line": 88,
          "column": 30
        },
        "end": {
          "line": 88,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 3673,
      "end": 3681,
      "loc": {
        "start": {
          "line": 88,
          "column": 31
        },
        "end": {
          "line": 88,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3681,
      "end": 3682,
      "loc": {
        "start": {
          "line": 88,
          "column": 39
        },
        "end": {
          "line": 88,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 3682,
      "end": 3688,
      "loc": {
        "start": {
          "line": 88,
          "column": 40
        },
        "end": {
          "line": 88,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 3689,
      "end": 3690,
      "loc": {
        "start": {
          "line": 88,
          "column": 47
        },
        "end": {
          "line": 88,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 3691,
      "end": 3692,
      "loc": {
        "start": {
          "line": 88,
          "column": 49
        },
        "end": {
          "line": 88,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3692,
      "end": 3693,
      "loc": {
        "start": {
          "line": 88,
          "column": 50
        },
        "end": {
          "line": 88,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3693,
      "end": 3694,
      "loc": {
        "start": {
          "line": 88,
          "column": 51
        },
        "end": {
          "line": 88,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3699,
      "end": 3700,
      "loc": {
        "start": {
          "line": 89,
          "column": 4
        },
        "end": {
          "line": 89,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * \n     * @param {*} controlOrComponent \n     ",
      "start": 3710,
      "end": 3767,
      "loc": {
        "start": {
          "line": 91,
          "column": 4
        },
        "end": {
          "line": 94,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 3772,
      "end": 3778,
      "loc": {
        "start": {
          "line": 95,
          "column": 4
        },
        "end": {
          "line": 95,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableControlOf",
      "start": 3779,
      "end": 3802,
      "loc": {
        "start": {
          "line": 95,
          "column": 11
        },
        "end": {
          "line": 95,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3802,
      "end": 3803,
      "loc": {
        "start": {
          "line": 95,
          "column": 34
        },
        "end": {
          "line": 95,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "controlOrComponent",
      "start": 3803,
      "end": 3821,
      "loc": {
        "start": {
          "line": 95,
          "column": 35
        },
        "end": {
          "line": 95,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3821,
      "end": 3822,
      "loc": {
        "start": {
          "line": 95,
          "column": 53
        },
        "end": {
          "line": 95,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3823,
      "end": 3824,
      "loc": {
        "start": {
          "line": 95,
          "column": 55
        },
        "end": {
          "line": 95,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3833,
      "end": 3835,
      "loc": {
        "start": {
          "line": 96,
          "column": 8
        },
        "end": {
          "line": 96,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3836,
      "end": 3837,
      "loc": {
        "start": {
          "line": 96,
          "column": 11
        },
        "end": {
          "line": 96,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 3837,
      "end": 3844,
      "loc": {
        "start": {
          "line": 96,
          "column": 12
        },
        "end": {
          "line": 96,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3844,
      "end": 3845,
      "loc": {
        "start": {
          "line": 96,
          "column": 19
        },
        "end": {
          "line": 96,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "componentHasChildren",
      "start": 3845,
      "end": 3865,
      "loc": {
        "start": {
          "line": 96,
          "column": 20
        },
        "end": {
          "line": 96,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3865,
      "end": 3866,
      "loc": {
        "start": {
          "line": 96,
          "column": 40
        },
        "end": {
          "line": 96,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "controlOrComponent",
      "start": 3866,
      "end": 3884,
      "loc": {
        "start": {
          "line": 96,
          "column": 41
        },
        "end": {
          "line": 96,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3884,
      "end": 3885,
      "loc": {
        "start": {
          "line": 96,
          "column": 59
        },
        "end": {
          "line": 96,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3885,
      "end": 3886,
      "loc": {
        "start": {
          "line": 96,
          "column": 60
        },
        "end": {
          "line": 96,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3887,
      "end": 3888,
      "loc": {
        "start": {
          "line": 96,
          "column": 62
        },
        "end": {
          "line": 96,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 3901,
      "end": 3906,
      "loc": {
        "start": {
          "line": 97,
          "column": 12
        },
        "end": {
          "line": 97,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3907,
      "end": 3908,
      "loc": {
        "start": {
          "line": 97,
          "column": 18
        },
        "end": {
          "line": 97,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 3909,
      "end": 3917,
      "loc": {
        "start": {
          "line": 97,
          "column": 20
        },
        "end": {
          "line": 97,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3918,
      "end": 3919,
      "loc": {
        "start": {
          "line": 97,
          "column": 29
        },
        "end": {
          "line": 97,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3920,
      "end": 3921,
      "loc": {
        "start": {
          "line": 97,
          "column": 31
        },
        "end": {
          "line": 97,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "controlOrComponent",
      "start": 3922,
      "end": 3940,
      "loc": {
        "start": {
          "line": 97,
          "column": 33
        },
        "end": {
          "line": 97,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3940,
      "end": 3941,
      "loc": {
        "start": {
          "line": 97,
          "column": 51
        },
        "end": {
          "line": 97,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 3941,
      "end": 3946,
      "loc": {
        "start": {
          "line": 97,
          "column": 52
        },
        "end": {
          "line": 97,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3946,
      "end": 3947,
      "loc": {
        "start": {
          "line": 97,
          "column": 57
        },
        "end": {
          "line": 97,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 3960,
      "end": 3963,
      "loc": {
        "start": {
          "line": 98,
          "column": 12
        },
        "end": {
          "line": 98,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3964,
      "end": 3965,
      "loc": {
        "start": {
          "line": 98,
          "column": 16
        },
        "end": {
          "line": 98,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3965,
      "end": 3968,
      "loc": {
        "start": {
          "line": 98,
          "column": 17
        },
        "end": {
          "line": 98,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 3969,
      "end": 3970,
      "loc": {
        "start": {
          "line": 98,
          "column": 21
        },
        "end": {
          "line": 98,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3971,
      "end": 3972,
      "loc": {
        "start": {
          "line": 98,
          "column": 23
        },
        "end": {
          "line": 98,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 3973,
      "end": 3974,
      "loc": {
        "start": {
          "line": 98,
          "column": 25
        },
        "end": {
          "line": 98,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3974,
      "end": 3975,
      "loc": {
        "start": {
          "line": 98,
          "column": 26
        },
        "end": {
          "line": 98,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 3976,
      "end": 3977,
      "loc": {
        "start": {
          "line": 98,
          "column": 28
        },
        "end": {
          "line": 98,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 3978,
      "end": 3979,
      "loc": {
        "start": {
          "line": 98,
          "column": 30
        },
        "end": {
          "line": 98,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 3980,
      "end": 3988,
      "loc": {
        "start": {
          "line": 98,
          "column": 32
        },
        "end": {
          "line": 98,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3988,
      "end": 3989,
      "loc": {
        "start": {
          "line": 98,
          "column": 40
        },
        "end": {
          "line": 98,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 3989,
      "end": 3995,
      "loc": {
        "start": {
          "line": 98,
          "column": 41
        },
        "end": {
          "line": 98,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3995,
      "end": 3996,
      "loc": {
        "start": {
          "line": 98,
          "column": 47
        },
        "end": {
          "line": 98,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 3997,
      "end": 3998,
      "loc": {
        "start": {
          "line": 98,
          "column": 49
        },
        "end": {
          "line": 98,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 3998,
      "end": 4000,
      "loc": {
        "start": {
          "line": 98,
          "column": 50
        },
        "end": {
          "line": 98,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4000,
      "end": 4001,
      "loc": {
        "start": {
          "line": 98,
          "column": 52
        },
        "end": {
          "line": 98,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4002,
      "end": 4003,
      "loc": {
        "start": {
          "line": 98,
          "column": 54
        },
        "end": {
          "line": 98,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4020,
      "end": 4025,
      "loc": {
        "start": {
          "line": 99,
          "column": 16
        },
        "end": {
          "line": 99,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 4026,
      "end": 4031,
      "loc": {
        "start": {
          "line": 99,
          "column": 22
        },
        "end": {
          "line": 99,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4032,
      "end": 4033,
      "loc": {
        "start": {
          "line": 99,
          "column": 28
        },
        "end": {
          "line": 99,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 4034,
      "end": 4042,
      "loc": {
        "start": {
          "line": 99,
          "column": 30
        },
        "end": {
          "line": 99,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4042,
      "end": 4043,
      "loc": {
        "start": {
          "line": 99,
          "column": 38
        },
        "end": {
          "line": 99,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4043,
      "end": 4044,
      "loc": {
        "start": {
          "line": 99,
          "column": 39
        },
        "end": {
          "line": 99,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4044,
      "end": 4045,
      "loc": {
        "start": {
          "line": 99,
          "column": 40
        },
        "end": {
          "line": 99,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4045,
      "end": 4046,
      "loc": {
        "start": {
          "line": 99,
          "column": 41
        },
        "end": {
          "line": 99,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4063,
      "end": 4065,
      "loc": {
        "start": {
          "line": 100,
          "column": 16
        },
        "end": {
          "line": 100,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4066,
      "end": 4067,
      "loc": {
        "start": {
          "line": 100,
          "column": 19
        },
        "end": {
          "line": 100,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 4067,
      "end": 4074,
      "loc": {
        "start": {
          "line": 100,
          "column": 20
        },
        "end": {
          "line": 100,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4074,
      "end": 4075,
      "loc": {
        "start": {
          "line": 100,
          "column": 27
        },
        "end": {
          "line": 100,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isControl",
      "start": 4075,
      "end": 4084,
      "loc": {
        "start": {
          "line": 100,
          "column": 28
        },
        "end": {
          "line": 100,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4084,
      "end": 4085,
      "loc": {
        "start": {
          "line": 100,
          "column": 37
        },
        "end": {
          "line": 100,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 4085,
      "end": 4090,
      "loc": {
        "start": {
          "line": 100,
          "column": 38
        },
        "end": {
          "line": 100,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4090,
      "end": 4091,
      "loc": {
        "start": {
          "line": 100,
          "column": 43
        },
        "end": {
          "line": 100,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4091,
      "end": 4092,
      "loc": {
        "start": {
          "line": 100,
          "column": 44
        },
        "end": {
          "line": 100,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4093,
      "end": 4094,
      "loc": {
        "start": {
          "line": 100,
          "column": 46
        },
        "end": {
          "line": 100,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4115,
      "end": 4117,
      "loc": {
        "start": {
          "line": 101,
          "column": 20
        },
        "end": {
          "line": 101,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4118,
      "end": 4119,
      "loc": {
        "start": {
          "line": 101,
          "column": 23
        },
        "end": {
          "line": 101,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 4119,
      "end": 4124,
      "loc": {
        "start": {
          "line": 101,
          "column": 24
        },
        "end": {
          "line": 101,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4124,
      "end": 4125,
      "loc": {
        "start": {
          "line": 101,
          "column": 29
        },
        "end": {
          "line": 101,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canFocus",
      "start": 4125,
      "end": 4133,
      "loc": {
        "start": {
          "line": 101,
          "column": 30
        },
        "end": {
          "line": 101,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4133,
      "end": 4134,
      "loc": {
        "start": {
          "line": 101,
          "column": 38
        },
        "end": {
          "line": 101,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4134,
      "end": 4135,
      "loc": {
        "start": {
          "line": 101,
          "column": 39
        },
        "end": {
          "line": 101,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4135,
      "end": 4136,
      "loc": {
        "start": {
          "line": 101,
          "column": 40
        },
        "end": {
          "line": 101,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4137,
      "end": 4138,
      "loc": {
        "start": {
          "line": 101,
          "column": 42
        },
        "end": {
          "line": 101,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4163,
      "end": 4169,
      "loc": {
        "start": {
          "line": 102,
          "column": 24
        },
        "end": {
          "line": 102,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 4170,
      "end": 4175,
      "loc": {
        "start": {
          "line": 102,
          "column": 31
        },
        "end": {
          "line": 102,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4175,
      "end": 4176,
      "loc": {
        "start": {
          "line": 102,
          "column": 36
        },
        "end": {
          "line": 102,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4197,
      "end": 4198,
      "loc": {
        "start": {
          "line": 103,
          "column": 20
        },
        "end": {
          "line": 103,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4215,
      "end": 4216,
      "loc": {
        "start": {
          "line": 104,
          "column": 16
        },
        "end": {
          "line": 104,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4233,
      "end": 4237,
      "loc": {
        "start": {
          "line": 105,
          "column": 16
        },
        "end": {
          "line": 105,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4238,
      "end": 4240,
      "loc": {
        "start": {
          "line": 105,
          "column": 21
        },
        "end": {
          "line": 105,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4241,
      "end": 4242,
      "loc": {
        "start": {
          "line": 105,
          "column": 24
        },
        "end": {
          "line": 105,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 4242,
      "end": 4249,
      "loc": {
        "start": {
          "line": 105,
          "column": 25
        },
        "end": {
          "line": 105,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4249,
      "end": 4250,
      "loc": {
        "start": {
          "line": 105,
          "column": 32
        },
        "end": {
          "line": 105,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isReactComponent",
      "start": 4250,
      "end": 4266,
      "loc": {
        "start": {
          "line": 105,
          "column": 33
        },
        "end": {
          "line": 105,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4266,
      "end": 4267,
      "loc": {
        "start": {
          "line": 105,
          "column": 49
        },
        "end": {
          "line": 105,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 4267,
      "end": 4272,
      "loc": {
        "start": {
          "line": 105,
          "column": 50
        },
        "end": {
          "line": 105,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4272,
      "end": 4273,
      "loc": {
        "start": {
          "line": 105,
          "column": 55
        },
        "end": {
          "line": 105,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4273,
      "end": 4274,
      "loc": {
        "start": {
          "line": 105,
          "column": 56
        },
        "end": {
          "line": 105,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4275,
      "end": 4276,
      "loc": {
        "start": {
          "line": 105,
          "column": 58
        },
        "end": {
          "line": 105,
          "column": 59
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " recursive call into firstFocusableControlOf(child)",
      "start": 4297,
      "end": 4350,
      "loc": {
        "start": {
          "line": 106,
          "column": 20
        },
        "end": {
          "line": 106,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4371,
      "end": 4376,
      "loc": {
        "start": {
          "line": 107,
          "column": 20
        },
        "end": {
          "line": 107,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableInChild",
      "start": 4377,
      "end": 4398,
      "loc": {
        "start": {
          "line": 107,
          "column": 26
        },
        "end": {
          "line": 107,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4399,
      "end": 4400,
      "loc": {
        "start": {
          "line": 107,
          "column": 48
        },
        "end": {
          "line": 107,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 4401,
      "end": 4408,
      "loc": {
        "start": {
          "line": 107,
          "column": 50
        },
        "end": {
          "line": 107,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4408,
      "end": 4409,
      "loc": {
        "start": {
          "line": 107,
          "column": 57
        },
        "end": {
          "line": 107,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableControlOf",
      "start": 4409,
      "end": 4432,
      "loc": {
        "start": {
          "line": 107,
          "column": 58
        },
        "end": {
          "line": 107,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4432,
      "end": 4433,
      "loc": {
        "start": {
          "line": 107,
          "column": 81
        },
        "end": {
          "line": 107,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 4433,
      "end": 4438,
      "loc": {
        "start": {
          "line": 107,
          "column": 82
        },
        "end": {
          "line": 107,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4438,
      "end": 4439,
      "loc": {
        "start": {
          "line": 107,
          "column": 87
        },
        "end": {
          "line": 107,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4439,
      "end": 4440,
      "loc": {
        "start": {
          "line": 107,
          "column": 88
        },
        "end": {
          "line": 107,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4461,
      "end": 4463,
      "loc": {
        "start": {
          "line": 108,
          "column": 20
        },
        "end": {
          "line": 108,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4464,
      "end": 4465,
      "loc": {
        "start": {
          "line": 108,
          "column": 23
        },
        "end": {
          "line": 108,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableInChild",
      "start": 4465,
      "end": 4486,
      "loc": {
        "start": {
          "line": 108,
          "column": 24
        },
        "end": {
          "line": 108,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 4487,
      "end": 4489,
      "loc": {
        "start": {
          "line": 108,
          "column": 46
        },
        "end": {
          "line": 108,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 4490,
      "end": 4494,
      "loc": {
        "start": {
          "line": 108,
          "column": 49
        },
        "end": {
          "line": 108,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4494,
      "end": 4495,
      "loc": {
        "start": {
          "line": 108,
          "column": 53
        },
        "end": {
          "line": 108,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4496,
      "end": 4497,
      "loc": {
        "start": {
          "line": 108,
          "column": 55
        },
        "end": {
          "line": 108,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4522,
      "end": 4528,
      "loc": {
        "start": {
          "line": 109,
          "column": 24
        },
        "end": {
          "line": 109,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableInChild",
      "start": 4529,
      "end": 4550,
      "loc": {
        "start": {
          "line": 109,
          "column": 31
        },
        "end": {
          "line": 109,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4550,
      "end": 4551,
      "loc": {
        "start": {
          "line": 109,
          "column": 52
        },
        "end": {
          "line": 109,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4572,
      "end": 4573,
      "loc": {
        "start": {
          "line": 110,
          "column": 20
        },
        "end": {
          "line": 110,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4590,
      "end": 4591,
      "loc": {
        "start": {
          "line": 111,
          "column": 16
        },
        "end": {
          "line": 111,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4604,
      "end": 4605,
      "loc": {
        "start": {
          "line": 112,
          "column": 12
        },
        "end": {
          "line": 112,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4614,
      "end": 4615,
      "loc": {
        "start": {
          "line": 113,
          "column": 8
        },
        "end": {
          "line": 113,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4624,
      "end": 4630,
      "loc": {
        "start": {
          "line": 114,
          "column": 8
        },
        "end": {
          "line": 114,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 4631,
      "end": 4635,
      "loc": {
        "start": {
          "line": 114,
          "column": 15
        },
        "end": {
          "line": 114,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4635,
      "end": 4636,
      "loc": {
        "start": {
          "line": 114,
          "column": 19
        },
        "end": {
          "line": 114,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4641,
      "end": 4642,
      "loc": {
        "start": {
          "line": 115,
          "column": 4
        },
        "end": {
          "line": 115,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 4648,
      "end": 4654,
      "loc": {
        "start": {
          "line": 117,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevFocusableChild",
      "start": 4655,
      "end": 4673,
      "loc": {
        "start": {
          "line": 117,
          "column": 11
        },
        "end": {
          "line": 117,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4673,
      "end": 4674,
      "loc": {
        "start": {
          "line": 117,
          "column": 29
        },
        "end": {
          "line": 117,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4674,
      "end": 4675,
      "loc": {
        "start": {
          "line": 117,
          "column": 30
        },
        "end": {
          "line": 117,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4676,
      "end": 4677,
      "loc": {
        "start": {
          "line": 117,
          "column": 32
        },
        "end": {
          "line": 117,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4691,
      "end": 4692,
      "loc": {
        "start": {
          "line": 119,
          "column": 4
        },
        "end": {
          "line": 119,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * \n     ",
      "start": 4698,
      "end": 4717,
      "loc": {
        "start": {
          "line": 121,
          "column": 4
        },
        "end": {
          "line": 123,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 4722,
      "end": 4728,
      "loc": {
        "start": {
          "line": 124,
          "column": 4
        },
        "end": {
          "line": 124,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "nextFocusableChild",
      "start": 4729,
      "end": 4747,
      "loc": {
        "start": {
          "line": 124,
          "column": 11
        },
        "end": {
          "line": 124,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4747,
      "end": 4748,
      "loc": {
        "start": {
          "line": 124,
          "column": 29
        },
        "end": {
          "line": 124,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4748,
      "end": 4749,
      "loc": {
        "start": {
          "line": 124,
          "column": 30
        },
        "end": {
          "line": 124,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4750,
      "end": 4751,
      "loc": {
        "start": {
          "line": 124,
          "column": 32
        },
        "end": {
          "line": 124,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4765,
      "end": 4766,
      "loc": {
        "start": {
          "line": 126,
          "column": 4
        },
        "end": {
          "line": 126,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 4780,
      "end": 4786,
      "loc": {
        "start": {
          "line": 128,
          "column": 4
        },
        "end": {
          "line": 128,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "lastFocusableChild",
      "start": 4787,
      "end": 4805,
      "loc": {
        "start": {
          "line": 128,
          "column": 11
        },
        "end": {
          "line": 128,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4805,
      "end": 4806,
      "loc": {
        "start": {
          "line": 128,
          "column": 29
        },
        "end": {
          "line": 128,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "controlOrComponent",
      "start": 4806,
      "end": 4824,
      "loc": {
        "start": {
          "line": 128,
          "column": 30
        },
        "end": {
          "line": 128,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4824,
      "end": 4825,
      "loc": {
        "start": {
          "line": 128,
          "column": 48
        },
        "end": {
          "line": 128,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4826,
      "end": 4827,
      "loc": {
        "start": {
          "line": 128,
          "column": 50
        },
        "end": {
          "line": 128,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4836,
      "end": 4838,
      "loc": {
        "start": {
          "line": 129,
          "column": 8
        },
        "end": {
          "line": 129,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4839,
      "end": 4840,
      "loc": {
        "start": {
          "line": 129,
          "column": 11
        },
        "end": {
          "line": 129,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 4840,
      "end": 4847,
      "loc": {
        "start": {
          "line": 129,
          "column": 12
        },
        "end": {
          "line": 129,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4847,
      "end": 4848,
      "loc": {
        "start": {
          "line": 129,
          "column": 19
        },
        "end": {
          "line": 129,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "componentHasChildren",
      "start": 4848,
      "end": 4868,
      "loc": {
        "start": {
          "line": 129,
          "column": 20
        },
        "end": {
          "line": 129,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4868,
      "end": 4869,
      "loc": {
        "start": {
          "line": 129,
          "column": 40
        },
        "end": {
          "line": 129,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "controlOrComponent",
      "start": 4869,
      "end": 4887,
      "loc": {
        "start": {
          "line": 129,
          "column": 41
        },
        "end": {
          "line": 129,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4887,
      "end": 4888,
      "loc": {
        "start": {
          "line": 129,
          "column": 59
        },
        "end": {
          "line": 129,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4888,
      "end": 4889,
      "loc": {
        "start": {
          "line": 129,
          "column": 60
        },
        "end": {
          "line": 129,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4890,
      "end": 4891,
      "loc": {
        "start": {
          "line": 129,
          "column": 62
        },
        "end": {
          "line": 129,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4904,
      "end": 4909,
      "loc": {
        "start": {
          "line": 130,
          "column": 12
        },
        "end": {
          "line": 130,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4910,
      "end": 4911,
      "loc": {
        "start": {
          "line": 130,
          "column": 18
        },
        "end": {
          "line": 130,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 4912,
      "end": 4920,
      "loc": {
        "start": {
          "line": 130,
          "column": 20
        },
        "end": {
          "line": 130,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4921,
      "end": 4922,
      "loc": {
        "start": {
          "line": 130,
          "column": 29
        },
        "end": {
          "line": 130,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4923,
      "end": 4924,
      "loc": {
        "start": {
          "line": 130,
          "column": 31
        },
        "end": {
          "line": 130,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "controlOrComponent",
      "start": 4925,
      "end": 4943,
      "loc": {
        "start": {
          "line": 130,
          "column": 33
        },
        "end": {
          "line": 130,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4943,
      "end": 4944,
      "loc": {
        "start": {
          "line": 130,
          "column": 51
        },
        "end": {
          "line": 130,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 4944,
      "end": 4949,
      "loc": {
        "start": {
          "line": 130,
          "column": 52
        },
        "end": {
          "line": 130,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4949,
      "end": 4950,
      "loc": {
        "start": {
          "line": 130,
          "column": 57
        },
        "end": {
          "line": 130,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 4963,
      "end": 4966,
      "loc": {
        "start": {
          "line": 131,
          "column": 12
        },
        "end": {
          "line": 131,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4967,
      "end": 4968,
      "loc": {
        "start": {
          "line": 131,
          "column": 16
        },
        "end": {
          "line": 131,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4968,
      "end": 4971,
      "loc": {
        "start": {
          "line": 131,
          "column": 17
        },
        "end": {
          "line": 131,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4972,
      "end": 4973,
      "loc": {
        "start": {
          "line": 131,
          "column": 21
        },
        "end": {
          "line": 131,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4974,
      "end": 4975,
      "loc": {
        "start": {
          "line": 131,
          "column": 23
        },
        "end": {
          "line": 131,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4976,
      "end": 4977,
      "loc": {
        "start": {
          "line": 131,
          "column": 25
        },
        "end": {
          "line": 131,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4977,
      "end": 4978,
      "loc": {
        "start": {
          "line": 131,
          "column": 26
        },
        "end": {
          "line": 131,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4979,
      "end": 4980,
      "loc": {
        "start": {
          "line": 131,
          "column": 28
        },
        "end": {
          "line": 131,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 4981,
      "end": 4982,
      "loc": {
        "start": {
          "line": 131,
          "column": 30
        },
        "end": {
          "line": 131,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 4983,
      "end": 4991,
      "loc": {
        "start": {
          "line": 131,
          "column": 32
        },
        "end": {
          "line": 131,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4991,
      "end": 4992,
      "loc": {
        "start": {
          "line": 131,
          "column": 40
        },
        "end": {
          "line": 131,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4992,
      "end": 4998,
      "loc": {
        "start": {
          "line": 131,
          "column": 41
        },
        "end": {
          "line": 131,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4998,
      "end": 4999,
      "loc": {
        "start": {
          "line": 131,
          "column": 47
        },
        "end": {
          "line": 131,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 5000,
      "end": 5001,
      "loc": {
        "start": {
          "line": 131,
          "column": 49
        },
        "end": {
          "line": 131,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 5001,
      "end": 5003,
      "loc": {
        "start": {
          "line": 131,
          "column": 50
        },
        "end": {
          "line": 131,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5003,
      "end": 5004,
      "loc": {
        "start": {
          "line": 131,
          "column": 52
        },
        "end": {
          "line": 131,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5005,
      "end": 5006,
      "loc": {
        "start": {
          "line": 131,
          "column": 54
        },
        "end": {
          "line": 131,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5023,
      "end": 5028,
      "loc": {
        "start": {
          "line": 132,
          "column": 16
        },
        "end": {
          "line": 132,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5029,
      "end": 5030,
      "loc": {
        "start": {
          "line": 132,
          "column": 22
        },
        "end": {
          "line": 132,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 5031,
      "end": 5036,
      "loc": {
        "start": {
          "line": 132,
          "column": 24
        },
        "end": {
          "line": 132,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5037,
      "end": 5038,
      "loc": {
        "start": {
          "line": 132,
          "column": 30
        },
        "end": {
          "line": 132,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5039,
      "end": 5040,
      "loc": {
        "start": {
          "line": 132,
          "column": 32
        },
        "end": {
          "line": 132,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 5041,
      "end": 5049,
      "loc": {
        "start": {
          "line": 132,
          "column": 34
        },
        "end": {
          "line": 132,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5049,
      "end": 5050,
      "loc": {
        "start": {
          "line": 132,
          "column": 42
        },
        "end": {
          "line": 132,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 5050,
      "end": 5051,
      "loc": {
        "start": {
          "line": 132,
          "column": 43
        },
        "end": {
          "line": 132,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5051,
      "end": 5052,
      "loc": {
        "start": {
          "line": 132,
          "column": 44
        },
        "end": {
          "line": 132,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5052,
      "end": 5053,
      "loc": {
        "start": {
          "line": 132,
          "column": 45
        },
        "end": {
          "line": 132,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5070,
      "end": 5072,
      "loc": {
        "start": {
          "line": 133,
          "column": 16
        },
        "end": {
          "line": 133,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5073,
      "end": 5074,
      "loc": {
        "start": {
          "line": 133,
          "column": 19
        },
        "end": {
          "line": 133,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 5074,
      "end": 5081,
      "loc": {
        "start": {
          "line": 133,
          "column": 20
        },
        "end": {
          "line": 133,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5081,
      "end": 5082,
      "loc": {
        "start": {
          "line": 133,
          "column": 27
        },
        "end": {
          "line": 133,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isControl",
      "start": 5082,
      "end": 5091,
      "loc": {
        "start": {
          "line": 133,
          "column": 28
        },
        "end": {
          "line": 133,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5091,
      "end": 5092,
      "loc": {
        "start": {
          "line": 133,
          "column": 37
        },
        "end": {
          "line": 133,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 5092,
      "end": 5097,
      "loc": {
        "start": {
          "line": 133,
          "column": 38
        },
        "end": {
          "line": 133,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5097,
      "end": 5098,
      "loc": {
        "start": {
          "line": 133,
          "column": 43
        },
        "end": {
          "line": 133,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5098,
      "end": 5099,
      "loc": {
        "start": {
          "line": 133,
          "column": 44
        },
        "end": {
          "line": 133,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5100,
      "end": 5101,
      "loc": {
        "start": {
          "line": 133,
          "column": 46
        },
        "end": {
          "line": 133,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5122,
      "end": 5124,
      "loc": {
        "start": {
          "line": 134,
          "column": 20
        },
        "end": {
          "line": 134,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5125,
      "end": 5126,
      "loc": {
        "start": {
          "line": 134,
          "column": 23
        },
        "end": {
          "line": 134,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 5126,
      "end": 5131,
      "loc": {
        "start": {
          "line": 134,
          "column": 24
        },
        "end": {
          "line": 134,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5131,
      "end": 5132,
      "loc": {
        "start": {
          "line": 134,
          "column": 29
        },
        "end": {
          "line": 134,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canFocus",
      "start": 5132,
      "end": 5140,
      "loc": {
        "start": {
          "line": 134,
          "column": 30
        },
        "end": {
          "line": 134,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5140,
      "end": 5141,
      "loc": {
        "start": {
          "line": 134,
          "column": 38
        },
        "end": {
          "line": 134,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5141,
      "end": 5142,
      "loc": {
        "start": {
          "line": 134,
          "column": 39
        },
        "end": {
          "line": 134,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5142,
      "end": 5143,
      "loc": {
        "start": {
          "line": 134,
          "column": 40
        },
        "end": {
          "line": 134,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5144,
      "end": 5145,
      "loc": {
        "start": {
          "line": 134,
          "column": 42
        },
        "end": {
          "line": 134,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5170,
      "end": 5176,
      "loc": {
        "start": {
          "line": 135,
          "column": 24
        },
        "end": {
          "line": 135,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 5177,
      "end": 5182,
      "loc": {
        "start": {
          "line": 135,
          "column": 31
        },
        "end": {
          "line": 135,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5182,
      "end": 5183,
      "loc": {
        "start": {
          "line": 135,
          "column": 36
        },
        "end": {
          "line": 135,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5204,
      "end": 5205,
      "loc": {
        "start": {
          "line": 136,
          "column": 20
        },
        "end": {
          "line": 136,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5222,
      "end": 5223,
      "loc": {
        "start": {
          "line": 137,
          "column": 16
        },
        "end": {
          "line": 137,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5240,
      "end": 5244,
      "loc": {
        "start": {
          "line": 138,
          "column": 16
        },
        "end": {
          "line": 138,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5245,
      "end": 5247,
      "loc": {
        "start": {
          "line": 138,
          "column": 21
        },
        "end": {
          "line": 138,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5248,
      "end": 5249,
      "loc": {
        "start": {
          "line": 138,
          "column": 24
        },
        "end": {
          "line": 138,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 5249,
      "end": 5256,
      "loc": {
        "start": {
          "line": 138,
          "column": 25
        },
        "end": {
          "line": 138,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5256,
      "end": 5257,
      "loc": {
        "start": {
          "line": 138,
          "column": 32
        },
        "end": {
          "line": 138,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isReactComponent",
      "start": 5257,
      "end": 5273,
      "loc": {
        "start": {
          "line": 138,
          "column": 33
        },
        "end": {
          "line": 138,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5273,
      "end": 5274,
      "loc": {
        "start": {
          "line": 138,
          "column": 49
        },
        "end": {
          "line": 138,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 5274,
      "end": 5279,
      "loc": {
        "start": {
          "line": 138,
          "column": 50
        },
        "end": {
          "line": 138,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5279,
      "end": 5280,
      "loc": {
        "start": {
          "line": 138,
          "column": 55
        },
        "end": {
          "line": 138,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5280,
      "end": 5281,
      "loc": {
        "start": {
          "line": 138,
          "column": 56
        },
        "end": {
          "line": 138,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5282,
      "end": 5283,
      "loc": {
        "start": {
          "line": 138,
          "column": 58
        },
        "end": {
          "line": 138,
          "column": 59
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " recursive call into firstFocusableControlOf(child)",
      "start": 5304,
      "end": 5357,
      "loc": {
        "start": {
          "line": 139,
          "column": 20
        },
        "end": {
          "line": 139,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5378,
      "end": 5383,
      "loc": {
        "start": {
          "line": 140,
          "column": 20
        },
        "end": {
          "line": 140,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableInChild",
      "start": 5384,
      "end": 5405,
      "loc": {
        "start": {
          "line": 140,
          "column": 26
        },
        "end": {
          "line": 140,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5406,
      "end": 5407,
      "loc": {
        "start": {
          "line": 140,
          "column": 48
        },
        "end": {
          "line": 140,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 5408,
      "end": 5415,
      "loc": {
        "start": {
          "line": 140,
          "column": 50
        },
        "end": {
          "line": 140,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5415,
      "end": 5416,
      "loc": {
        "start": {
          "line": 140,
          "column": 57
        },
        "end": {
          "line": 140,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableControlOf",
      "start": 5416,
      "end": 5439,
      "loc": {
        "start": {
          "line": 140,
          "column": 58
        },
        "end": {
          "line": 140,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5439,
      "end": 5440,
      "loc": {
        "start": {
          "line": 140,
          "column": 81
        },
        "end": {
          "line": 140,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 5440,
      "end": 5445,
      "loc": {
        "start": {
          "line": 140,
          "column": 82
        },
        "end": {
          "line": 140,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5445,
      "end": 5446,
      "loc": {
        "start": {
          "line": 140,
          "column": 87
        },
        "end": {
          "line": 140,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5446,
      "end": 5447,
      "loc": {
        "start": {
          "line": 140,
          "column": 88
        },
        "end": {
          "line": 140,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5468,
      "end": 5470,
      "loc": {
        "start": {
          "line": 141,
          "column": 20
        },
        "end": {
          "line": 141,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5471,
      "end": 5472,
      "loc": {
        "start": {
          "line": 141,
          "column": 23
        },
        "end": {
          "line": 141,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableInChild",
      "start": 5472,
      "end": 5493,
      "loc": {
        "start": {
          "line": 141,
          "column": 24
        },
        "end": {
          "line": 141,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 5494,
      "end": 5496,
      "loc": {
        "start": {
          "line": 141,
          "column": 46
        },
        "end": {
          "line": 141,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 5497,
      "end": 5501,
      "loc": {
        "start": {
          "line": 141,
          "column": 49
        },
        "end": {
          "line": 141,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5501,
      "end": 5502,
      "loc": {
        "start": {
          "line": 141,
          "column": 53
        },
        "end": {
          "line": 141,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5503,
      "end": 5504,
      "loc": {
        "start": {
          "line": 141,
          "column": 55
        },
        "end": {
          "line": 141,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5529,
      "end": 5535,
      "loc": {
        "start": {
          "line": 142,
          "column": 24
        },
        "end": {
          "line": 142,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableInChild",
      "start": 5536,
      "end": 5557,
      "loc": {
        "start": {
          "line": 142,
          "column": 31
        },
        "end": {
          "line": 142,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5557,
      "end": 5558,
      "loc": {
        "start": {
          "line": 142,
          "column": 52
        },
        "end": {
          "line": 142,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5579,
      "end": 5580,
      "loc": {
        "start": {
          "line": 143,
          "column": 20
        },
        "end": {
          "line": 143,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5597,
      "end": 5598,
      "loc": {
        "start": {
          "line": 144,
          "column": 16
        },
        "end": {
          "line": 144,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5611,
      "end": 5612,
      "loc": {
        "start": {
          "line": 145,
          "column": 12
        },
        "end": {
          "line": 145,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5621,
      "end": 5622,
      "loc": {
        "start": {
          "line": 146,
          "column": 8
        },
        "end": {
          "line": 146,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5631,
      "end": 5637,
      "loc": {
        "start": {
          "line": 147,
          "column": 8
        },
        "end": {
          "line": 147,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 5638,
      "end": 5642,
      "loc": {
        "start": {
          "line": 147,
          "column": 15
        },
        "end": {
          "line": 147,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5642,
      "end": 5643,
      "loc": {
        "start": {
          "line": 147,
          "column": 19
        },
        "end": {
          "line": 147,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5648,
      "end": 5649,
      "loc": {
        "start": {
          "line": 148,
          "column": 4
        },
        "end": {
          "line": 148,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 5655,
      "end": 5661,
      "loc": {
        "start": {
          "line": 150,
          "column": 4
        },
        "end": {
          "line": 150,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buildControlForComponent",
      "start": 5662,
      "end": 5686,
      "loc": {
        "start": {
          "line": 150,
          "column": 11
        },
        "end": {
          "line": 150,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5686,
      "end": 5687,
      "loc": {
        "start": {
          "line": 150,
          "column": 35
        },
        "end": {
          "line": 150,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 5687,
      "end": 5691,
      "loc": {
        "start": {
          "line": 150,
          "column": 36
        },
        "end": {
          "line": 150,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5691,
      "end": 5692,
      "loc": {
        "start": {
          "line": 150,
          "column": 40
        },
        "end": {
          "line": 150,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 5693,
      "end": 5698,
      "loc": {
        "start": {
          "line": 150,
          "column": 42
        },
        "end": {
          "line": 150,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5698,
      "end": 5699,
      "loc": {
        "start": {
          "line": 150,
          "column": 47
        },
        "end": {
          "line": 150,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 5700,
      "end": 5708,
      "loc": {
        "start": {
          "line": 150,
          "column": 49
        },
        "end": {
          "line": 150,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5708,
      "end": 5709,
      "loc": {
        "start": {
          "line": 150,
          "column": 57
        },
        "end": {
          "line": 150,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5710,
      "end": 5711,
      "loc": {
        "start": {
          "line": 150,
          "column": 59
        },
        "end": {
          "line": 150,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5720,
      "end": 5726,
      "loc": {
        "start": {
          "line": 151,
          "column": 8
        },
        "end": {
          "line": 151,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5727,
      "end": 5728,
      "loc": {
        "start": {
          "line": 151,
          "column": 15
        },
        "end": {
          "line": 151,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "jsxTagStart",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5739,
      "end": 5740,
      "loc": {
        "start": {
          "line": 152,
          "column": 10
        },
        "end": {
          "line": 152,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "jsxName",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Control",
      "start": 5740,
      "end": 5747,
      "loc": {
        "start": {
          "line": 152,
          "column": 11
        },
        "end": {
          "line": 152,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "jsxName",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "wrapComponent",
      "start": 5760,
      "end": 5773,
      "loc": {
        "start": {
          "line": 153,
          "column": 12
        },
        "end": {
          "line": 153,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5773,
      "end": 5774,
      "loc": {
        "start": {
          "line": 153,
          "column": 25
        },
        "end": {
          "line": 153,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5774,
      "end": 5775,
      "loc": {
        "start": {
          "line": 153,
          "column": 26
        },
        "end": {
          "line": 153,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "jsxTagStart",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5775,
      "end": 5776,
      "loc": {
        "start": {
          "line": 153,
          "column": 27
        },
        "end": {
          "line": 153,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "jsxName",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "type",
      "start": 5776,
      "end": 5780,
      "loc": {
        "start": {
          "line": 153,
          "column": 28
        },
        "end": {
          "line": 153,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5781,
      "end": 5782,
      "loc": {
        "start": {
          "line": 153,
          "column": 33
        },
        "end": {
          "line": 153,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5782,
      "end": 5785,
      "loc": {
        "start": {
          "line": 153,
          "column": 34
        },
        "end": {
          "line": 153,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 5785,
      "end": 5790,
      "loc": {
        "start": {
          "line": 153,
          "column": 37
        },
        "end": {
          "line": 153,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5790,
      "end": 5791,
      "loc": {
        "start": {
          "line": 153,
          "column": 42
        },
        "end": {
          "line": 153,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "/",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "/",
      "start": 5792,
      "end": 5793,
      "loc": {
        "start": {
          "line": 153,
          "column": 44
        },
        "end": {
          "line": 153,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "jsxTagEnd",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5793,
      "end": 5794,
      "loc": {
        "start": {
          "line": 153,
          "column": 45
        },
        "end": {
          "line": 153,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5794,
      "end": 5795,
      "loc": {
        "start": {
          "line": 153,
          "column": 46
        },
        "end": {
          "line": 153,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "jsxTagEnd",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5806,
      "end": 5807,
      "loc": {
        "start": {
          "line": 154,
          "column": 10
        },
        "end": {
          "line": 154,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "jsxText",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\n            ",
      "start": 5807,
      "end": 5820,
      "loc": {
        "start": {
          "line": 154,
          "column": 11
        },
        "end": {
          "line": 155,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5820,
      "end": 5821,
      "loc": {
        "start": {
          "line": 155,
          "column": 12
        },
        "end": {
          "line": 155,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 5821,
      "end": 5829,
      "loc": {
        "start": {
          "line": 155,
          "column": 13
        },
        "end": {
          "line": 155,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5829,
      "end": 5830,
      "loc": {
        "start": {
          "line": 155,
          "column": 21
        },
        "end": {
          "line": 155,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "jsxText",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\n          ",
      "start": 5830,
      "end": 5841,
      "loc": {
        "start": {
          "line": 155,
          "column": 22
        },
        "end": {
          "line": 156,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "jsxTagStart",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5841,
      "end": 5842,
      "loc": {
        "start": {
          "line": 156,
          "column": 10
        },
        "end": {
          "line": 156,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "/",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "/",
      "start": 5842,
      "end": 5843,
      "loc": {
        "start": {
          "line": 156,
          "column": 11
        },
        "end": {
          "line": 156,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "jsxName",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Control",
      "start": 5843,
      "end": 5850,
      "loc": {
        "start": {
          "line": 156,
          "column": 12
        },
        "end": {
          "line": 156,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "jsxTagEnd",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5850,
      "end": 5851,
      "loc": {
        "start": {
          "line": 156,
          "column": 19
        },
        "end": {
          "line": 156,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5860,
      "end": 5861,
      "loc": {
        "start": {
          "line": 157,
          "column": 8
        },
        "end": {
          "line": 157,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5861,
      "end": 5862,
      "loc": {
        "start": {
          "line": 157,
          "column": 9
        },
        "end": {
          "line": 157,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5867,
      "end": 5868,
      "loc": {
        "start": {
          "line": 158,
          "column": 4
        },
        "end": {
          "line": 158,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 5874,
      "end": 5880,
      "loc": {
        "start": {
          "line": 160,
          "column": 4
        },
        "end": {
          "line": 160,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "wrapComponent",
      "start": 5881,
      "end": 5894,
      "loc": {
        "start": {
          "line": 160,
          "column": 11
        },
        "end": {
          "line": 160,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5894,
      "end": 5895,
      "loc": {
        "start": {
          "line": 160,
          "column": 24
        },
        "end": {
          "line": 160,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 5895,
      "end": 5904,
      "loc": {
        "start": {
          "line": 160,
          "column": 25
        },
        "end": {
          "line": 160,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5904,
      "end": 5905,
      "loc": {
        "start": {
          "line": 160,
          "column": 34
        },
        "end": {
          "line": 160,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5906,
      "end": 5907,
      "loc": {
        "start": {
          "line": 160,
          "column": 36
        },
        "end": {
          "line": 160,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5916,
      "end": 5921,
      "loc": {
        "start": {
          "line": 161,
          "column": 8
        },
        "end": {
          "line": 161,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5922,
      "end": 5923,
      "loc": {
        "start": {
          "line": 161,
          "column": 14
        },
        "end": {
          "line": 161,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 5924,
      "end": 5928,
      "loc": {
        "start": {
          "line": 161,
          "column": 16
        },
        "end": {
          "line": 161,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5929,
      "end": 5930,
      "loc": {
        "start": {
          "line": 161,
          "column": 21
        },
        "end": {
          "line": 161,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5931,
      "end": 5932,
      "loc": {
        "start": {
          "line": 161,
          "column": 23
        },
        "end": {
          "line": 161,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 5933,
      "end": 5942,
      "loc": {
        "start": {
          "line": 161,
          "column": 25
        },
        "end": {
          "line": 161,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5942,
      "end": 5943,
      "loc": {
        "start": {
          "line": 161,
          "column": 34
        },
        "end": {
          "line": 161,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5952,
      "end": 5957,
      "loc": {
        "start": {
          "line": 162,
          "column": 8
        },
        "end": {
          "line": 162,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 5958,
      "end": 5963,
      "loc": {
        "start": {
          "line": 162,
          "column": 14
        },
        "end": {
          "line": 162,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5964,
      "end": 5965,
      "loc": {
        "start": {
          "line": 162,
          "column": 20
        },
        "end": {
          "line": 162,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5966,
      "end": 5967,
      "loc": {
        "start": {
          "line": 162,
          "column": 22
        },
        "end": {
          "line": 162,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 5980,
      "end": 5989,
      "loc": {
        "start": {
          "line": 163,
          "column": 12
        },
        "end": {
          "line": 163,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5989,
      "end": 5990,
      "loc": {
        "start": {
          "line": 163,
          "column": 21
        },
        "end": {
          "line": 163,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 5990,
      "end": 5995,
      "loc": {
        "start": {
          "line": 163,
          "column": 22
        },
        "end": {
          "line": 163,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6008,
      "end": 6009,
      "loc": {
        "start": {
          "line": 164,
          "column": 12
        },
        "end": {
          "line": 164,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6022,
      "end": 6023,
      "loc": {
        "start": {
          "line": 165,
          "column": 12
        },
        "end": {
          "line": 165,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6024,
      "end": 6027,
      "loc": {
        "start": {
          "line": 165,
          "column": 14
        },
        "end": {
          "line": 165,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 6027,
      "end": 6036,
      "loc": {
        "start": {
          "line": 165,
          "column": 17
        },
        "end": {
          "line": 165,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6036,
      "end": 6037,
      "loc": {
        "start": {
          "line": 165,
          "column": 26
        },
        "end": {
          "line": 165,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 6037,
      "end": 6042,
      "loc": {
        "start": {
          "line": 165,
          "column": 27
        },
        "end": {
          "line": 165,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6042,
      "end": 6043,
      "loc": {
        "start": {
          "line": 165,
          "column": 32
        },
        "end": {
          "line": 165,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 6044,
      "end": 6052,
      "loc": {
        "start": {
          "line": 165,
          "column": 34
        },
        "end": {
          "line": 165,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6052,
      "end": 6053,
      "loc": {
        "start": {
          "line": 165,
          "column": 42
        },
        "end": {
          "line": 165,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 6054,
      "end": 6063,
      "loc": {
        "start": {
          "line": 165,
          "column": 44
        },
        "end": {
          "line": 165,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6064,
      "end": 6065,
      "loc": {
        "start": {
          "line": 165,
          "column": 54
        },
        "end": {
          "line": 165,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6078,
      "end": 6079,
      "loc": {
        "start": {
          "line": 166,
          "column": 12
        },
        "end": {
          "line": 166,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6092,
      "end": 6093,
      "loc": {
        "start": {
          "line": 167,
          "column": 12
        },
        "end": {
          "line": 167,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6094,
      "end": 6095,
      "loc": {
        "start": {
          "line": 167,
          "column": 14
        },
        "end": {
          "line": 167,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6104,
      "end": 6105,
      "loc": {
        "start": {
          "line": 168,
          "column": 8
        },
        "end": {
          "line": 168,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6105,
      "end": 6106,
      "loc": {
        "start": {
          "line": 168,
          "column": 9
        },
        "end": {
          "line": 168,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 6115,
      "end": 6120,
      "loc": {
        "start": {
          "line": 169,
          "column": 8
        },
        "end": {
          "line": 169,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 6121,
      "end": 6129,
      "loc": {
        "start": {
          "line": 169,
          "column": 14
        },
        "end": {
          "line": 169,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6130,
      "end": 6131,
      "loc": {
        "start": {
          "line": 169,
          "column": 23
        },
        "end": {
          "line": 169,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6132,
      "end": 6133,
      "loc": {
        "start": {
          "line": 169,
          "column": 25
        },
        "end": {
          "line": 169,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6146,
      "end": 6147,
      "loc": {
        "start": {
          "line": 170,
          "column": 12
        },
        "end": {
          "line": 170,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 6147,
      "end": 6156,
      "loc": {
        "start": {
          "line": 170,
          "column": 13
        },
        "end": {
          "line": 170,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6156,
      "end": 6157,
      "loc": {
        "start": {
          "line": 170,
          "column": 22
        },
        "end": {
          "line": 170,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 6157,
      "end": 6162,
      "loc": {
        "start": {
          "line": 170,
          "column": 23
        },
        "end": {
          "line": 170,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 6179,
      "end": 6181,
      "loc": {
        "start": {
          "line": 171,
          "column": 16
        },
        "end": {
          "line": 171,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 6182,
      "end": 6191,
      "loc": {
        "start": {
          "line": 171,
          "column": 19
        },
        "end": {
          "line": 171,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6191,
      "end": 6192,
      "loc": {
        "start": {
          "line": 171,
          "column": 28
        },
        "end": {
          "line": 171,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 6192,
      "end": 6197,
      "loc": {
        "start": {
          "line": 171,
          "column": 29
        },
        "end": {
          "line": 171,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6197,
      "end": 6198,
      "loc": {
        "start": {
          "line": 171,
          "column": 34
        },
        "end": {
          "line": 171,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 6198,
      "end": 6206,
      "loc": {
        "start": {
          "line": 171,
          "column": 35
        },
        "end": {
          "line": 171,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6206,
      "end": 6207,
      "loc": {
        "start": {
          "line": 171,
          "column": 43
        },
        "end": {
          "line": 171,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6220,
      "end": 6221,
      "loc": {
        "start": {
          "line": 172,
          "column": 12
        },
        "end": {
          "line": 172,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 6234,
      "end": 6243,
      "loc": {
        "start": {
          "line": 173,
          "column": 12
        },
        "end": {
          "line": 173,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6243,
      "end": 6244,
      "loc": {
        "start": {
          "line": 173,
          "column": 21
        },
        "end": {
          "line": 173,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 6244,
      "end": 6249,
      "loc": {
        "start": {
          "line": 173,
          "column": 22
        },
        "end": {
          "line": 173,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6249,
      "end": 6250,
      "loc": {
        "start": {
          "line": 173,
          "column": 27
        },
        "end": {
          "line": 173,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 6250,
      "end": 6258,
      "loc": {
        "start": {
          "line": 173,
          "column": 28
        },
        "end": {
          "line": 173,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6271,
      "end": 6272,
      "loc": {
        "start": {
          "line": 174,
          "column": 12
        },
        "end": {
          "line": 174,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 6285,
      "end": 6289,
      "loc": {
        "start": {
          "line": 175,
          "column": 12
        },
        "end": {
          "line": 175,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6298,
      "end": 6299,
      "loc": {
        "start": {
          "line": 176,
          "column": 8
        },
        "end": {
          "line": 176,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6299,
      "end": 6300,
      "loc": {
        "start": {
          "line": 176,
          "column": 9
        },
        "end": {
          "line": 176,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 6309,
      "end": 6315,
      "loc": {
        "start": {
          "line": 177,
          "column": 8
        },
        "end": {
          "line": 177,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6316,
      "end": 6317,
      "loc": {
        "start": {
          "line": 177,
          "column": 15
        },
        "end": {
          "line": 177,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6330,
      "end": 6331,
      "loc": {
        "start": {
          "line": 178,
          "column": 12
        },
        "end": {
          "line": 178,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 6331,
      "end": 6340,
      "loc": {
        "start": {
          "line": 178,
          "column": 13
        },
        "end": {
          "line": 178,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 6357,
      "end": 6359,
      "loc": {
        "start": {
          "line": 179,
          "column": 16
        },
        "end": {
          "line": 179,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 6360,
      "end": 6367,
      "loc": {
        "start": {
          "line": 179,
          "column": 19
        },
        "end": {
          "line": 179,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6367,
      "end": 6368,
      "loc": {
        "start": {
          "line": 179,
          "column": 26
        },
        "end": {
          "line": 179,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isReactComponent",
      "start": 6368,
      "end": 6384,
      "loc": {
        "start": {
          "line": 179,
          "column": 27
        },
        "end": {
          "line": 179,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6384,
      "end": 6385,
      "loc": {
        "start": {
          "line": 179,
          "column": 43
        },
        "end": {
          "line": 179,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "component",
      "start": 6385,
      "end": 6394,
      "loc": {
        "start": {
          "line": 179,
          "column": 44
        },
        "end": {
          "line": 179,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6394,
      "end": 6395,
      "loc": {
        "start": {
          "line": 179,
          "column": 53
        },
        "end": {
          "line": 179,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 6412,
      "end": 6414,
      "loc": {
        "start": {
          "line": 180,
          "column": 16
        },
        "end": {
          "line": 180,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 6415,
      "end": 6419,
      "loc": {
        "start": {
          "line": 180,
          "column": 19
        },
        "end": {
          "line": 180,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 6436,
      "end": 6438,
      "loc": {
        "start": {
          "line": 181,
          "column": 16
        },
        "end": {
          "line": 181,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 6439,
      "end": 6446,
      "loc": {
        "start": {
          "line": 181,
          "column": 19
        },
        "end": {
          "line": 181,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6446,
      "end": 6447,
      "loc": {
        "start": {
          "line": 181,
          "column": 26
        },
        "end": {
          "line": 181,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isReactComponent",
      "start": 6447,
      "end": 6463,
      "loc": {
        "start": {
          "line": 181,
          "column": 27
        },
        "end": {
          "line": 181,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6463,
      "end": 6464,
      "loc": {
        "start": {
          "line": 181,
          "column": 43
        },
        "end": {
          "line": 181,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 6464,
      "end": 6468,
      "loc": {
        "start": {
          "line": 181,
          "column": 44
        },
        "end": {
          "line": 181,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6468,
      "end": 6469,
      "loc": {
        "start": {
          "line": 181,
          "column": 48
        },
        "end": {
          "line": 181,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6469,
      "end": 6470,
      "loc": {
        "start": {
          "line": 181,
          "column": 49
        },
        "end": {
          "line": 181,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6483,
      "end": 6484,
      "loc": {
        "start": {
          "line": 182,
          "column": 12
        },
        "end": {
          "line": 182,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 6497,
      "end": 6504,
      "loc": {
        "start": {
          "line": 183,
          "column": 12
        },
        "end": {
          "line": 183,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6504,
      "end": 6505,
      "loc": {
        "start": {
          "line": 183,
          "column": 19
        },
        "end": {
          "line": 183,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buildControlForComponent",
      "start": 6505,
      "end": 6529,
      "loc": {
        "start": {
          "line": 183,
          "column": 20
        },
        "end": {
          "line": 183,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6529,
      "end": 6530,
      "loc": {
        "start": {
          "line": 183,
          "column": 44
        },
        "end": {
          "line": 183,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 6530,
      "end": 6534,
      "loc": {
        "start": {
          "line": 183,
          "column": 45
        },
        "end": {
          "line": 183,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6534,
      "end": 6535,
      "loc": {
        "start": {
          "line": 183,
          "column": 49
        },
        "end": {
          "line": 183,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 6536,
      "end": 6541,
      "loc": {
        "start": {
          "line": 183,
          "column": 51
        },
        "end": {
          "line": 183,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6541,
      "end": 6542,
      "loc": {
        "start": {
          "line": 183,
          "column": 56
        },
        "end": {
          "line": 183,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 6543,
      "end": 6551,
      "loc": {
        "start": {
          "line": 183,
          "column": 58
        },
        "end": {
          "line": 183,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6551,
      "end": 6552,
      "loc": {
        "start": {
          "line": 183,
          "column": 66
        },
        "end": {
          "line": 183,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6565,
      "end": 6566,
      "loc": {
        "start": {
          "line": 184,
          "column": 12
        },
        "end": {
          "line": 184,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 6579,
      "end": 6583,
      "loc": {
        "start": {
          "line": 185,
          "column": 12
        },
        "end": {
          "line": 185,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6592,
      "end": 6593,
      "loc": {
        "start": {
          "line": 186,
          "column": 8
        },
        "end": {
          "line": 186,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6593,
      "end": 6594,
      "loc": {
        "start": {
          "line": 186,
          "column": 9
        },
        "end": {
          "line": 186,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6599,
      "end": 6600,
      "loc": {
        "start": {
          "line": 187,
          "column": 4
        },
        "end": {
          "line": 187,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 6607,
      "end": 6618,
      "loc": {
        "start": {
          "line": 190,
          "column": 4
        },
        "end": {
          "line": 190,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6618,
      "end": 6619,
      "loc": {
        "start": {
          "line": 190,
          "column": 15
        },
        "end": {
          "line": 190,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 6619,
      "end": 6624,
      "loc": {
        "start": {
          "line": 190,
          "column": 16
        },
        "end": {
          "line": 190,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6624,
      "end": 6625,
      "loc": {
        "start": {
          "line": 190,
          "column": 21
        },
        "end": {
          "line": 190,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6626,
      "end": 6627,
      "loc": {
        "start": {
          "line": 190,
          "column": 23
        },
        "end": {
          "line": 190,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "super",
        "keyword": "super",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "super",
      "start": 6636,
      "end": 6641,
      "loc": {
        "start": {
          "line": 191,
          "column": 8
        },
        "end": {
          "line": 191,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6641,
      "end": 6642,
      "loc": {
        "start": {
          "line": 191,
          "column": 13
        },
        "end": {
          "line": 191,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 6642,
      "end": 6647,
      "loc": {
        "start": {
          "line": 191,
          "column": 14
        },
        "end": {
          "line": 191,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6647,
      "end": 6648,
      "loc": {
        "start": {
          "line": 191,
          "column": 19
        },
        "end": {
          "line": 191,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6648,
      "end": 6649,
      "loc": {
        "start": {
          "line": 191,
          "column": 20
        },
        "end": {
          "line": 191,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6658,
      "end": 6662,
      "loc": {
        "start": {
          "line": 192,
          "column": 8
        },
        "end": {
          "line": 192,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6662,
      "end": 6663,
      "loc": {
        "start": {
          "line": 192,
          "column": 12
        },
        "end": {
          "line": 192,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 6663,
      "end": 6668,
      "loc": {
        "start": {
          "line": 192,
          "column": 13
        },
        "end": {
          "line": 192,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6669,
      "end": 6670,
      "loc": {
        "start": {
          "line": 192,
          "column": 19
        },
        "end": {
          "line": 192,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6671,
      "end": 6672,
      "loc": {
        "start": {
          "line": 192,
          "column": 21
        },
        "end": {
          "line": 192,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6685,
      "end": 6688,
      "loc": {
        "start": {
          "line": 193,
          "column": 12
        },
        "end": {
          "line": 193,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6688,
      "end": 6692,
      "loc": {
        "start": {
          "line": 193,
          "column": 15
        },
        "end": {
          "line": 193,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6692,
      "end": 6693,
      "loc": {
        "start": {
          "line": 193,
          "column": 19
        },
        "end": {
          "line": 193,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 6693,
      "end": 6698,
      "loc": {
        "start": {
          "line": 193,
          "column": 20
        },
        "end": {
          "line": 193,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6698,
      "end": 6699,
      "loc": {
        "start": {
          "line": 193,
          "column": 25
        },
        "end": {
          "line": 193,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canIReachThisState",
      "start": 6712,
      "end": 6730,
      "loc": {
        "start": {
          "line": 194,
          "column": 12
        },
        "end": {
          "line": 194,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6730,
      "end": 6731,
      "loc": {
        "start": {
          "line": 194,
          "column": 30
        },
        "end": {
          "line": 194,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "yep!",
      "start": 6732,
      "end": 6738,
      "loc": {
        "start": {
          "line": 194,
          "column": 32
        },
        "end": {
          "line": 194,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6747,
      "end": 6748,
      "loc": {
        "start": {
          "line": 195,
          "column": 8
        },
        "end": {
          "line": 195,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6748,
      "end": 6749,
      "loc": {
        "start": {
          "line": 195,
          "column": 9
        },
        "end": {
          "line": 195,
          "column": 10
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " A basic Control, by itself, isn't focusable.",
      "start": 6758,
      "end": 6805,
      "loc": {
        "start": {
          "line": 196,
          "column": 8
        },
        "end": {
          "line": 196,
          "column": 55
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Some of it's child Controls will be focusable, and need to specify",
      "start": 6814,
      "end": 6883,
      "loc": {
        "start": {
          "line": 197,
          "column": 8
        },
        "end": {
          "line": 197,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " when that is the case.",
      "start": 6892,
      "end": 6917,
      "loc": {
        "start": {
          "line": 198,
          "column": 8
        },
        "end": {
          "line": 198,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6926,
      "end": 6930,
      "loc": {
        "start": {
          "line": 199,
          "column": 8
        },
        "end": {
          "line": 199,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6930,
      "end": 6931,
      "loc": {
        "start": {
          "line": 199,
          "column": 12
        },
        "end": {
          "line": 199,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "focusable",
      "start": 6931,
      "end": 6940,
      "loc": {
        "start": {
          "line": 199,
          "column": 13
        },
        "end": {
          "line": 199,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6941,
      "end": 6942,
      "loc": {
        "start": {
          "line": 199,
          "column": 23
        },
        "end": {
          "line": 199,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 6943,
      "end": 6948,
      "loc": {
        "start": {
          "line": 199,
          "column": 25
        },
        "end": {
          "line": 199,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6948,
      "end": 6949,
      "loc": {
        "start": {
          "line": 199,
          "column": 30
        },
        "end": {
          "line": 199,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6954,
      "end": 6955,
      "loc": {
        "start": {
          "line": 200,
          "column": 4
        },
        "end": {
          "line": 200,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if a Control instance is focusable.\n     * \n     * The default behavior is to always return true unless it is already focused.\n     * \n     * The select(control) default behavior will always check the Control instance's canFocus()\n     * before doing any work.\n     * \n     * Most Controls which exist will be focusable. It is the default behavior that a derived\n     * Control class is always focusable.\n     * \n     * If you want to disable focusable in a specific way, you can override the function and\n     * return false instead of true.\n     * \n     * For example, consider a TextField whose input might be disabled for now. During the\n     * disabled state, canFocus() would return false, but otherwise return true.\n     ",
      "start": 6961,
      "end": 7736,
      "loc": {
        "start": {
          "line": 202,
          "column": 4
        },
        "end": {
          "line": 218,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " eslint-disable-next-line class-methods-use-this",
      "start": 7741,
      "end": 7791,
      "loc": {
        "start": {
          "line": 219,
          "column": 4
        },
        "end": {
          "line": 219,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canFocus",
      "start": 7796,
      "end": 7804,
      "loc": {
        "start": {
          "line": 220,
          "column": 4
        },
        "end": {
          "line": 220,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7804,
      "end": 7805,
      "loc": {
        "start": {
          "line": 220,
          "column": 12
        },
        "end": {
          "line": 220,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7805,
      "end": 7806,
      "loc": {
        "start": {
          "line": 220,
          "column": 13
        },
        "end": {
          "line": 220,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7807,
      "end": 7808,
      "loc": {
        "start": {
          "line": 220,
          "column": 15
        },
        "end": {
          "line": 220,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 7817,
      "end": 7823,
      "loc": {
        "start": {
          "line": 221,
          "column": 8
        },
        "end": {
          "line": 221,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7824,
      "end": 7828,
      "loc": {
        "start": {
          "line": 221,
          "column": 15
        },
        "end": {
          "line": 221,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7828,
      "end": 7829,
      "loc": {
        "start": {
          "line": 221,
          "column": 19
        },
        "end": {
          "line": 221,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEnabled",
      "start": 7829,
      "end": 7838,
      "loc": {
        "start": {
          "line": 221,
          "column": 20
        },
        "end": {
          "line": 221,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7838,
      "end": 7839,
      "loc": {
        "start": {
          "line": 221,
          "column": 29
        },
        "end": {
          "line": 221,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7839,
      "end": 7840,
      "loc": {
        "start": {
          "line": 221,
          "column": 30
        },
        "end": {
          "line": 221,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 7853,
      "end": 7855,
      "loc": {
        "start": {
          "line": 222,
          "column": 12
        },
        "end": {
          "line": 222,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7856,
      "end": 7860,
      "loc": {
        "start": {
          "line": 222,
          "column": 15
        },
        "end": {
          "line": 222,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7860,
      "end": 7861,
      "loc": {
        "start": {
          "line": 222,
          "column": 19
        },
        "end": {
          "line": 222,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isBlurred",
      "start": 7861,
      "end": 7870,
      "loc": {
        "start": {
          "line": 222,
          "column": 20
        },
        "end": {
          "line": 222,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7870,
      "end": 7871,
      "loc": {
        "start": {
          "line": 222,
          "column": 29
        },
        "end": {
          "line": 222,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7871,
      "end": 7872,
      "loc": {
        "start": {
          "line": 222,
          "column": 30
        },
        "end": {
          "line": 222,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 7885,
      "end": 7887,
      "loc": {
        "start": {
          "line": 223,
          "column": 12
        },
        "end": {
          "line": 223,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7888,
      "end": 7889,
      "loc": {
        "start": {
          "line": 223,
          "column": 15
        },
        "end": {
          "line": 223,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7889,
      "end": 7893,
      "loc": {
        "start": {
          "line": 223,
          "column": 16
        },
        "end": {
          "line": 223,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7893,
      "end": 7894,
      "loc": {
        "start": {
          "line": 223,
          "column": 20
        },
        "end": {
          "line": 223,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isFocusable",
      "start": 7894,
      "end": 7905,
      "loc": {
        "start": {
          "line": 223,
          "column": 21
        },
        "end": {
          "line": 223,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7905,
      "end": 7906,
      "loc": {
        "start": {
          "line": 223,
          "column": 32
        },
        "end": {
          "line": 223,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7906,
      "end": 7907,
      "loc": {
        "start": {
          "line": 223,
          "column": 33
        },
        "end": {
          "line": 223,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 7924,
      "end": 7926,
      "loc": {
        "start": {
          "line": 224,
          "column": 16
        },
        "end": {
          "line": 224,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7927,
      "end": 7931,
      "loc": {
        "start": {
          "line": 224,
          "column": 19
        },
        "end": {
          "line": 224,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7931,
      "end": 7932,
      "loc": {
        "start": {
          "line": 224,
          "column": 23
        },
        "end": {
          "line": 224,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocusable",
      "start": 7932,
      "end": 7949,
      "loc": {
        "start": {
          "line": 224,
          "column": 24
        },
        "end": {
          "line": 224,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7949,
      "end": 7950,
      "loc": {
        "start": {
          "line": 224,
          "column": 41
        },
        "end": {
          "line": 224,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7950,
      "end": 7951,
      "loc": {
        "start": {
          "line": 224,
          "column": 42
        },
        "end": {
          "line": 224,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7951,
      "end": 7952,
      "loc": {
        "start": {
          "line": 224,
          "column": 43
        },
        "end": {
          "line": 224,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7952,
      "end": 7953,
      "loc": {
        "start": {
          "line": 224,
          "column": 44
        },
        "end": {
          "line": 224,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7958,
      "end": 7959,
      "loc": {
        "start": {
          "line": 225,
          "column": 4
        },
        "end": {
          "line": 225,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if the Control instance is un-focusable.\n     * \n     * Most Controls which exist will be focusable. It is the deault behavior that a derived\n     * Control class is always focusable.\n     * \n     * If you want to disable focusable in a specific way, you can override the function and\n     * return false instead of true.\n     * \n     * For example, consider a TextField whose input might be disabled for now. During the\n     * disabled state, canFocus() would return false, but otherwise return true.\n     ",
      "start": 7965,
      "end": 8519,
      "loc": {
        "start": {
          "line": 227,
          "column": 4
        },
        "end": {
          "line": 238,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canBlur",
      "start": 8524,
      "end": 8531,
      "loc": {
        "start": {
          "line": 239,
          "column": 4
        },
        "end": {
          "line": 239,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8531,
      "end": 8532,
      "loc": {
        "start": {
          "line": 239,
          "column": 11
        },
        "end": {
          "line": 239,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8532,
      "end": 8533,
      "loc": {
        "start": {
          "line": 239,
          "column": 12
        },
        "end": {
          "line": 239,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8534,
      "end": 8535,
      "loc": {
        "start": {
          "line": 239,
          "column": 14
        },
        "end": {
          "line": 239,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 8544,
      "end": 8550,
      "loc": {
        "start": {
          "line": 240,
          "column": 8
        },
        "end": {
          "line": 240,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8551,
      "end": 8555,
      "loc": {
        "start": {
          "line": 240,
          "column": 15
        },
        "end": {
          "line": 240,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8555,
      "end": 8556,
      "loc": {
        "start": {
          "line": 240,
          "column": 19
        },
        "end": {
          "line": 240,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEnabled",
      "start": 8556,
      "end": 8565,
      "loc": {
        "start": {
          "line": 240,
          "column": 20
        },
        "end": {
          "line": 240,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8565,
      "end": 8566,
      "loc": {
        "start": {
          "line": 240,
          "column": 29
        },
        "end": {
          "line": 240,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8566,
      "end": 8567,
      "loc": {
        "start": {
          "line": 240,
          "column": 30
        },
        "end": {
          "line": 240,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 8580,
      "end": 8582,
      "loc": {
        "start": {
          "line": 241,
          "column": 12
        },
        "end": {
          "line": 241,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8583,
      "end": 8587,
      "loc": {
        "start": {
          "line": 241,
          "column": 15
        },
        "end": {
          "line": 241,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8587,
      "end": 8588,
      "loc": {
        "start": {
          "line": 241,
          "column": 19
        },
        "end": {
          "line": 241,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isFocused",
      "start": 8588,
      "end": 8597,
      "loc": {
        "start": {
          "line": 241,
          "column": 20
        },
        "end": {
          "line": 241,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8597,
      "end": 8598,
      "loc": {
        "start": {
          "line": 241,
          "column": 29
        },
        "end": {
          "line": 241,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8598,
      "end": 8599,
      "loc": {
        "start": {
          "line": 241,
          "column": 30
        },
        "end": {
          "line": 241,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8599,
      "end": 8600,
      "loc": {
        "start": {
          "line": 241,
          "column": 31
        },
        "end": {
          "line": 241,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8605,
      "end": 8606,
      "loc": {
        "start": {
          "line": 242,
          "column": 4
        },
        "end": {
          "line": 242,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * \n     *  In a command line interface, where focusable controls exist (think Visual Basic for DOS)\n     *  to get an idea of the concept, we can't completely blur out of EVERY single control.\n     *\n     *  Something is always going to ALWAYS need to be accept / capture input, be it a Button\n     *  or TextField or a Menu or a Tab or Tree. But the concept of the Control component is\n     *  that it can easily allow focus to shift from one component to the next, and allow those\n     *  components which extend the Control class to easily display one type of blurred output\n     *  while accepting input once focused.\n     *\n     *  In order to guarantee this, blur will locate the forward (or reverse component)\n     *  and 'select' it instead.\n     ",
      "start": 8612,
      "end": 9378,
      "loc": {
        "start": {
          "line": 244,
          "column": 4
        },
        "end": {
          "line": 257,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "blur",
      "start": 9383,
      "end": 9387,
      "loc": {
        "start": {
          "line": 258,
          "column": 4
        },
        "end": {
          "line": 258,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9387,
      "end": 9388,
      "loc": {
        "start": {
          "line": 258,
          "column": 8
        },
        "end": {
          "line": 258,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9388,
      "end": 9389,
      "loc": {
        "start": {
          "line": 258,
          "column": 9
        },
        "end": {
          "line": 258,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9390,
      "end": 9391,
      "loc": {
        "start": {
          "line": 258,
          "column": 11
        },
        "end": {
          "line": 258,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9400,
      "end": 9402,
      "loc": {
        "start": {
          "line": 259,
          "column": 8
        },
        "end": {
          "line": 259,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9403,
      "end": 9404,
      "loc": {
        "start": {
          "line": 259,
          "column": 11
        },
        "end": {
          "line": 259,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9404,
      "end": 9408,
      "loc": {
        "start": {
          "line": 259,
          "column": 12
        },
        "end": {
          "line": 259,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9408,
      "end": 9409,
      "loc": {
        "start": {
          "line": 259,
          "column": 16
        },
        "end": {
          "line": 259,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canBlur",
      "start": 9409,
      "end": 9416,
      "loc": {
        "start": {
          "line": 259,
          "column": 17
        },
        "end": {
          "line": 259,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9416,
      "end": 9417,
      "loc": {
        "start": {
          "line": 259,
          "column": 24
        },
        "end": {
          "line": 259,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9417,
      "end": 9418,
      "loc": {
        "start": {
          "line": 259,
          "column": 25
        },
        "end": {
          "line": 259,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9418,
      "end": 9419,
      "loc": {
        "start": {
          "line": 259,
          "column": 26
        },
        "end": {
          "line": 259,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9420,
      "end": 9421,
      "loc": {
        "start": {
          "line": 259,
          "column": 28
        },
        "end": {
          "line": 259,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 9434,
      "end": 9439,
      "loc": {
        "start": {
          "line": 260,
          "column": 12
        },
        "end": {
          "line": 260,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9440,
      "end": 9441,
      "loc": {
        "start": {
          "line": 260,
          "column": 18
        },
        "end": {
          "line": 260,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 9458,
      "end": 9463,
      "loc": {
        "start": {
          "line": 261,
          "column": 16
        },
        "end": {
          "line": 261,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9476,
      "end": 9477,
      "loc": {
        "start": {
          "line": 262,
          "column": 12
        },
        "end": {
          "line": 262,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9478,
      "end": 9479,
      "loc": {
        "start": {
          "line": 262,
          "column": 14
        },
        "end": {
          "line": 262,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9480,
      "end": 9484,
      "loc": {
        "start": {
          "line": 262,
          "column": 16
        },
        "end": {
          "line": 262,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9484,
      "end": 9485,
      "loc": {
        "start": {
          "line": 262,
          "column": 20
        },
        "end": {
          "line": 262,
          "column": 21
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let our listeners know ",
      "start": 9498,
      "end": 9524,
      "loc": {
        "start": {
          "line": 263,
          "column": 12
        },
        "end": {
          "line": 263,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9537,
      "end": 9539,
      "loc": {
        "start": {
          "line": 264,
          "column": 12
        },
        "end": {
          "line": 264,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9540,
      "end": 9541,
      "loc": {
        "start": {
          "line": 264,
          "column": 15
        },
        "end": {
          "line": 264,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 9541,
      "end": 9546,
      "loc": {
        "start": {
          "line": 264,
          "column": 16
        },
        "end": {
          "line": 264,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9546,
      "end": 9547,
      "loc": {
        "start": {
          "line": 264,
          "column": 21
        },
        "end": {
          "line": 264,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onBlur",
      "start": 9547,
      "end": 9553,
      "loc": {
        "start": {
          "line": 264,
          "column": 22
        },
        "end": {
          "line": 264,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9553,
      "end": 9554,
      "loc": {
        "start": {
          "line": 264,
          "column": 28
        },
        "end": {
          "line": 264,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9555,
      "end": 9556,
      "loc": {
        "start": {
          "line": 264,
          "column": 30
        },
        "end": {
          "line": 264,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 9573,
      "end": 9578,
      "loc": {
        "start": {
          "line": 265,
          "column": 16
        },
        "end": {
          "line": 265,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9578,
      "end": 9579,
      "loc": {
        "start": {
          "line": 265,
          "column": 21
        },
        "end": {
          "line": 265,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onBlur",
      "start": 9579,
      "end": 9585,
      "loc": {
        "start": {
          "line": 265,
          "column": 22
        },
        "end": {
          "line": 265,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9585,
      "end": 9586,
      "loc": {
        "start": {
          "line": 265,
          "column": 28
        },
        "end": {
          "line": 265,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9586,
      "end": 9587,
      "loc": {
        "start": {
          "line": 265,
          "column": 29
        },
        "end": {
          "line": 265,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9587,
      "end": 9588,
      "loc": {
        "start": {
          "line": 265,
          "column": 30
        },
        "end": {
          "line": 265,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9601,
      "end": 9602,
      "loc": {
        "start": {
          "line": 266,
          "column": 12
        },
        "end": {
          "line": 266,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9611,
      "end": 9612,
      "loc": {
        "start": {
          "line": 267,
          "column": 8
        },
        "end": {
          "line": 267,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9617,
      "end": 9618,
      "loc": {
        "start": {
          "line": 268,
          "column": 4
        },
        "end": {
          "line": 268,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "focus",
      "start": 9624,
      "end": 9629,
      "loc": {
        "start": {
          "line": 270,
          "column": 4
        },
        "end": {
          "line": 270,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9629,
      "end": 9630,
      "loc": {
        "start": {
          "line": 270,
          "column": 9
        },
        "end": {
          "line": 270,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9630,
      "end": 9631,
      "loc": {
        "start": {
          "line": 270,
          "column": 10
        },
        "end": {
          "line": 270,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9632,
      "end": 9633,
      "loc": {
        "start": {
          "line": 270,
          "column": 12
        },
        "end": {
          "line": 270,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9642,
      "end": 9644,
      "loc": {
        "start": {
          "line": 271,
          "column": 8
        },
        "end": {
          "line": 271,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9645,
      "end": 9646,
      "loc": {
        "start": {
          "line": 271,
          "column": 11
        },
        "end": {
          "line": 271,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9646,
      "end": 9650,
      "loc": {
        "start": {
          "line": 271,
          "column": 12
        },
        "end": {
          "line": 271,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9650,
      "end": 9651,
      "loc": {
        "start": {
          "line": 271,
          "column": 16
        },
        "end": {
          "line": 271,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canFocus",
      "start": 9651,
      "end": 9659,
      "loc": {
        "start": {
          "line": 271,
          "column": 17
        },
        "end": {
          "line": 271,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9659,
      "end": 9660,
      "loc": {
        "start": {
          "line": 271,
          "column": 25
        },
        "end": {
          "line": 271,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9660,
      "end": 9661,
      "loc": {
        "start": {
          "line": 271,
          "column": 26
        },
        "end": {
          "line": 271,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9661,
      "end": 9662,
      "loc": {
        "start": {
          "line": 271,
          "column": 27
        },
        "end": {
          "line": 271,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9663,
      "end": 9664,
      "loc": {
        "start": {
          "line": 271,
          "column": 29
        },
        "end": {
          "line": 271,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 9677,
      "end": 9682,
      "loc": {
        "start": {
          "line": 272,
          "column": 12
        },
        "end": {
          "line": 272,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9683,
      "end": 9684,
      "loc": {
        "start": {
          "line": 272,
          "column": 18
        },
        "end": {
          "line": 272,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 9701,
      "end": 9706,
      "loc": {
        "start": {
          "line": 273,
          "column": 16
        },
        "end": {
          "line": 273,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9719,
      "end": 9720,
      "loc": {
        "start": {
          "line": 274,
          "column": 12
        },
        "end": {
          "line": 274,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9721,
      "end": 9722,
      "loc": {
        "start": {
          "line": 274,
          "column": 14
        },
        "end": {
          "line": 274,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9723,
      "end": 9727,
      "loc": {
        "start": {
          "line": 274,
          "column": 16
        },
        "end": {
          "line": 274,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9727,
      "end": 9728,
      "loc": {
        "start": {
          "line": 274,
          "column": 20
        },
        "end": {
          "line": 274,
          "column": 21
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let our listeners know ",
      "start": 9741,
      "end": 9767,
      "loc": {
        "start": {
          "line": 275,
          "column": 12
        },
        "end": {
          "line": 275,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9780,
      "end": 9782,
      "loc": {
        "start": {
          "line": 276,
          "column": 12
        },
        "end": {
          "line": 276,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9783,
      "end": 9784,
      "loc": {
        "start": {
          "line": 276,
          "column": 15
        },
        "end": {
          "line": 276,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 9784,
      "end": 9789,
      "loc": {
        "start": {
          "line": 276,
          "column": 16
        },
        "end": {
          "line": 276,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9789,
      "end": 9790,
      "loc": {
        "start": {
          "line": 276,
          "column": 21
        },
        "end": {
          "line": 276,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onFocus",
      "start": 9790,
      "end": 9797,
      "loc": {
        "start": {
          "line": 276,
          "column": 22
        },
        "end": {
          "line": 276,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9797,
      "end": 9798,
      "loc": {
        "start": {
          "line": 276,
          "column": 29
        },
        "end": {
          "line": 276,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9799,
      "end": 9800,
      "loc": {
        "start": {
          "line": 276,
          "column": 31
        },
        "end": {
          "line": 276,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 9817,
      "end": 9822,
      "loc": {
        "start": {
          "line": 277,
          "column": 16
        },
        "end": {
          "line": 277,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9822,
      "end": 9823,
      "loc": {
        "start": {
          "line": 277,
          "column": 21
        },
        "end": {
          "line": 277,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onFocus",
      "start": 9823,
      "end": 9830,
      "loc": {
        "start": {
          "line": 277,
          "column": 22
        },
        "end": {
          "line": 277,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9830,
      "end": 9831,
      "loc": {
        "start": {
          "line": 277,
          "column": 29
        },
        "end": {
          "line": 277,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9831,
      "end": 9832,
      "loc": {
        "start": {
          "line": 277,
          "column": 30
        },
        "end": {
          "line": 277,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9832,
      "end": 9833,
      "loc": {
        "start": {
          "line": 277,
          "column": 31
        },
        "end": {
          "line": 277,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9846,
      "end": 9847,
      "loc": {
        "start": {
          "line": 278,
          "column": 12
        },
        "end": {
          "line": 278,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9856,
      "end": 9857,
      "loc": {
        "start": {
          "line": 279,
          "column": 8
        },
        "end": {
          "line": 279,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9862,
      "end": 9863,
      "loc": {
        "start": {
          "line": 280,
          "column": 4
        },
        "end": {
          "line": 280,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isDisabled()` method returns a boolean which indicates the value of\n     * the `disabled` property as passed into the component.\n     * \n     * `<Control disabled />` would cause `isDisabled()` to return `true`.\n     * \n     * `<Control />` would cause `isDisabled()` to return `false`.\n     ",
      "start": 9869,
      "end": 10179,
      "loc": {
        "start": {
          "line": 282,
          "column": 4
        },
        "end": {
          "line": 289,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isDisabled",
      "start": 10184,
      "end": 10194,
      "loc": {
        "start": {
          "line": 290,
          "column": 4
        },
        "end": {
          "line": 290,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10194,
      "end": 10195,
      "loc": {
        "start": {
          "line": 290,
          "column": 14
        },
        "end": {
          "line": 290,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10195,
      "end": 10196,
      "loc": {
        "start": {
          "line": 290,
          "column": 15
        },
        "end": {
          "line": 290,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10197,
      "end": 10198,
      "loc": {
        "start": {
          "line": 290,
          "column": 17
        },
        "end": {
          "line": 290,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 10207,
      "end": 10212,
      "loc": {
        "start": {
          "line": 291,
          "column": 8
        },
        "end": {
          "line": 291,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10213,
      "end": 10214,
      "loc": {
        "start": {
          "line": 291,
          "column": 14
        },
        "end": {
          "line": 291,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 10227,
      "end": 10232,
      "loc": {
        "start": {
          "line": 292,
          "column": 12
        },
        "end": {
          "line": 292,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10241,
      "end": 10242,
      "loc": {
        "start": {
          "line": 293,
          "column": 8
        },
        "end": {
          "line": 293,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 10243,
      "end": 10244,
      "loc": {
        "start": {
          "line": 293,
          "column": 10
        },
        "end": {
          "line": 293,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10245,
      "end": 10249,
      "loc": {
        "start": {
          "line": 293,
          "column": 12
        },
        "end": {
          "line": 293,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10249,
      "end": 10250,
      "loc": {
        "start": {
          "line": 293,
          "column": 16
        },
        "end": {
          "line": 293,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 10259,
      "end": 10265,
      "loc": {
        "start": {
          "line": 294,
          "column": 8
        },
        "end": {
          "line": 294,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 10266,
      "end": 10271,
      "loc": {
        "start": {
          "line": 294,
          "column": 15
        },
        "end": {
          "line": 294,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 10272,
      "end": 10275,
      "loc": {
        "start": {
          "line": 294,
          "column": 21
        },
        "end": {
          "line": 294,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 10276,
      "end": 10285,
      "loc": {
        "start": {
          "line": 294,
          "column": 25
        },
        "end": {
          "line": 294,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 10286,
      "end": 10288,
      "loc": {
        "start": {
          "line": 294,
          "column": 35
        },
        "end": {
          "line": 294,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10289,
      "end": 10290,
      "loc": {
        "start": {
          "line": 294,
          "column": 38
        },
        "end": {
          "line": 294,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 10290,
      "end": 10291,
      "loc": {
        "start": {
          "line": 294,
          "column": 39
        },
        "end": {
          "line": 294,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 10291,
      "end": 10292,
      "loc": {
        "start": {
          "line": 294,
          "column": 40
        },
        "end": {
          "line": 294,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 10292,
      "end": 10297,
      "loc": {
        "start": {
          "line": 294,
          "column": 41
        },
        "end": {
          "line": 294,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10297,
      "end": 10298,
      "loc": {
        "start": {
          "line": 294,
          "column": 46
        },
        "end": {
          "line": 294,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "disabled",
      "start": 10298,
      "end": 10306,
      "loc": {
        "start": {
          "line": 294,
          "column": 47
        },
        "end": {
          "line": 294,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10306,
      "end": 10307,
      "loc": {
        "start": {
          "line": 294,
          "column": 55
        },
        "end": {
          "line": 294,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10307,
      "end": 10308,
      "loc": {
        "start": {
          "line": 294,
          "column": 56
        },
        "end": {
          "line": 294,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10313,
      "end": 10314,
      "loc": {
        "start": {
          "line": 295,
          "column": 4
        },
        "end": {
          "line": 295,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isEnabled()` method returns the inverse value of the `isDisabled()`\n     * method.\n     * \n     * `<Control disabled />` would cause `isEnabled()` to return `false`.\n     * \n     * `<Control />` would cause `isEnabled()` to return `true`.\n     ",
      "start": 10324,
      "end": 10586,
      "loc": {
        "start": {
          "line": 297,
          "column": 4
        },
        "end": {
          "line": 304,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEnabled",
      "start": 10591,
      "end": 10600,
      "loc": {
        "start": {
          "line": 305,
          "column": 4
        },
        "end": {
          "line": 305,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10600,
      "end": 10601,
      "loc": {
        "start": {
          "line": 305,
          "column": 13
        },
        "end": {
          "line": 305,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10601,
      "end": 10602,
      "loc": {
        "start": {
          "line": 305,
          "column": 14
        },
        "end": {
          "line": 305,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10603,
      "end": 10604,
      "loc": {
        "start": {
          "line": 305,
          "column": 16
        },
        "end": {
          "line": 305,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 10613,
      "end": 10619,
      "loc": {
        "start": {
          "line": 306,
          "column": 8
        },
        "end": {
          "line": 306,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 10620,
      "end": 10621,
      "loc": {
        "start": {
          "line": 306,
          "column": 15
        },
        "end": {
          "line": 306,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10621,
      "end": 10625,
      "loc": {
        "start": {
          "line": 306,
          "column": 16
        },
        "end": {
          "line": 306,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10625,
      "end": 10626,
      "loc": {
        "start": {
          "line": 306,
          "column": 20
        },
        "end": {
          "line": 306,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isDisabled",
      "start": 10626,
      "end": 10636,
      "loc": {
        "start": {
          "line": 306,
          "column": 21
        },
        "end": {
          "line": 306,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10636,
      "end": 10637,
      "loc": {
        "start": {
          "line": 306,
          "column": 31
        },
        "end": {
          "line": 306,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10637,
      "end": 10638,
      "loc": {
        "start": {
          "line": 306,
          "column": 32
        },
        "end": {
          "line": 306,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10638,
      "end": 10639,
      "loc": {
        "start": {
          "line": 306,
          "column": 33
        },
        "end": {
          "line": 306,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10644,
      "end": 10645,
      "loc": {
        "start": {
          "line": 307,
          "column": 4
        },
        "end": {
          "line": 307,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isFocused()` method returns a boolean which indicates the value of\n     * the `focused` property as passed into the component, as long as it\n     * is not `disabled`.\n     * \n     * `<Control focused />` would cause `isFocused()` to return `true`,\n     * unless the `Control` is disabled.\n     * \n     * `<Control focused disabled />` would cause `isFocused()` to return\n     * `false`, and is not a valid state for the Control component.\n     * \n     * `<Control />` would cause `isFocused()` to return `false`.\n     ",
      "start": 10651,
      "end": 11187,
      "loc": {
        "start": {
          "line": 309,
          "column": 4
        },
        "end": {
          "line": 321,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isFocused",
      "start": 11192,
      "end": 11201,
      "loc": {
        "start": {
          "line": 322,
          "column": 4
        },
        "end": {
          "line": 322,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11201,
      "end": 11202,
      "loc": {
        "start": {
          "line": 322,
          "column": 13
        },
        "end": {
          "line": 322,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11202,
      "end": 11203,
      "loc": {
        "start": {
          "line": 322,
          "column": 14
        },
        "end": {
          "line": 322,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11204,
      "end": 11205,
      "loc": {
        "start": {
          "line": 322,
          "column": 16
        },
        "end": {
          "line": 322,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 11214,
      "end": 11219,
      "loc": {
        "start": {
          "line": 323,
          "column": 8
        },
        "end": {
          "line": 323,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11220,
      "end": 11221,
      "loc": {
        "start": {
          "line": 323,
          "column": 14
        },
        "end": {
          "line": 323,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 11234,
      "end": 11239,
      "loc": {
        "start": {
          "line": 324,
          "column": 12
        },
        "end": {
          "line": 324,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11248,
      "end": 11249,
      "loc": {
        "start": {
          "line": 325,
          "column": 8
        },
        "end": {
          "line": 325,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 11250,
      "end": 11251,
      "loc": {
        "start": {
          "line": 325,
          "column": 10
        },
        "end": {
          "line": 325,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 11252,
      "end": 11256,
      "loc": {
        "start": {
          "line": 325,
          "column": 12
        },
        "end": {
          "line": 325,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11256,
      "end": 11257,
      "loc": {
        "start": {
          "line": 325,
          "column": 16
        },
        "end": {
          "line": 325,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 11266,
      "end": 11272,
      "loc": {
        "start": {
          "line": 326,
          "column": 8
        },
        "end": {
          "line": 326,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 11273,
      "end": 11278,
      "loc": {
        "start": {
          "line": 326,
          "column": 15
        },
        "end": {
          "line": 326,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 11279,
      "end": 11282,
      "loc": {
        "start": {
          "line": 326,
          "column": 21
        },
        "end": {
          "line": 326,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 11283,
      "end": 11292,
      "loc": {
        "start": {
          "line": 326,
          "column": 25
        },
        "end": {
          "line": 326,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 11293,
      "end": 11295,
      "loc": {
        "start": {
          "line": 326,
          "column": 35
        },
        "end": {
          "line": 326,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11296,
      "end": 11297,
      "loc": {
        "start": {
          "line": 326,
          "column": 38
        },
        "end": {
          "line": 326,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 11297,
      "end": 11298,
      "loc": {
        "start": {
          "line": 326,
          "column": 39
        },
        "end": {
          "line": 326,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 11298,
      "end": 11299,
      "loc": {
        "start": {
          "line": 326,
          "column": 40
        },
        "end": {
          "line": 326,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 11299,
      "end": 11304,
      "loc": {
        "start": {
          "line": 326,
          "column": 41
        },
        "end": {
          "line": 326,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11304,
      "end": 11305,
      "loc": {
        "start": {
          "line": 326,
          "column": 46
        },
        "end": {
          "line": 326,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "focused",
      "start": 11305,
      "end": 11312,
      "loc": {
        "start": {
          "line": 326,
          "column": 47
        },
        "end": {
          "line": 326,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 11313,
      "end": 11315,
      "loc": {
        "start": {
          "line": 326,
          "column": 55
        },
        "end": {
          "line": 326,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 11316,
      "end": 11320,
      "loc": {
        "start": {
          "line": 326,
          "column": 58
        },
        "end": {
          "line": 326,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11320,
      "end": 11321,
      "loc": {
        "start": {
          "line": 326,
          "column": 62
        },
        "end": {
          "line": 326,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEnabled",
      "start": 11321,
      "end": 11330,
      "loc": {
        "start": {
          "line": 326,
          "column": 63
        },
        "end": {
          "line": 326,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11330,
      "end": 11331,
      "loc": {
        "start": {
          "line": 326,
          "column": 72
        },
        "end": {
          "line": 326,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11331,
      "end": 11332,
      "loc": {
        "start": {
          "line": 326,
          "column": 73
        },
        "end": {
          "line": 326,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11332,
      "end": 11333,
      "loc": {
        "start": {
          "line": 326,
          "column": 74
        },
        "end": {
          "line": 326,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11333,
      "end": 11334,
      "loc": {
        "start": {
          "line": 326,
          "column": 75
        },
        "end": {
          "line": 326,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11339,
      "end": 11340,
      "loc": {
        "start": {
          "line": 327,
          "column": 4
        },
        "end": {
          "line": 327,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isFocusable()` method returns a boolean which indicates the value of the\n     * field, `focusable`. It is checked throughout other functions in Control, but\n     * can be safely overridden if you would like to extend Control so that it is\n     * `focusable`. The `focusable` field is normally set to `false` unless it is\n     * set manually, either using a consumer or by extending the `Control` class.\n     ",
      "start": 11350,
      "end": 11776,
      "loc": {
        "start": {
          "line": 329,
          "column": 4
        },
        "end": {
          "line": 335,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isFocusable",
      "start": 11781,
      "end": 11792,
      "loc": {
        "start": {
          "line": 336,
          "column": 4
        },
        "end": {
          "line": 336,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11792,
      "end": 11793,
      "loc": {
        "start": {
          "line": 336,
          "column": 15
        },
        "end": {
          "line": 336,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11793,
      "end": 11794,
      "loc": {
        "start": {
          "line": 336,
          "column": 16
        },
        "end": {
          "line": 336,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11795,
      "end": 11796,
      "loc": {
        "start": {
          "line": 336,
          "column": 18
        },
        "end": {
          "line": 336,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 11805,
      "end": 11811,
      "loc": {
        "start": {
          "line": 337,
          "column": 8
        },
        "end": {
          "line": 337,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 11812,
      "end": 11816,
      "loc": {
        "start": {
          "line": 337,
          "column": 15
        },
        "end": {
          "line": 337,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11816,
      "end": 11817,
      "loc": {
        "start": {
          "line": 337,
          "column": 19
        },
        "end": {
          "line": 337,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "focusable",
      "start": 11817,
      "end": 11826,
      "loc": {
        "start": {
          "line": 337,
          "column": 20
        },
        "end": {
          "line": 337,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11826,
      "end": 11827,
      "loc": {
        "start": {
          "line": 337,
          "column": 29
        },
        "end": {
          "line": 337,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11832,
      "end": 11833,
      "loc": {
        "start": {
          "line": 338,
          "column": 4
        },
        "end": {
          "line": 338,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The `isBlurred()` method returns the inverse of the `isFocused()` method.\n     ",
      "start": 11839,
      "end": 11931,
      "loc": {
        "start": {
          "line": 340,
          "column": 4
        },
        "end": {
          "line": 342,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isBlurred",
      "start": 11936,
      "end": 11945,
      "loc": {
        "start": {
          "line": 343,
          "column": 4
        },
        "end": {
          "line": 343,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11945,
      "end": 11946,
      "loc": {
        "start": {
          "line": 343,
          "column": 13
        },
        "end": {
          "line": 343,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11946,
      "end": 11947,
      "loc": {
        "start": {
          "line": 343,
          "column": 14
        },
        "end": {
          "line": 343,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11948,
      "end": 11949,
      "loc": {
        "start": {
          "line": 343,
          "column": 16
        },
        "end": {
          "line": 343,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 11958,
      "end": 11964,
      "loc": {
        "start": {
          "line": 344,
          "column": 8
        },
        "end": {
          "line": 344,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 11965,
      "end": 11966,
      "loc": {
        "start": {
          "line": 344,
          "column": 15
        },
        "end": {
          "line": 344,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 11966,
      "end": 11970,
      "loc": {
        "start": {
          "line": 344,
          "column": 16
        },
        "end": {
          "line": 344,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11970,
      "end": 11971,
      "loc": {
        "start": {
          "line": 344,
          "column": 20
        },
        "end": {
          "line": 344,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isFocused",
      "start": 11971,
      "end": 11980,
      "loc": {
        "start": {
          "line": 344,
          "column": 21
        },
        "end": {
          "line": 344,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11980,
      "end": 11981,
      "loc": {
        "start": {
          "line": 344,
          "column": 30
        },
        "end": {
          "line": 344,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11981,
      "end": 11982,
      "loc": {
        "start": {
          "line": 344,
          "column": 31
        },
        "end": {
          "line": 344,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11982,
      "end": 11983,
      "loc": {
        "start": {
          "line": 344,
          "column": 32
        },
        "end": {
          "line": 344,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11988,
      "end": 11989,
      "loc": {
        "start": {
          "line": 345,
          "column": 4
        },
        "end": {
          "line": 345,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocus",
      "start": 11995,
      "end": 12008,
      "loc": {
        "start": {
          "line": 347,
          "column": 4
        },
        "end": {
          "line": 347,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12008,
      "end": 12009,
      "loc": {
        "start": {
          "line": 347,
          "column": 17
        },
        "end": {
          "line": 347,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12009,
      "end": 12010,
      "loc": {
        "start": {
          "line": 347,
          "column": 18
        },
        "end": {
          "line": 347,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12011,
      "end": 12012,
      "loc": {
        "start": {
          "line": 347,
          "column": 20
        },
        "end": {
          "line": 347,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 12021,
      "end": 12026,
      "loc": {
        "start": {
          "line": 348,
          "column": 8
        },
        "end": {
          "line": 348,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12027,
      "end": 12028,
      "loc": {
        "start": {
          "line": 348,
          "column": 14
        },
        "end": {
          "line": 348,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 12041,
      "end": 12046,
      "loc": {
        "start": {
          "line": 349,
          "column": 12
        },
        "end": {
          "line": 349,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12055,
      "end": 12056,
      "loc": {
        "start": {
          "line": 350,
          "column": 8
        },
        "end": {
          "line": 350,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 12057,
      "end": 12058,
      "loc": {
        "start": {
          "line": 350,
          "column": 10
        },
        "end": {
          "line": 350,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 12059,
      "end": 12063,
      "loc": {
        "start": {
          "line": 350,
          "column": 12
        },
        "end": {
          "line": 350,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12063,
      "end": 12064,
      "loc": {
        "start": {
          "line": 350,
          "column": 16
        },
        "end": {
          "line": 350,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 12073,
      "end": 12075,
      "loc": {
        "start": {
          "line": 351,
          "column": 8
        },
        "end": {
          "line": 351,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12076,
      "end": 12077,
      "loc": {
        "start": {
          "line": 351,
          "column": 11
        },
        "end": {
          "line": 351,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 12077,
      "end": 12081,
      "loc": {
        "start": {
          "line": 351,
          "column": 12
        },
        "end": {
          "line": 351,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12081,
      "end": 12082,
      "loc": {
        "start": {
          "line": 351,
          "column": 16
        },
        "end": {
          "line": 351,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isFocused",
      "start": 12082,
      "end": 12091,
      "loc": {
        "start": {
          "line": 351,
          "column": 17
        },
        "end": {
          "line": 351,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12091,
      "end": 12092,
      "loc": {
        "start": {
          "line": 351,
          "column": 26
        },
        "end": {
          "line": 351,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12092,
      "end": 12093,
      "loc": {
        "start": {
          "line": 351,
          "column": 27
        },
        "end": {
          "line": 351,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12093,
      "end": 12094,
      "loc": {
        "start": {
          "line": 351,
          "column": 28
        },
        "end": {
          "line": 351,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12095,
      "end": 12096,
      "loc": {
        "start": {
          "line": 351,
          "column": 30
        },
        "end": {
          "line": 351,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 12109,
      "end": 12115,
      "loc": {
        "start": {
          "line": 352,
          "column": 12
        },
        "end": {
          "line": 352,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 12116,
      "end": 12120,
      "loc": {
        "start": {
          "line": 352,
          "column": 19
        },
        "end": {
          "line": 352,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12120,
      "end": 12121,
      "loc": {
        "start": {
          "line": 352,
          "column": 23
        },
        "end": {
          "line": 352,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12130,
      "end": 12131,
      "loc": {
        "start": {
          "line": 353,
          "column": 8
        },
        "end": {
          "line": 353,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 12140,
      "end": 12142,
      "loc": {
        "start": {
          "line": 354,
          "column": 8
        },
        "end": {
          "line": 354,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12143,
      "end": 12144,
      "loc": {
        "start": {
          "line": 354,
          "column": 11
        },
        "end": {
          "line": 354,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 12144,
      "end": 12149,
      "loc": {
        "start": {
          "line": 354,
          "column": 12
        },
        "end": {
          "line": 354,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 12150,
      "end": 12152,
      "loc": {
        "start": {
          "line": 354,
          "column": 18
        },
        "end": {
          "line": 354,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 12153,
      "end": 12158,
      "loc": {
        "start": {
          "line": 354,
          "column": 21
        },
        "end": {
          "line": 354,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12158,
      "end": 12159,
      "loc": {
        "start": {
          "line": 354,
          "column": 26
        },
        "end": {
          "line": 354,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 12159,
      "end": 12167,
      "loc": {
        "start": {
          "line": 354,
          "column": 27
        },
        "end": {
          "line": 354,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 12168,
      "end": 12170,
      "loc": {
        "start": {
          "line": 354,
          "column": 36
        },
        "end": {
          "line": 354,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 12171,
      "end": 12176,
      "loc": {
        "start": {
          "line": 354,
          "column": 39
        },
        "end": {
          "line": 354,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12176,
      "end": 12177,
      "loc": {
        "start": {
          "line": 354,
          "column": 44
        },
        "end": {
          "line": 354,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 12177,
      "end": 12185,
      "loc": {
        "start": {
          "line": 354,
          "column": 45
        },
        "end": {
          "line": 354,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12185,
      "end": 12186,
      "loc": {
        "start": {
          "line": 354,
          "column": 53
        },
        "end": {
          "line": 354,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 12186,
      "end": 12192,
      "loc": {
        "start": {
          "line": 354,
          "column": 54
        },
        "end": {
          "line": 354,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12192,
      "end": 12193,
      "loc": {
        "start": {
          "line": 354,
          "column": 60
        },
        "end": {
          "line": 354,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12194,
      "end": 12195,
      "loc": {
        "start": {
          "line": 354,
          "column": 62
        },
        "end": {
          "line": 354,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 12208,
      "end": 12211,
      "loc": {
        "start": {
          "line": 355,
          "column": 12
        },
        "end": {
          "line": 355,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12212,
      "end": 12213,
      "loc": {
        "start": {
          "line": 355,
          "column": 16
        },
        "end": {
          "line": 355,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 12213,
      "end": 12216,
      "loc": {
        "start": {
          "line": 355,
          "column": 17
        },
        "end": {
          "line": 355,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 12217,
      "end": 12218,
      "loc": {
        "start": {
          "line": 355,
          "column": 21
        },
        "end": {
          "line": 355,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 12219,
      "end": 12220,
      "loc": {
        "start": {
          "line": 355,
          "column": 23
        },
        "end": {
          "line": 355,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 12221,
      "end": 12222,
      "loc": {
        "start": {
          "line": 355,
          "column": 25
        },
        "end": {
          "line": 355,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12222,
      "end": 12223,
      "loc": {
        "start": {
          "line": 355,
          "column": 26
        },
        "end": {
          "line": 355,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 12224,
      "end": 12225,
      "loc": {
        "start": {
          "line": 355,
          "column": 28
        },
        "end": {
          "line": 355,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 12226,
      "end": 12227,
      "loc": {
        "start": {
          "line": 355,
          "column": 30
        },
        "end": {
          "line": 355,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 12228,
      "end": 12233,
      "loc": {
        "start": {
          "line": 355,
          "column": 32
        },
        "end": {
          "line": 355,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12233,
      "end": 12234,
      "loc": {
        "start": {
          "line": 355,
          "column": 37
        },
        "end": {
          "line": 355,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 12234,
      "end": 12242,
      "loc": {
        "start": {
          "line": 355,
          "column": 38
        },
        "end": {
          "line": 355,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12242,
      "end": 12243,
      "loc": {
        "start": {
          "line": 355,
          "column": 46
        },
        "end": {
          "line": 355,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 12243,
      "end": 12249,
      "loc": {
        "start": {
          "line": 355,
          "column": 47
        },
        "end": {
          "line": 355,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12249,
      "end": 12250,
      "loc": {
        "start": {
          "line": 355,
          "column": 53
        },
        "end": {
          "line": 355,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 12251,
      "end": 12252,
      "loc": {
        "start": {
          "line": 355,
          "column": 55
        },
        "end": {
          "line": 355,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 12252,
      "end": 12254,
      "loc": {
        "start": {
          "line": 355,
          "column": 56
        },
        "end": {
          "line": 355,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12254,
      "end": 12255,
      "loc": {
        "start": {
          "line": 355,
          "column": 58
        },
        "end": {
          "line": 355,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12256,
      "end": 12257,
      "loc": {
        "start": {
          "line": 355,
          "column": 60
        },
        "end": {
          "line": 355,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 12274,
      "end": 12276,
      "loc": {
        "start": {
          "line": 356,
          "column": 16
        },
        "end": {
          "line": 356,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12277,
      "end": 12278,
      "loc": {
        "start": {
          "line": 356,
          "column": 19
        },
        "end": {
          "line": 356,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 12278,
      "end": 12283,
      "loc": {
        "start": {
          "line": 356,
          "column": 20
        },
        "end": {
          "line": 356,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12283,
      "end": 12284,
      "loc": {
        "start": {
          "line": 356,
          "column": 25
        },
        "end": {
          "line": 356,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 12284,
      "end": 12292,
      "loc": {
        "start": {
          "line": 356,
          "column": 26
        },
        "end": {
          "line": 356,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12292,
      "end": 12293,
      "loc": {
        "start": {
          "line": 356,
          "column": 34
        },
        "end": {
          "line": 356,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 12293,
      "end": 12294,
      "loc": {
        "start": {
          "line": 356,
          "column": 35
        },
        "end": {
          "line": 356,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12294,
      "end": 12295,
      "loc": {
        "start": {
          "line": 356,
          "column": 36
        },
        "end": {
          "line": 356,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12295,
      "end": 12296,
      "loc": {
        "start": {
          "line": 356,
          "column": 37
        },
        "end": {
          "line": 356,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocus",
      "start": 12296,
      "end": 12309,
      "loc": {
        "start": {
          "line": 356,
          "column": 38
        },
        "end": {
          "line": 356,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 12310,
      "end": 12312,
      "loc": {
        "start": {
          "line": 356,
          "column": 52
        },
        "end": {
          "line": 356,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 12333,
      "end": 12338,
      "loc": {
        "start": {
          "line": 357,
          "column": 20
        },
        "end": {
          "line": 357,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12338,
      "end": 12339,
      "loc": {
        "start": {
          "line": 357,
          "column": 25
        },
        "end": {
          "line": 357,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 12339,
      "end": 12347,
      "loc": {
        "start": {
          "line": 357,
          "column": 26
        },
        "end": {
          "line": 357,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12347,
      "end": 12348,
      "loc": {
        "start": {
          "line": 357,
          "column": 34
        },
        "end": {
          "line": 357,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 12348,
      "end": 12349,
      "loc": {
        "start": {
          "line": 357,
          "column": 35
        },
        "end": {
          "line": 357,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12349,
      "end": 12350,
      "loc": {
        "start": {
          "line": 357,
          "column": 36
        },
        "end": {
          "line": 357,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12350,
      "end": 12351,
      "loc": {
        "start": {
          "line": 357,
          "column": 37
        },
        "end": {
          "line": 357,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocus",
      "start": 12351,
      "end": 12364,
      "loc": {
        "start": {
          "line": 357,
          "column": 38
        },
        "end": {
          "line": 357,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12364,
      "end": 12365,
      "loc": {
        "start": {
          "line": 357,
          "column": 51
        },
        "end": {
          "line": 357,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12365,
      "end": 12366,
      "loc": {
        "start": {
          "line": 357,
          "column": 52
        },
        "end": {
          "line": 357,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12366,
      "end": 12367,
      "loc": {
        "start": {
          "line": 357,
          "column": 53
        },
        "end": {
          "line": 357,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 12388,
      "end": 12394,
      "loc": {
        "start": {
          "line": 358,
          "column": 20
        },
        "end": {
          "line": 358,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 12395,
      "end": 12399,
      "loc": {
        "start": {
          "line": 358,
          "column": 27
        },
        "end": {
          "line": 358,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12399,
      "end": 12400,
      "loc": {
        "start": {
          "line": 358,
          "column": 31
        },
        "end": {
          "line": 358,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12413,
      "end": 12414,
      "loc": {
        "start": {
          "line": 359,
          "column": 12
        },
        "end": {
          "line": 359,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12423,
      "end": 12424,
      "loc": {
        "start": {
          "line": 360,
          "column": 8
        },
        "end": {
          "line": 360,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 12433,
      "end": 12439,
      "loc": {
        "start": {
          "line": 361,
          "column": 8
        },
        "end": {
          "line": 361,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 12440,
      "end": 12445,
      "loc": {
        "start": {
          "line": 361,
          "column": 15
        },
        "end": {
          "line": 361,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12445,
      "end": 12446,
      "loc": {
        "start": {
          "line": 361,
          "column": 20
        },
        "end": {
          "line": 361,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12451,
      "end": 12452,
      "loc": {
        "start": {
          "line": 362,
          "column": 4
        },
        "end": {
          "line": 362,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocusable",
      "start": 12462,
      "end": 12479,
      "loc": {
        "start": {
          "line": 364,
          "column": 4
        },
        "end": {
          "line": 364,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12479,
      "end": 12480,
      "loc": {
        "start": {
          "line": 364,
          "column": 21
        },
        "end": {
          "line": 364,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12480,
      "end": 12481,
      "loc": {
        "start": {
          "line": 364,
          "column": 22
        },
        "end": {
          "line": 364,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12482,
      "end": 12483,
      "loc": {
        "start": {
          "line": 364,
          "column": 24
        },
        "end": {
          "line": 364,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 12492,
      "end": 12498,
      "loc": {
        "start": {
          "line": 365,
          "column": 8
        },
        "end": {
          "line": 365,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 12499,
      "end": 12506,
      "loc": {
        "start": {
          "line": 365,
          "column": 15
        },
        "end": {
          "line": 365,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12506,
      "end": 12507,
      "loc": {
        "start": {
          "line": 365,
          "column": 22
        },
        "end": {
          "line": 365,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "firstFocusableControlOf",
      "start": 12507,
      "end": 12530,
      "loc": {
        "start": {
          "line": 365,
          "column": 23
        },
        "end": {
          "line": 365,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12530,
      "end": 12531,
      "loc": {
        "start": {
          "line": 365,
          "column": 46
        },
        "end": {
          "line": 365,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 12531,
      "end": 12535,
      "loc": {
        "start": {
          "line": 365,
          "column": 47
        },
        "end": {
          "line": 365,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12535,
      "end": 12536,
      "loc": {
        "start": {
          "line": 365,
          "column": 51
        },
        "end": {
          "line": 365,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 12537,
      "end": 12539,
      "loc": {
        "start": {
          "line": 365,
          "column": 53
        },
        "end": {
          "line": 365,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 12540,
      "end": 12544,
      "loc": {
        "start": {
          "line": 365,
          "column": 56
        },
        "end": {
          "line": 365,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12544,
      "end": 12545,
      "loc": {
        "start": {
          "line": 365,
          "column": 60
        },
        "end": {
          "line": 365,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12550,
      "end": 12551,
      "loc": {
        "start": {
          "line": 366,
          "column": 4
        },
        "end": {
          "line": 366,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasChildren",
      "start": 12561,
      "end": 12572,
      "loc": {
        "start": {
          "line": 368,
          "column": 4
        },
        "end": {
          "line": 368,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12572,
      "end": 12573,
      "loc": {
        "start": {
          "line": 368,
          "column": 15
        },
        "end": {
          "line": 368,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12573,
      "end": 12574,
      "loc": {
        "start": {
          "line": 368,
          "column": 16
        },
        "end": {
          "line": 368,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12575,
      "end": 12576,
      "loc": {
        "start": {
          "line": 368,
          "column": 18
        },
        "end": {
          "line": 368,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 12585,
      "end": 12591,
      "loc": {
        "start": {
          "line": 369,
          "column": 8
        },
        "end": {
          "line": 369,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 12592,
      "end": 12599,
      "loc": {
        "start": {
          "line": 369,
          "column": 15
        },
        "end": {
          "line": 369,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12599,
      "end": 12600,
      "loc": {
        "start": {
          "line": 369,
          "column": 22
        },
        "end": {
          "line": 369,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "componentHasChildren",
      "start": 12600,
      "end": 12620,
      "loc": {
        "start": {
          "line": 369,
          "column": 23
        },
        "end": {
          "line": 369,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12620,
      "end": 12621,
      "loc": {
        "start": {
          "line": 369,
          "column": 43
        },
        "end": {
          "line": 369,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 12621,
      "end": 12625,
      "loc": {
        "start": {
          "line": 369,
          "column": 44
        },
        "end": {
          "line": 369,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12625,
      "end": 12626,
      "loc": {
        "start": {
          "line": 369,
          "column": 48
        },
        "end": {
          "line": 369,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12626,
      "end": 12627,
      "loc": {
        "start": {
          "line": 369,
          "column": 49
        },
        "end": {
          "line": 369,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12632,
      "end": 12633,
      "loc": {
        "start": {
          "line": 370,
          "column": 4
        },
        "end": {
          "line": 370,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " /**",
      "start": 12643,
      "end": 12649,
      "loc": {
        "start": {
          "line": 372,
          "column": 4
        },
        "end": {
          "line": 372,
          "column": 10
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "  * Renders a child component from the `props.children` array.",
      "start": 12654,
      "end": 12718,
      "loc": {
        "start": {
          "line": 373,
          "column": 4
        },
        "end": {
          "line": 373,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "  */",
      "start": 12723,
      "end": 12729,
      "loc": {
        "start": {
          "line": 374,
          "column": 4
        },
        "end": {
          "line": 374,
          "column": 10
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " // eslint-disable-next-line class-methods-use-this, no-unused-vars",
      "start": 12734,
      "end": 12803,
      "loc": {
        "start": {
          "line": 375,
          "column": 4
        },
        "end": {
          "line": 375,
          "column": 73
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " renderChild(child, index, childrenArray) {",
      "start": 12808,
      "end": 12853,
      "loc": {
        "start": {
          "line": 376,
          "column": 4
        },
        "end": {
          "line": 376,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     return child; // as-is",
      "start": 12858,
      "end": 12887,
      "loc": {
        "start": {
          "line": 377,
          "column": 4
        },
        "end": {
          "line": 377,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     // return (",
      "start": 12892,
      "end": 12910,
      "loc": {
        "start": {
          "line": 378,
          "column": 4
        },
        "end": {
          "line": 378,
          "column": 22
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     //     // child as-is if it's a Control",
      "start": 12915,
      "end": 12961,
      "loc": {
        "start": {
          "line": 379,
          "column": 4
        },
        "end": {
          "line": 379,
          "column": 50
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     //     (Control.isControl(child) && child)",
      "start": 12966,
      "end": 13015,
      "loc": {
        "start": {
          "line": 380,
          "column": 4
        },
        "end": {
          "line": 380,
          "column": 53
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     //     // otherwise we need to wrap it up",
      "start": 13020,
      "end": 13068,
      "loc": {
        "start": {
          "line": 381,
          "column": 4
        },
        "end": {
          "line": 381,
          "column": 52
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     //     || (<Control wrapComponent={child} />)",
      "start": 13073,
      "end": 13125,
      "loc": {
        "start": {
          "line": 382,
          "column": 4
        },
        "end": {
          "line": 382,
          "column": 56
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     // );",
      "start": 13130,
      "end": 13142,
      "loc": {
        "start": {
          "line": 383,
          "column": 4
        },
        "end": {
          "line": 383,
          "column": 16
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 13147,
      "end": 13151,
      "loc": {
        "start": {
          "line": 384,
          "column": 4
        },
        "end": {
          "line": 384,
          "column": 8
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " renderChildren() {",
      "start": 13157,
      "end": 13178,
      "loc": {
        "start": {
          "line": 386,
          "column": 4
        },
        "end": {
          "line": 386,
          "column": 25
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     const { props } = this;",
      "start": 13183,
      "end": 13213,
      "loc": {
        "start": {
          "line": 387,
          "column": 4
        },
        "end": {
          "line": 387,
          "column": 34
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     return (",
      "start": 13218,
      "end": 13233,
      "loc": {
        "start": {
          "line": 388,
          "column": 4
        },
        "end": {
          "line": 388,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         this.hasChildren() &&",
      "start": 13238,
      "end": 13270,
      "loc": {
        "start": {
          "line": 389,
          "column": 4
        },
        "end": {
          "line": 389,
          "column": 36
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         props.children.map(this.renderChild)",
      "start": 13275,
      "end": 13322,
      "loc": {
        "start": {
          "line": 390,
          "column": 4
        },
        "end": {
          "line": 390,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     ) || [];",
      "start": 13327,
      "end": 13342,
      "loc": {
        "start": {
          "line": 391,
          "column": 4
        },
        "end": {
          "line": 391,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 13347,
      "end": 13351,
      "loc": {
        "start": {
          "line": 392,
          "column": 4
        },
        "end": {
          "line": 392,
          "column": 8
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " renderWrappedComponent() {",
      "start": 13357,
      "end": 13386,
      "loc": {
        "start": {
          "line": 394,
          "column": 4
        },
        "end": {
          "line": 394,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     const { props } = this;",
      "start": 13391,
      "end": 13421,
      "loc": {
        "start": {
          "line": 395,
          "column": 4
        },
        "end": {
          "line": 395,
          "column": 34
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     return (",
      "start": 13426,
      "end": 13441,
      "loc": {
        "start": {
          "line": 396,
          "column": 4
        },
        "end": {
          "line": 396,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         props",
      "start": 13446,
      "end": 13462,
      "loc": {
        "start": {
          "line": 397,
          "column": 4
        },
        "end": {
          "line": 397,
          "column": 20
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         && props.wrapComponent",
      "start": 13467,
      "end": 13500,
      "loc": {
        "start": {
          "line": 398,
          "column": 4
        },
        "end": {
          "line": 398,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         (",
      "start": 13505,
      "end": 13517,
      "loc": {
        "start": {
          "line": 399,
          "column": 4
        },
        "end": {
          "line": 399,
          "column": 16
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "             (Control.isControl(props.wrapComponent)",
      "start": 13522,
      "end": 13576,
      "loc": {
        "start": {
          "line": 400,
          "column": 4
        },
        "end": {
          "line": 400,
          "column": 58
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "                 && props.wrapComponent)",
      "start": 13581,
      "end": 13623,
      "loc": {
        "start": {
          "line": 401,
          "column": 4
        },
        "end": {
          "line": 401,
          "column": 46
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "             || (Control.isReactComponent(props.wrapComponent)",
      "start": 13628,
      "end": 13692,
      "loc": {
        "start": {
          "line": 402,
          "column": 4
        },
        "end": {
          "line": 402,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "                 && Control.wrapComponent(props.wrapComponent))",
      "start": 13697,
      "end": 13762,
      "loc": {
        "start": {
          "line": 403,
          "column": 4
        },
        "end": {
          "line": 403,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "         )",
      "start": 13767,
      "end": 13779,
      "loc": {
        "start": {
          "line": 404,
          "column": 4
        },
        "end": {
          "line": 404,
          "column": 16
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     ) || null;",
      "start": 13784,
      "end": 13801,
      "loc": {
        "start": {
          "line": 405,
          "column": 4
        },
        "end": {
          "line": 405,
          "column": 21
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 13806,
      "end": 13810,
      "loc": {
        "start": {
          "line": 406,
          "column": 4
        },
        "end": {
          "line": 406,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "render",
      "start": 13816,
      "end": 13822,
      "loc": {
        "start": {
          "line": 408,
          "column": 4
        },
        "end": {
          "line": 408,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13822,
      "end": 13823,
      "loc": {
        "start": {
          "line": 408,
          "column": 10
        },
        "end": {
          "line": 408,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13823,
      "end": 13824,
      "loc": {
        "start": {
          "line": 408,
          "column": 11
        },
        "end": {
          "line": 408,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13825,
      "end": 13826,
      "loc": {
        "start": {
          "line": 408,
          "column": 13
        },
        "end": {
          "line": 408,
          "column": 14
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " const outputs = [];",
      "start": 13835,
      "end": 13857,
      "loc": {
        "start": {
          "line": 409,
          "column": 8
        },
        "end": {
          "line": 409,
          "column": 30
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " const wrapped = this.renderWrappedComponent();",
      "start": 13866,
      "end": 13915,
      "loc": {
        "start": {
          "line": 410,
          "column": 8
        },
        "end": {
          "line": 410,
          "column": 57
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " if (wrapped)",
      "start": 13924,
      "end": 13939,
      "loc": {
        "start": {
          "line": 411,
          "column": 8
        },
        "end": {
          "line": 411,
          "column": 23
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     outputs.push(wrapped);",
      "start": 13948,
      "end": 13977,
      "loc": {
        "start": {
          "line": 412,
          "column": 8
        },
        "end": {
          "line": 412,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " outputs.concat(this.renderChildren());",
      "start": 13986,
      "end": 14027,
      "loc": {
        "start": {
          "line": 413,
          "column": 8
        },
        "end": {
          "line": 413,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " if (outputs.length === 0) return null;",
      "start": 14036,
      "end": 14077,
      "loc": {
        "start": {
          "line": 414,
          "column": 8
        },
        "end": {
          "line": 414,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " if (outputs.length === 1) return outputs[0];",
      "start": 14086,
      "end": 14133,
      "loc": {
        "start": {
          "line": 415,
          "column": 8
        },
        "end": {
          "line": 415,
          "column": 55
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " return (",
      "start": 14142,
      "end": 14153,
      "loc": {
        "start": {
          "line": 416,
          "column": 8
        },
        "end": {
          "line": 416,
          "column": 19
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "   <Control>{outputs}</Control>",
      "start": 14162,
      "end": 14195,
      "loc": {
        "start": {
          "line": 417,
          "column": 8
        },
        "end": {
          "line": 417,
          "column": 41
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " );",
      "start": 14204,
      "end": 14209,
      "loc": {
        "start": {
          "line": 418,
          "column": 8
        },
        "end": {
          "line": 418,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 14218,
      "end": 14223,
      "loc": {
        "start": {
          "line": 419,
          "column": 8
        },
        "end": {
          "line": 419,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14224,
      "end": 14225,
      "loc": {
        "start": {
          "line": 419,
          "column": 14
        },
        "end": {
          "line": 419,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 14226,
      "end": 14231,
      "loc": {
        "start": {
          "line": 419,
          "column": 16
        },
        "end": {
          "line": 419,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14232,
      "end": 14233,
      "loc": {
        "start": {
          "line": 419,
          "column": 22
        },
        "end": {
          "line": 419,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 14234,
      "end": 14235,
      "loc": {
        "start": {
          "line": 419,
          "column": 24
        },
        "end": {
          "line": 419,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 14236,
      "end": 14240,
      "loc": {
        "start": {
          "line": 419,
          "column": 26
        },
        "end": {
          "line": 419,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14240,
      "end": 14241,
      "loc": {
        "start": {
          "line": 419,
          "column": 30
        },
        "end": {
          "line": 419,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 14250,
      "end": 14256,
      "loc": {
        "start": {
          "line": 420,
          "column": 8
        },
        "end": {
          "line": 420,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 14257,
      "end": 14262,
      "loc": {
        "start": {
          "line": 420,
          "column": 15
        },
        "end": {
          "line": 420,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14262,
      "end": 14263,
      "loc": {
        "start": {
          "line": 420,
          "column": 20
        },
        "end": {
          "line": 420,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 14263,
      "end": 14271,
      "loc": {
        "start": {
          "line": 420,
          "column": 21
        },
        "end": {
          "line": 420,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 14271,
      "end": 14273,
      "loc": {
        "start": {
          "line": 420,
          "column": 29
        },
        "end": {
          "line": 420,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 14273,
      "end": 14277,
      "loc": {
        "start": {
          "line": 420,
          "column": 31
        },
        "end": {
          "line": 420,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14277,
      "end": 14278,
      "loc": {
        "start": {
          "line": 420,
          "column": 35
        },
        "end": {
          "line": 420,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14283,
      "end": 14284,
      "loc": {
        "start": {
          "line": 421,
          "column": 4
        },
        "end": {
          "line": 421,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14285,
      "end": 14286,
      "loc": {
        "start": {
          "line": 422,
          "column": 0
        },
        "end": {
          "line": 422,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14286,
      "end": 14286,
      "loc": {
        "start": {
          "line": 422,
          "column": 1
        },
        "end": {
          "line": 422,
          "column": 1
        }
      }
    }
  ]
}