{
  "type": "File",
  "start": 0,
  "end": 5148,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 141,
      "column": 1
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 5148,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 141,
        "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": 796,
        "loc": {
          "start": {
            "line": 17,
            "column": 0
          },
          "end": {
            "line": 17,
            "column": 32
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 771,
            "end": 778,
            "loc": {
              "start": {
                "line": 17,
                "column": 7
              },
              "end": {
                "line": 17,
                "column": 14
              }
            },
            "local": {
              "type": "Identifier",
              "start": 771,
              "end": 778,
              "loc": {
                "start": {
                  "line": 17,
                  "column": 7
                },
                "end": {
                  "line": 17,
                  "column": 14
                },
                "identifierName": "Control"
              },
              "name": "Control"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 784,
          "end": 795,
          "loc": {
            "start": {
              "line": 17,
              "column": 20
            },
            "end": {
              "line": 17,
              "column": 31
            }
          },
          "extra": {
            "rawValue": "./Control",
            "raw": "'./Control'"
          },
          "value": "./Control"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 797,
        "end": 869,
        "loc": {
          "start": {
            "line": 18,
            "column": 0
          },
          "end": {
            "line": 18,
            "column": 72
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 806,
            "end": 831,
            "loc": {
              "start": {
                "line": 18,
                "column": 9
              },
              "end": {
                "line": 18,
                "column": 34
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 806,
              "end": 831,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 9
                },
                "end": {
                  "line": 18,
                  "column": 34
                },
                "identifierName": "isClassOrComponentFactory"
              },
              "name": "isClassOrComponentFactory"
            },
            "local": {
              "type": "Identifier",
              "start": 806,
              "end": 831,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 9
                },
                "end": {
                  "line": 18,
                  "column": 34
                },
                "identifierName": "isClassOrComponentFactory"
              },
              "name": "isClassOrComponentFactory"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 839,
          "end": 868,
          "loc": {
            "start": {
              "line": 18,
              "column": 42
            },
            "end": {
              "line": 18,
              "column": 71
            }
          },
          "extra": {
            "rawValue": "../utils/isClassOrComponent",
            "raw": "'../utils/isClassOrComponent'"
          },
          "value": "../utils/isClassOrComponent"
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Provides focus-management functionality for controls that can function as a container\n * for other controls.\n ",
            "start": 871,
            "end": 990,
            "loc": {
              "start": {
                "line": 20,
                "column": 0
              },
              "end": {
                "line": 23,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 991,
        "end": 5148,
        "loc": {
          "start": {
            "line": 24,
            "column": 0
          },
          "end": {
            "line": 141,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 1006,
          "end": 5148,
          "loc": {
            "start": {
              "line": 24,
              "column": 15
            },
            "end": {
              "line": 141,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 1012,
            "end": 1028,
            "loc": {
              "start": {
                "line": 24,
                "column": 21
              },
              "end": {
                "line": 24,
                "column": 37
              },
              "identifierName": "ContainerControl"
            },
            "name": "ContainerControl",
            "leadingComments": null
          },
          "superClass": {
            "type": "Identifier",
            "start": 1037,
            "end": 1044,
            "loc": {
              "start": {
                "line": 24,
                "column": 46
              },
              "end": {
                "line": 24,
                "column": 53
              },
              "identifierName": "Control"
            },
            "name": "Control"
          },
          "body": {
            "type": "ClassBody",
            "start": 1045,
            "end": 5148,
            "loc": {
              "start": {
                "line": 24,
                "column": 54
              },
              "end": {
                "line": 141,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 1579,
                "end": 1714,
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 4
                  },
                  "end": {
                    "line": 36,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1586,
                  "end": 1604,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 11
                    },
                    "end": {
                      "line": 34,
                      "column": 29
                    },
                    "identifierName": "isContainerControl"
                  },
                  "name": "isContainerControl"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1605,
                    "end": 1624,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 30
                      },
                      "end": {
                        "line": 34,
                        "column": 49
                      },
                      "identifierName": "anyComponentOrClass"
                    },
                    "name": "anyComponentOrClass"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1626,
                  "end": 1714,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 51
                    },
                    "end": {
                      "line": 36,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 1636,
                      "end": 1708,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 80
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 1643,
                        "end": 1707,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 15
                          },
                          "end": {
                            "line": 35,
                            "column": 79
                          }
                        },
                        "callee": {
                          "type": "CallExpression",
                          "start": 1643,
                          "end": 1686,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 15
                            },
                            "end": {
                              "line": 35,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1643,
                            "end": 1668,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 15
                              },
                              "end": {
                                "line": 35,
                                "column": 40
                              },
                              "identifierName": "isClassOrComponentFactory"
                            },
                            "name": "isClassOrComponentFactory"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1669,
                              "end": 1685,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 41
                                },
                                "end": {
                                  "line": 35,
                                  "column": 57
                                },
                                "identifierName": "ContainerControl"
                              },
                              "name": "ContainerControl"
                            }
                          ]
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1687,
                            "end": 1706,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 59
                              },
                              "end": {
                                "line": 35,
                                "column": 78
                              },
                              "identifierName": "anyComponentOrClass"
                            },
                            "name": "anyComponentOrClass"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `ContainerControl` (if passed an object) or a class derived from\n     * `ContainerControl` (if passed a function) or a component derived from `ContainerControl`.\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": 1051,
                    "end": 1574,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 4
                      },
                      "end": {
                        "line": 33,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1720,
                "end": 1859,
                "loc": {
                  "start": {
                    "line": 38,
                    "column": 4
                  },
                  "end": {
                    "line": 44,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1720,
                  "end": 1731,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 4
                    },
                    "end": {
                      "line": 38,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1732,
                    "end": 1737,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 16
                      },
                      "end": {
                        "line": 38,
                        "column": 21
                      },
                      "identifierName": "props"
                    },
                    "name": "props"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1739,
                  "end": 1859,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 23
                    },
                    "end": {
                      "line": 44,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1749,
                      "end": 1762,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 8
                        },
                        "end": {
                          "line": 39,
                          "column": 21
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1749,
                        "end": 1761,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 8
                          },
                          "end": {
                            "line": 39,
                            "column": 20
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 1749,
                          "end": 1754,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1755,
                            "end": 1760,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 14
                              },
                              "end": {
                                "line": 39,
                                "column": 19
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1771,
                      "end": 1853,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1771,
                        "end": 1852,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1771,
                          "end": 1781,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1771,
                            "end": 1775,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1776,
                            "end": 1781,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 13
                              },
                              "end": {
                                "line": 40,
                                "column": 18
                              },
                              "identifierName": "state"
                            },
                            "name": "state"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 1784,
                          "end": 1852,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 21
                            },
                            "end": {
                              "line": 43,
                              "column": 9
                            }
                          },
                          "properties": [
                            {
                              "type": "SpreadProperty",
                              "start": 1798,
                              "end": 1811,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 12
                                },
                                "end": {
                                  "line": 41,
                                  "column": 25
                                }
                              },
                              "argument": {
                                "type": "MemberExpression",
                                "start": 1801,
                                "end": 1811,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1801,
                                  "end": 1805,
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1806,
                                  "end": 1811,
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 25
                                    },
                                    "identifierName": "state"
                                  },
                                  "name": "state"
                                },
                                "computed": false
                              }
                            },
                            {
                              "type": "ObjectProperty",
                              "start": 1825,
                              "end": 1842,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 12
                                },
                                "end": {
                                  "line": 42,
                                  "column": 29
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 1825,
                                "end": 1838,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 25
                                  },
                                  "identifierName": "activeControl"
                                },
                                "name": "activeControl"
                              },
                              "value": {
                                "type": "StringLiteral",
                                "start": 1840,
                                "end": 1842,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 29
                                  }
                                },
                                "extra": {
                                  "rawValue": "",
                                  "raw": "''"
                                },
                                "value": ""
                              }
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if a ContainerControl instance is focusable.\n     * \n     * The default behavior is to:\n     * (1) check containsFocus(): if true, return false (already focused); if false, proceed to\n     * (2) return containsFocusable()\n     ",
                    "start": 1865,
                    "end": 2139,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 4
                      },
                      "end": {
                        "line": 52,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2144,
                "end": 2230,
                "loc": {
                  "start": {
                    "line": 53,
                    "column": 4
                  },
                  "end": {
                    "line": 55,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2144,
                  "end": 2152,
                  "loc": {
                    "start": {
                      "line": 53,
                      "column": 4
                    },
                    "end": {
                      "line": 53,
                      "column": 12
                    },
                    "identifierName": "canFocus"
                  },
                  "name": "canFocus",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2155,
                  "end": 2230,
                  "loc": {
                    "start": {
                      "line": 53,
                      "column": 15
                    },
                    "end": {
                      "line": 55,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2165,
                      "end": 2224,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 67
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 2173,
                        "end": 2222,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 16
                          },
                          "end": {
                            "line": 54,
                            "column": 65
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 2173,
                          "end": 2194,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 16
                            },
                            "end": {
                              "line": 54,
                              "column": 37
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 2174,
                            "end": 2194,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 17
                              },
                              "end": {
                                "line": 54,
                                "column": 37
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2174,
                              "end": 2192,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 17
                                },
                                "end": {
                                  "line": 54,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2174,
                                "end": 2178,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 21
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2179,
                                "end": 2192,
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 35
                                  },
                                  "identifierName": "containsFocus"
                                },
                                "name": "containsFocus"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "CallExpression",
                          "start": 2198,
                          "end": 2222,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 41
                            },
                            "end": {
                              "line": 54,
                              "column": 65
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2198,
                            "end": 2220,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 41
                              },
                              "end": {
                                "line": 54,
                                "column": 63
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2198,
                              "end": 2202,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 41
                                },
                                "end": {
                                  "line": 54,
                                  "column": 45
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2203,
                              "end": 2220,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 46
                                },
                                "end": {
                                  "line": 54,
                                  "column": 63
                                },
                                "identifierName": "containsFocusable"
                              },
                              "name": "containsFocusable"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 2172
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns a boolean which indicates if a ContainerControl instance is focusable.\n     * \n     * The default behavior is to:\n     * (1) check containsFocus(): if true, return false (already focused); if false, proceed to\n     * (2) return containsFocusable()\n     ",
                    "start": 1865,
                    "end": 2139,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 4
                      },
                      "end": {
                        "line": 52,
                        "column": 7
                      }
                    }
                  }
                ],
                "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": 2236,
                    "end": 2790,
                    "loc": {
                      "start": {
                        "line": 57,
                        "column": 4
                      },
                      "end": {
                        "line": 68,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2795,
                "end": 2845,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 4
                  },
                  "end": {
                    "line": 71,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2795,
                  "end": 2802,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 4
                    },
                    "end": {
                      "line": 69,
                      "column": 11
                    },
                    "identifierName": "canBlur"
                  },
                  "name": "canBlur",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2805,
                  "end": 2845,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 14
                    },
                    "end": {
                      "line": 71,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2815,
                      "end": 2839,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 32
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2822,
                        "end": 2838,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 15
                          },
                          "end": {
                            "line": 70,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2822,
                          "end": 2836,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 15
                            },
                            "end": {
                              "line": 70,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2822,
                            "end": 2826,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 15
                              },
                              "end": {
                                "line": 70,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2827,
                            "end": 2836,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 20
                              },
                              "end": {
                                "line": 70,
                                "column": 29
                              },
                              "identifierName": "isFocused"
                            },
                            "name": "isFocused"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": []
                },
                "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": 2236,
                    "end": 2790,
                    "loc": {
                      "start": {
                        "line": 57,
                        "column": 4
                      },
                      "end": {
                        "line": 68,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2851,
                "end": 3186,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 4
                  },
                  "end": {
                    "line": 84,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2851,
                  "end": 2857,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 4
                    },
                    "end": {
                      "line": 73,
                      "column": 10
                    },
                    "identifierName": "select"
                  },
                  "name": "select"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2858,
                    "end": 2865,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 11
                      },
                      "end": {
                        "line": 73,
                        "column": 18
                      },
                      "identifierName": "control"
                    },
                    "name": "control"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2867,
                  "end": 3186,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 20
                    },
                    "end": {
                      "line": 84,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2945,
                      "end": 2961,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2945,
                        "end": 2960,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 8
                          },
                          "end": {
                            "line": 76,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2945,
                          "end": 2958,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2945,
                            "end": 2949,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 8
                              },
                              "end": {
                                "line": 76,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2950,
                            "end": 2958,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 13
                              },
                              "end": {
                                "line": 76,
                                "column": 21
                              },
                              "identifierName": "canFocus"
                            },
                            "name": "canFocus"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " disable linter for now",
                          "start": 2877,
                          "end": 2902,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 33
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " TODO: fix this routine",
                          "start": 2911,
                          "end": 2936,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 33
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 2970,
                      "end": 3180,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 83,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 2974,
                        "end": 3007,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 12
                          },
                          "end": {
                            "line": 77,
                            "column": 45
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2974,
                          "end": 2998,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 12
                            },
                            "end": {
                              "line": 77,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2974,
                            "end": 2981,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 12
                              },
                              "end": {
                                "line": 77,
                                "column": 19
                              },
                              "identifierName": "Control"
                            },
                            "name": "Control"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2982,
                            "end": 2998,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 20
                              },
                              "end": {
                                "line": 77,
                                "column": 36
                              },
                              "identifierName": "isDerivedControl"
                            },
                            "name": "isDerivedControl"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2999,
                            "end": 3006,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 37
                              },
                              "end": {
                                "line": 77,
                                "column": 44
                              },
                              "identifierName": "control"
                            },
                            "name": "control"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3009,
                        "end": 3180,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 47
                          },
                          "end": {
                            "line": 83,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 3023,
                            "end": 3170,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 12
                              },
                              "end": {
                                "line": 82,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "CallExpression",
                              "start": 3027,
                              "end": 3045,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 16
                                },
                                "end": {
                                  "line": 78,
                                  "column": 34
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3027,
                                "end": 3043,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3027,
                                  "end": 3034,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 23
                                    },
                                    "identifierName": "control"
                                  },
                                  "name": "control"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3035,
                                  "end": 3043,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 32
                                    },
                                    "identifierName": "canFocus"
                                  },
                                  "name": "canFocus"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 3047,
                              "end": 3170,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 36
                                },
                                "end": {
                                  "line": 82,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 3065,
                                  "end": 3156,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 3069,
                                    "end": 3090,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 3069,
                                      "end": 3082,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3069,
                                        "end": 3076,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 27
                                          },
                                          "identifierName": "control"
                                        },
                                        "name": "control"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3077,
                                        "end": 3082,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 33
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3083,
                                      "end": 3090,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 41
                                        },
                                        "identifierName": "onFocus"
                                      },
                                      "name": "onFocus"
                                    },
                                    "computed": false
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 3092,
                                    "end": 3156,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 3114,
                                        "end": 3138,
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 44
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 3114,
                                          "end": 3137,
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 43
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 3114,
                                            "end": 3135,
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 41
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 3114,
                                              "end": 3127,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 33
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 3114,
                                                "end": 3121,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 27
                                                  },
                                                  "identifierName": "control"
                                                },
                                                "name": "control"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3122,
                                                "end": 3127,
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 33
                                                  },
                                                  "identifierName": "props"
                                                },
                                                "name": "props"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3128,
                                              "end": 3135,
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 41
                                                },
                                                "identifierName": "onFocus"
                                              },
                                              "name": "onFocus"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        }
                                      }
                                    ],
                                    "directives": []
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "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": 3192,
                    "end": 3958,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 4
                      },
                      "end": {
                        "line": 99,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3963,
                "end": 4144,
                "loc": {
                  "start": {
                    "line": 100,
                    "column": 4
                  },
                  "end": {
                    "line": 107,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3963,
                  "end": 3967,
                  "loc": {
                    "start": {
                      "line": 100,
                      "column": 4
                    },
                    "end": {
                      "line": 100,
                      "column": 8
                    },
                    "identifierName": "blur"
                  },
                  "name": "blur",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3970,
                  "end": 4144,
                  "loc": {
                    "start": {
                      "line": 100,
                      "column": 11
                    },
                    "end": {
                      "line": 107,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 3980,
                      "end": 4138,
                      "loc": {
                        "start": {
                          "line": 101,
                          "column": 8
                        },
                        "end": {
                          "line": 106,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 3984,
                        "end": 3998,
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 12
                          },
                          "end": {
                            "line": 101,
                            "column": 26
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3984,
                          "end": 3996,
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 12
                            },
                            "end": {
                              "line": 101,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3984,
                            "end": 3988,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 12
                              },
                              "end": {
                                "line": 101,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3989,
                            "end": 3996,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 17
                              },
                              "end": {
                                "line": 101,
                                "column": 24
                              },
                              "identifierName": "canBlur"
                            },
                            "name": "canBlur"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4000,
                        "end": 4138,
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 28
                          },
                          "end": {
                            "line": 106,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 4053,
                            "end": 4128,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 12
                              },
                              "end": {
                                "line": 105,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 4057,
                              "end": 4074,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 16
                                },
                                "end": {
                                  "line": 103,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 4057,
                                "end": 4067,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4057,
                                  "end": 4061,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 20
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4062,
                                  "end": 4067,
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 26
                                    },
                                    "identifierName": "props"
                                  },
                                  "name": "props"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4068,
                                "end": 4074,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 33
                                  },
                                  "identifierName": "onBlur"
                                },
                                "name": "onBlur"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 4076,
                              "end": 4128,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 35
                                },
                                "end": {
                                  "line": 105,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 4094,
                                  "end": 4114,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 36
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 4094,
                                    "end": 4113,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 35
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4094,
                                      "end": 4111,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 4094,
                                        "end": 4104,
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 26
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 4094,
                                          "end": 4098,
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4099,
                                          "end": 4104,
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 26
                                            },
                                            "identifierName": "props"
                                          },
                                          "name": "props"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4105,
                                        "end": 4111,
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 33
                                          },
                                          "identifierName": "onBlur"
                                        },
                                        "name": "onBlur"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " let our listeners know ",
                                "start": 4014,
                                "end": 4040,
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 102,
                                    "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": 3192,
                    "end": 3958,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 4
                      },
                      "end": {
                        "line": 99,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 4150,
                "end": 4204,
                "loc": {
                  "start": {
                    "line": 109,
                    "column": 4
                  },
                  "end": {
                    "line": 111,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4150,
                  "end": 4159,
                  "loc": {
                    "start": {
                      "line": 109,
                      "column": 4
                    },
                    "end": {
                      "line": 109,
                      "column": 13
                    },
                    "identifierName": "isFocused"
                  },
                  "name": "isFocused"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4162,
                  "end": 4204,
                  "loc": {
                    "start": {
                      "line": 109,
                      "column": 16
                    },
                    "end": {
                      "line": 111,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 4172,
                      "end": 4198,
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 8
                        },
                        "end": {
                          "line": 110,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 4179,
                        "end": 4197,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 15
                          },
                          "end": {
                            "line": 110,
                            "column": 33
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 4179,
                          "end": 4189,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 15
                            },
                            "end": {
                              "line": 110,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4179,
                            "end": 4183,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 15
                              },
                              "end": {
                                "line": 110,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4184,
                            "end": 4189,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 20
                              },
                              "end": {
                                "line": 110,
                                "column": 25
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4190,
                          "end": 4197,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 26
                            },
                            "end": {
                              "line": 110,
                              "column": 33
                            },
                            "identifierName": "focused"
                          },
                          "name": "focused"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 4210,
                "end": 4473,
                "loc": {
                  "start": {
                    "line": 113,
                    "column": 4
                  },
                  "end": {
                    "line": 120,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4210,
                  "end": 4227,
                  "loc": {
                    "start": {
                      "line": 113,
                      "column": 4
                    },
                    "end": {
                      "line": 113,
                      "column": 21
                    },
                    "identifierName": "containsFocusable"
                  },
                  "name": "containsFocusable"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4230,
                  "end": 4473,
                  "loc": {
                    "start": {
                      "line": 113,
                      "column": 24
                    },
                    "end": {
                      "line": 120,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ForStatement",
                      "start": 4240,
                      "end": 4445,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 118,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 4245,
                        "end": 4254,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 13
                          },
                          "end": {
                            "line": 114,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 4249,
                            "end": 4254,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 17
                              },
                              "end": {
                                "line": 114,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 4249,
                              "end": 4250,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 17
                                },
                                "end": {
                                  "line": 114,
                                  "column": 18
                                },
                                "identifierName": "c"
                              },
                              "name": "c"
                            },
                            "init": {
                              "type": "NumericLiteral",
                              "start": 4253,
                              "end": 4254,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 21
                                },
                                "end": {
                                  "line": 114,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4256,
                        "end": 4286,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 24
                          },
                          "end": {
                            "line": 114,
                            "column": 54
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 4256,
                          "end": 4257,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 24
                            },
                            "end": {
                              "line": 114,
                              "column": 25
                            },
                            "identifierName": "c"
                          },
                          "name": "c"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 4260,
                          "end": 4286,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 28
                            },
                            "end": {
                              "line": 114,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4260,
                            "end": 4279,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 28
                              },
                              "end": {
                                "line": 114,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4260,
                              "end": 4270,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 28
                                },
                                "end": {
                                  "line": 114,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4260,
                                "end": 4264,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 32
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4265,
                                "end": 4270,
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 38
                                  },
                                  "identifierName": "props"
                                },
                                "name": "props"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4271,
                              "end": 4279,
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 39
                                },
                                "end": {
                                  "line": 114,
                                  "column": 47
                                },
                                "identifierName": "children"
                              },
                              "name": "children"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4280,
                            "end": 4286,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 48
                              },
                              "end": {
                                "line": 114,
                                "column": 54
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 4288,
                        "end": 4291,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 56
                          },
                          "end": {
                            "line": 114,
                            "column": 59
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 4288,
                          "end": 4289,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 56
                            },
                            "end": {
                              "line": 114,
                              "column": 57
                            },
                            "identifierName": "c"
                          },
                          "name": "c"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 4293,
                        "end": 4445,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 61
                          },
                          "end": {
                            "line": 118,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 4307,
                            "end": 4435,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 12
                              },
                              "end": {
                                "line": 117,
                                "column": 28
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 4311,
                              "end": 4405,
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 16
                                },
                                "end": {
                                  "line": 116,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 4311,
                                "end": 4347,
                                "loc": {
                                  "start": {
                                    "line": 115,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 115,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4311,
                                  "end": 4333,
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4311,
                                    "end": 4330,
                                    "loc": {
                                      "start": {
                                        "line": 115,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 4311,
                                      "end": 4321,
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4311,
                                        "end": 4315,
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4316,
                                        "end": 4321,
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 26
                                          },
                                          "identifierName": "props"
                                        },
                                        "name": "props"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4322,
                                      "end": 4330,
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 35
                                        },
                                        "identifierName": "children"
                                      },
                                      "name": "children"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4331,
                                    "end": 4332,
                                    "loc": {
                                      "start": {
                                        "line": 115,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 37
                                      },
                                      "identifierName": "c"
                                    },
                                    "name": "c"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4334,
                                  "end": 4347,
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 52
                                    },
                                    "identifierName": "containsFocus"
                                  },
                                  "name": "containsFocus"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 4367,
                                "end": 4405,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 54
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4367,
                                  "end": 4403,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 52
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4367,
                                    "end": 4389,
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 4367,
                                      "end": 4386,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 4367,
                                        "end": 4377,
                                        "loc": {
                                          "start": {
                                            "line": 116,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 116,
                                            "column": 26
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 4367,
                                          "end": 4371,
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4372,
                                          "end": 4377,
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 26
                                            },
                                            "identifierName": "props"
                                          },
                                          "name": "props"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4378,
                                        "end": 4386,
                                        "loc": {
                                          "start": {
                                            "line": 116,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 116,
                                            "column": 35
                                          },
                                          "identifierName": "children"
                                        },
                                        "name": "children"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4387,
                                      "end": 4388,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 37
                                        },
                                        "identifierName": "c"
                                      },
                                      "name": "c"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4390,
                                    "end": 4403,
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 52
                                      },
                                      "identifierName": "containsFocus"
                                    },
                                    "name": "containsFocus"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 4423,
                              "end": 4435,
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 16
                                },
                                "end": {
                                  "line": 117,
                                  "column": 28
                                }
                              },
                              "argument": {
                                "type": "BooleanLiteral",
                                "start": 4430,
                                "end": 4434,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 27
                                  }
                                },
                                "value": true
                              }
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4454,
                      "end": 4467,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 8
                        },
                        "end": {
                          "line": 119,
                          "column": 21
                        }
                      },
                      "argument": {
                        "type": "BooleanLiteral",
                        "start": 4461,
                        "end": 4466,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 15
                          },
                          "end": {
                            "line": 119,
                            "column": 20
                          }
                        },
                        "value": false
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 4479,
                "end": 5086,
                "loc": {
                  "start": {
                    "line": 122,
                    "column": 4
                  },
                  "end": {
                    "line": 136,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4479,
                  "end": 4493,
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 4
                    },
                    "end": {
                      "line": 122,
                      "column": 18
                    },
                    "identifierName": "renderChildren"
                  },
                  "name": "renderChildren"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4496,
                  "end": 5086,
                  "loc": {
                    "start": {
                      "line": 122,
                      "column": 21
                    },
                    "end": {
                      "line": 136,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 4715,
                      "end": 5059,
                      "loc": {
                        "start": {
                          "line": 126,
                          "column": 8
                        },
                        "end": {
                          "line": 134,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 4719,
                        "end": 4738,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 12
                          },
                          "end": {
                            "line": 126,
                            "column": 31
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 4719,
                          "end": 4729,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 12
                            },
                            "end": {
                              "line": 126,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4719,
                            "end": 4723,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 12
                              },
                              "end": {
                                "line": 126,
                                "column": 16
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4724,
                            "end": 4729,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 17
                              },
                              "end": {
                                "line": 126,
                                "column": 22
                              },
                              "identifierName": "props"
                            },
                            "name": "props"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4730,
                          "end": 4738,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 23
                            },
                            "end": {
                              "line": 126,
                              "column": 31
                            },
                            "identifierName": "children"
                          },
                          "name": "children"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4740,
                        "end": 5059,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 33
                          },
                          "end": {
                            "line": 134,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 4754,
                            "end": 5012,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 12
                              },
                              "end": {
                                "line": 132,
                                "column": 14
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 4760,
                                "end": 5011,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 13
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 4760,
                                  "end": 4776,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 127,
                                      "column": 34
                                    },
                                    "identifierName": "modifiedChildren"
                                  },
                                  "name": "modifiedChildren"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 4779,
                                  "end": 5011,
                                  "loc": {
                                    "start": {
                                      "line": 127,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 132,
                                      "column": 13
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4779,
                                    "end": 4802,
                                    "loc": {
                                      "start": {
                                        "line": 127,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 127,
                                        "column": 60
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 4779,
                                      "end": 4798,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 56
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 4779,
                                        "end": 4789,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 47
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 4779,
                                          "end": 4783,
                                          "loc": {
                                            "start": {
                                              "line": 127,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 127,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4784,
                                          "end": 4789,
                                          "loc": {
                                            "start": {
                                              "line": 127,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 127,
                                              "column": 47
                                            },
                                            "identifierName": "props"
                                          },
                                          "name": "props"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4790,
                                        "end": 4798,
                                        "loc": {
                                          "start": {
                                            "line": 127,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 127,
                                            "column": 56
                                          },
                                          "identifierName": "children"
                                        },
                                        "name": "children"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4799,
                                      "end": 4802,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 127,
                                          "column": 60
                                        },
                                        "identifierName": "map"
                                      },
                                      "name": "map"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 4803,
                                      "end": 4997,
                                      "loc": {
                                        "start": {
                                          "line": 127,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 23
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 4804,
                                          "end": 4806,
                                          "loc": {
                                            "start": {
                                              "line": 127,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 127,
                                              "column": 64
                                            },
                                            "identifierName": "el"
                                          },
                                          "name": "el"
                                        }
                                      ],
                                      "body": {
                                        "type": "ConditionalExpression",
                                        "start": 4917,
                                        "end": 4997,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 23
                                          }
                                        },
                                        "test": {
                                          "type": "CallExpression",
                                          "start": 4917,
                                          "end": 4945,
                                          "loc": {
                                            "start": {
                                              "line": 129,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 129,
                                              "column": 44
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 4917,
                                            "end": 4941,
                                            "loc": {
                                              "start": {
                                                "line": 129,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 129,
                                                "column": 40
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 4917,
                                              "end": 4924,
                                              "loc": {
                                                "start": {
                                                  "line": 129,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 129,
                                                  "column": 23
                                                },
                                                "identifierName": "Control"
                                              },
                                              "name": "Control",
                                              "leadingComments": null
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4925,
                                              "end": 4941,
                                              "loc": {
                                                "start": {
                                                  "line": 129,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 129,
                                                  "column": 40
                                                },
                                                "identifierName": "isDerivedControl"
                                              },
                                              "name": "isDerivedControl"
                                            },
                                            "computed": false,
                                            "leadingComments": null
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 4942,
                                              "end": 4944,
                                              "loc": {
                                                "start": {
                                                  "line": 129,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 129,
                                                  "column": 43
                                                },
                                                "identifierName": "el"
                                              },
                                              "name": "el"
                                            }
                                          ],
                                          "leadingComments": null
                                        },
                                        "consequent": {
                                          "type": "CallExpression",
                                          "start": 4948,
                                          "end": 4992,
                                          "loc": {
                                            "start": {
                                              "line": 129,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 18
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 4948,
                                            "end": 4966,
                                            "loc": {
                                              "start": {
                                                "line": 129,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 129,
                                                "column": 65
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 4948,
                                              "end": 4953,
                                              "loc": {
                                                "start": {
                                                  "line": 129,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 129,
                                                  "column": 52
                                                },
                                                "identifierName": "React"
                                              },
                                              "name": "React"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4954,
                                              "end": 4966,
                                              "loc": {
                                                "start": {
                                                  "line": 129,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 129,
                                                  "column": 65
                                                },
                                                "identifierName": "cloneElement"
                                              },
                                              "name": "cloneElement"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 4967,
                                              "end": 4969,
                                              "loc": {
                                                "start": {
                                                  "line": 129,
                                                  "column": 66
                                                },
                                                "end": {
                                                  "line": 129,
                                                  "column": 68
                                                },
                                                "identifierName": "el"
                                              },
                                              "name": "el"
                                            },
                                            {
                                              "type": "ObjectExpression",
                                              "start": 4971,
                                              "end": 4991,
                                              "loc": {
                                                "start": {
                                                  "line": 129,
                                                  "column": 70
                                                },
                                                "end": {
                                                  "line": 131,
                                                  "column": 17
                                                }
                                              },
                                              "properties": []
                                            }
                                          ]
                                        },
                                        "alternate": {
                                          "type": "Identifier",
                                          "start": 4995,
                                          "end": 4997,
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 23
                                            },
                                            "identifierName": "el"
                                          },
                                          "name": "el"
                                        },
                                        "leadingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": " expanded: const modifiedChildren = this.props.children.map((el, i, all) =>",
                                            "start": 4823,
                                            "end": 4900,
                                            "loc": {
                                              "start": {
                                                "line": 128,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 128,
                                                "column": 89
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "const"
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 5025,
                            "end": 5049,
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 12
                              },
                              "end": {
                                "line": 133,
                                "column": 36
                              }
                            },
                            "argument": {
                              "type": "Identifier",
                              "start": 5032,
                              "end": 5048,
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 19
                                },
                                "end": {
                                  "line": 133,
                                  "column": 35
                                },
                                "identifierName": "modifiedChildren"
                              },
                              "name": "modifiedChildren"
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " let countDerived = 0;",
                          "start": 4506,
                          "end": 4530,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 8
                            },
                            "end": {
                              "line": 123,
                              "column": 32
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " we are going to modify the children array such that when one of our children components",
                          "start": 4539,
                          "end": 4629,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 8
                            },
                            "end": {
                              "line": 124,
                              "column": 98
                            }
                          }
                        },
                        {
                          "type": "CommentLine",
                          "value": " blurs, we will bubble it out to select the next focusable control",
                          "start": 4638,
                          "end": 4706,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 8
                            },
                            "end": {
                              "line": 125,
                              "column": 76
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 5068,
                      "end": 5080,
                      "loc": {
                        "start": {
                          "line": 135,
                          "column": 8
                        },
                        "end": {
                          "line": 135,
                          "column": 20
                        }
                      },
                      "argument": {
                        "type": "NullLiteral",
                        "start": 5075,
                        "end": 5079,
                        "loc": {
                          "start": {
                            "line": 135,
                            "column": 15
                          },
                          "end": {
                            "line": 135,
                            "column": 19
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 5092,
                "end": 5146,
                "loc": {
                  "start": {
                    "line": 138,
                    "column": 4
                  },
                  "end": {
                    "line": 140,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 5092,
                  "end": 5098,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 4
                    },
                    "end": {
                      "line": 138,
                      "column": 10
                    },
                    "identifierName": "render"
                  },
                  "name": "render"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5101,
                  "end": 5146,
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 13
                    },
                    "end": {
                      "line": 140,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 5111,
                      "end": 5140,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 37
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 5118,
                        "end": 5139,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 15
                          },
                          "end": {
                            "line": 139,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5118,
                          "end": 5137,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 15
                            },
                            "end": {
                              "line": 139,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5118,
                            "end": 5122,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 15
                              },
                              "end": {
                                "line": 139,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5123,
                            "end": 5137,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 20
                              },
                              "end": {
                                "line": 139,
                                "column": 34
                              },
                              "identifierName": "renderChildren"
                            },
                            "name": "renderChildren"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": []
                }
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * Provides focus-management functionality for controls that can function as a container\n * for other controls.\n ",
              "start": 871,
              "end": 990,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 0
                },
                "end": {
                  "line": 23,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Provides focus-management functionality for controls that can function as a container\n * for other controls.\n ",
            "start": 871,
            "end": 990,
            "loc": {
              "start": {
                "line": 20,
                "column": 0
              },
              "end": {
                "line": 23,
                "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 * Provides focus-management functionality for controls that can function as a container\n * for other controls.\n ",
      "start": 871,
      "end": 990,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 23,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `ContainerControl` (if passed an object) or a class derived from\n     * `ContainerControl` (if passed a function) or a component derived from `ContainerControl`.\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": 1051,
      "end": 1574,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 33,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if a ContainerControl instance is focusable.\n     * \n     * The default behavior is to:\n     * (1) check containsFocus(): if true, return false (already focused); if false, proceed to\n     * (2) return containsFocusable()\n     ",
      "start": 1865,
      "end": 2139,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 52,
          "column": 7
        }
      }
    },
    {
      "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": 2236,
      "end": 2790,
      "loc": {
        "start": {
          "line": 57,
          "column": 4
        },
        "end": {
          "line": 68,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " disable linter for now",
      "start": 2877,
      "end": 2902,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " TODO: fix this routine",
      "start": 2911,
      "end": 2936,
      "loc": {
        "start": {
          "line": 75,
          "column": 8
        },
        "end": {
          "line": 75,
          "column": 33
        }
      }
    },
    {
      "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": 3192,
      "end": 3958,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 99,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let our listeners know ",
      "start": 4014,
      "end": 4040,
      "loc": {
        "start": {
          "line": 102,
          "column": 12
        },
        "end": {
          "line": 102,
          "column": 38
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let countDerived = 0;",
      "start": 4506,
      "end": 4530,
      "loc": {
        "start": {
          "line": 123,
          "column": 8
        },
        "end": {
          "line": 123,
          "column": 32
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " we are going to modify the children array such that when one of our children components",
      "start": 4539,
      "end": 4629,
      "loc": {
        "start": {
          "line": 124,
          "column": 8
        },
        "end": {
          "line": 124,
          "column": 98
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " blurs, we will bubble it out to select the next focusable control",
      "start": 4638,
      "end": 4706,
      "loc": {
        "start": {
          "line": 125,
          "column": 8
        },
        "end": {
          "line": 125,
          "column": 76
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " expanded: const modifiedChildren = this.props.children.map((el, i, all) =>",
      "start": 4823,
      "end": 4900,
      "loc": {
        "start": {
          "line": 128,
          "column": 12
        },
        "end": {
          "line": 128,
          "column": 89
        }
      }
    }
  ],
  "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": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 771,
      "end": 778,
      "loc": {
        "start": {
          "line": 17,
          "column": 7
        },
        "end": {
          "line": 17,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 779,
      "end": 783,
      "loc": {
        "start": {
          "line": 17,
          "column": 15
        },
        "end": {
          "line": 17,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./Control",
      "start": 784,
      "end": 795,
      "loc": {
        "start": {
          "line": 17,
          "column": 20
        },
        "end": {
          "line": 17,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 795,
      "end": 796,
      "loc": {
        "start": {
          "line": 17,
          "column": 31
        },
        "end": {
          "line": 17,
          "column": 32
        }
      }
    },
    {
      "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": 797,
      "end": 803,
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 804,
      "end": 805,
      "loc": {
        "start": {
          "line": 18,
          "column": 7
        },
        "end": {
          "line": 18,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isClassOrComponentFactory",
      "start": 806,
      "end": 831,
      "loc": {
        "start": {
          "line": 18,
          "column": 9
        },
        "end": {
          "line": 18,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 832,
      "end": 833,
      "loc": {
        "start": {
          "line": 18,
          "column": 35
        },
        "end": {
          "line": 18,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 834,
      "end": 838,
      "loc": {
        "start": {
          "line": 18,
          "column": 37
        },
        "end": {
          "line": 18,
          "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": 839,
      "end": 868,
      "loc": {
        "start": {
          "line": 18,
          "column": 42
        },
        "end": {
          "line": 18,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 868,
      "end": 869,
      "loc": {
        "start": {
          "line": 18,
          "column": 71
        },
        "end": {
          "line": 18,
          "column": 72
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Provides focus-management functionality for controls that can function as a container\n * for other controls.\n ",
      "start": 871,
      "end": 990,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 23,
          "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": 991,
      "end": 997,
      "loc": {
        "start": {
          "line": 24,
          "column": 0
        },
        "end": {
          "line": 24,
          "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": 998,
      "end": 1005,
      "loc": {
        "start": {
          "line": 24,
          "column": 7
        },
        "end": {
          "line": 24,
          "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": 1006,
      "end": 1011,
      "loc": {
        "start": {
          "line": 24,
          "column": 15
        },
        "end": {
          "line": 24,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ContainerControl",
      "start": 1012,
      "end": 1028,
      "loc": {
        "start": {
          "line": 24,
          "column": 21
        },
        "end": {
          "line": 24,
          "column": 37
        }
      }
    },
    {
      "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": 1029,
      "end": 1036,
      "loc": {
        "start": {
          "line": 24,
          "column": 38
        },
        "end": {
          "line": 24,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 1037,
      "end": 1044,
      "loc": {
        "start": {
          "line": 24,
          "column": 46
        },
        "end": {
          "line": 24,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1045,
      "end": 1046,
      "loc": {
        "start": {
          "line": 24,
          "column": 54
        },
        "end": {
          "line": 24,
          "column": 55
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if the provided `anyComponentOrClass` parameter\n     * is an instance of `ContainerControl` (if passed an object) or a class derived from\n     * `ContainerControl` (if passed a function) or a component derived from `ContainerControl`.\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": 1051,
      "end": 1574,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 33,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 1579,
      "end": 1585,
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 34,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isContainerControl",
      "start": 1586,
      "end": 1604,
      "loc": {
        "start": {
          "line": 34,
          "column": 11
        },
        "end": {
          "line": 34,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1604,
      "end": 1605,
      "loc": {
        "start": {
          "line": 34,
          "column": 29
        },
        "end": {
          "line": 34,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 1605,
      "end": 1624,
      "loc": {
        "start": {
          "line": 34,
          "column": 30
        },
        "end": {
          "line": 34,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1624,
      "end": 1625,
      "loc": {
        "start": {
          "line": 34,
          "column": 49
        },
        "end": {
          "line": 34,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1626,
      "end": 1627,
      "loc": {
        "start": {
          "line": 34,
          "column": 51
        },
        "end": {
          "line": 34,
          "column": 52
        }
      }
    },
    {
      "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": 1636,
      "end": 1642,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isClassOrComponentFactory",
      "start": 1643,
      "end": 1668,
      "loc": {
        "start": {
          "line": 35,
          "column": 15
        },
        "end": {
          "line": 35,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1668,
      "end": 1669,
      "loc": {
        "start": {
          "line": 35,
          "column": 40
        },
        "end": {
          "line": 35,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ContainerControl",
      "start": 1669,
      "end": 1685,
      "loc": {
        "start": {
          "line": 35,
          "column": 41
        },
        "end": {
          "line": 35,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1685,
      "end": 1686,
      "loc": {
        "start": {
          "line": 35,
          "column": 57
        },
        "end": {
          "line": 35,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1686,
      "end": 1687,
      "loc": {
        "start": {
          "line": 35,
          "column": 58
        },
        "end": {
          "line": 35,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "anyComponentOrClass",
      "start": 1687,
      "end": 1706,
      "loc": {
        "start": {
          "line": 35,
          "column": 59
        },
        "end": {
          "line": 35,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1706,
      "end": 1707,
      "loc": {
        "start": {
          "line": 35,
          "column": 78
        },
        "end": {
          "line": 35,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1707,
      "end": 1708,
      "loc": {
        "start": {
          "line": 35,
          "column": 79
        },
        "end": {
          "line": 35,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1713,
      "end": 1714,
      "loc": {
        "start": {
          "line": 36,
          "column": 4
        },
        "end": {
          "line": 36,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 1720,
      "end": 1731,
      "loc": {
        "start": {
          "line": 38,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1731,
      "end": 1732,
      "loc": {
        "start": {
          "line": 38,
          "column": 15
        },
        "end": {
          "line": 38,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 1732,
      "end": 1737,
      "loc": {
        "start": {
          "line": 38,
          "column": 16
        },
        "end": {
          "line": 38,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1737,
      "end": 1738,
      "loc": {
        "start": {
          "line": 38,
          "column": 21
        },
        "end": {
          "line": 38,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1739,
      "end": 1740,
      "loc": {
        "start": {
          "line": 38,
          "column": 23
        },
        "end": {
          "line": 38,
          "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": 1749,
      "end": 1754,
      "loc": {
        "start": {
          "line": 39,
          "column": 8
        },
        "end": {
          "line": 39,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1754,
      "end": 1755,
      "loc": {
        "start": {
          "line": 39,
          "column": 13
        },
        "end": {
          "line": 39,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 1755,
      "end": 1760,
      "loc": {
        "start": {
          "line": 39,
          "column": 14
        },
        "end": {
          "line": 39,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1760,
      "end": 1761,
      "loc": {
        "start": {
          "line": 39,
          "column": 19
        },
        "end": {
          "line": 39,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1761,
      "end": 1762,
      "loc": {
        "start": {
          "line": 39,
          "column": 20
        },
        "end": {
          "line": 39,
          "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": 1771,
      "end": 1775,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1775,
      "end": 1776,
      "loc": {
        "start": {
          "line": 40,
          "column": 12
        },
        "end": {
          "line": 40,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 1776,
      "end": 1781,
      "loc": {
        "start": {
          "line": 40,
          "column": 13
        },
        "end": {
          "line": 40,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1782,
      "end": 1783,
      "loc": {
        "start": {
          "line": 40,
          "column": 19
        },
        "end": {
          "line": 40,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1784,
      "end": 1785,
      "loc": {
        "start": {
          "line": 40,
          "column": 21
        },
        "end": {
          "line": 40,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "...",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1798,
      "end": 1801,
      "loc": {
        "start": {
          "line": 41,
          "column": 12
        },
        "end": {
          "line": 41,
          "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": 1801,
      "end": 1805,
      "loc": {
        "start": {
          "line": 41,
          "column": 15
        },
        "end": {
          "line": 41,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1805,
      "end": 1806,
      "loc": {
        "start": {
          "line": 41,
          "column": 19
        },
        "end": {
          "line": 41,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "state",
      "start": 1806,
      "end": 1811,
      "loc": {
        "start": {
          "line": 41,
          "column": 20
        },
        "end": {
          "line": 41,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1811,
      "end": 1812,
      "loc": {
        "start": {
          "line": 41,
          "column": 25
        },
        "end": {
          "line": 41,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "activeControl",
      "start": 1825,
      "end": 1838,
      "loc": {
        "start": {
          "line": 42,
          "column": 12
        },
        "end": {
          "line": 42,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1838,
      "end": 1839,
      "loc": {
        "start": {
          "line": 42,
          "column": 25
        },
        "end": {
          "line": 42,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1840,
      "end": 1842,
      "loc": {
        "start": {
          "line": 42,
          "column": 27
        },
        "end": {
          "line": 42,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1851,
      "end": 1852,
      "loc": {
        "start": {
          "line": 43,
          "column": 8
        },
        "end": {
          "line": 43,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1852,
      "end": 1853,
      "loc": {
        "start": {
          "line": 43,
          "column": 9
        },
        "end": {
          "line": 43,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1858,
      "end": 1859,
      "loc": {
        "start": {
          "line": 44,
          "column": 4
        },
        "end": {
          "line": 44,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns a boolean which indicates if a ContainerControl instance is focusable.\n     * \n     * The default behavior is to:\n     * (1) check containsFocus(): if true, return false (already focused); if false, proceed to\n     * (2) return containsFocusable()\n     ",
      "start": 1865,
      "end": 2139,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 52,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canFocus",
      "start": 2144,
      "end": 2152,
      "loc": {
        "start": {
          "line": 53,
          "column": 4
        },
        "end": {
          "line": 53,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2152,
      "end": 2153,
      "loc": {
        "start": {
          "line": 53,
          "column": 12
        },
        "end": {
          "line": 53,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2153,
      "end": 2154,
      "loc": {
        "start": {
          "line": 53,
          "column": 13
        },
        "end": {
          "line": 53,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2155,
      "end": 2156,
      "loc": {
        "start": {
          "line": 53,
          "column": 15
        },
        "end": {
          "line": 53,
          "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": 2165,
      "end": 2171,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2172,
      "end": 2173,
      "loc": {
        "start": {
          "line": 54,
          "column": 15
        },
        "end": {
          "line": 54,
          "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": 2173,
      "end": 2174,
      "loc": {
        "start": {
          "line": 54,
          "column": 16
        },
        "end": {
          "line": 54,
          "column": 17
        }
      }
    },
    {
      "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": 2174,
      "end": 2178,
      "loc": {
        "start": {
          "line": 54,
          "column": 17
        },
        "end": {
          "line": 54,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2178,
      "end": 2179,
      "loc": {
        "start": {
          "line": 54,
          "column": 21
        },
        "end": {
          "line": 54,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocus",
      "start": 2179,
      "end": 2192,
      "loc": {
        "start": {
          "line": 54,
          "column": 22
        },
        "end": {
          "line": 54,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2192,
      "end": 2193,
      "loc": {
        "start": {
          "line": 54,
          "column": 35
        },
        "end": {
          "line": 54,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2193,
      "end": 2194,
      "loc": {
        "start": {
          "line": 54,
          "column": 36
        },
        "end": {
          "line": 54,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2195,
      "end": 2197,
      "loc": {
        "start": {
          "line": 54,
          "column": 38
        },
        "end": {
          "line": 54,
          "column": 40
        }
      }
    },
    {
      "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": 2198,
      "end": 2202,
      "loc": {
        "start": {
          "line": 54,
          "column": 41
        },
        "end": {
          "line": 54,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2202,
      "end": 2203,
      "loc": {
        "start": {
          "line": 54,
          "column": 45
        },
        "end": {
          "line": 54,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocusable",
      "start": 2203,
      "end": 2220,
      "loc": {
        "start": {
          "line": 54,
          "column": 46
        },
        "end": {
          "line": 54,
          "column": 63
        }
      }
    },
    {
      "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": 54,
          "column": 63
        },
        "end": {
          "line": 54,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2221,
      "end": 2222,
      "loc": {
        "start": {
          "line": 54,
          "column": 64
        },
        "end": {
          "line": 54,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2222,
      "end": 2223,
      "loc": {
        "start": {
          "line": 54,
          "column": 65
        },
        "end": {
          "line": 54,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2223,
      "end": 2224,
      "loc": {
        "start": {
          "line": 54,
          "column": 66
        },
        "end": {
          "line": 54,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2229,
      "end": 2230,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 55,
          "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": 2236,
      "end": 2790,
      "loc": {
        "start": {
          "line": 57,
          "column": 4
        },
        "end": {
          "line": 68,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canBlur",
      "start": 2795,
      "end": 2802,
      "loc": {
        "start": {
          "line": 69,
          "column": 4
        },
        "end": {
          "line": 69,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2802,
      "end": 2803,
      "loc": {
        "start": {
          "line": 69,
          "column": 11
        },
        "end": {
          "line": 69,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2803,
      "end": 2804,
      "loc": {
        "start": {
          "line": 69,
          "column": 12
        },
        "end": {
          "line": 69,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2805,
      "end": 2806,
      "loc": {
        "start": {
          "line": 69,
          "column": 14
        },
        "end": {
          "line": 69,
          "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": 2815,
      "end": 2821,
      "loc": {
        "start": {
          "line": 70,
          "column": 8
        },
        "end": {
          "line": 70,
          "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": 2822,
      "end": 2826,
      "loc": {
        "start": {
          "line": 70,
          "column": 15
        },
        "end": {
          "line": 70,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2826,
      "end": 2827,
      "loc": {
        "start": {
          "line": 70,
          "column": 19
        },
        "end": {
          "line": 70,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isFocused",
      "start": 2827,
      "end": 2836,
      "loc": {
        "start": {
          "line": 70,
          "column": 20
        },
        "end": {
          "line": 70,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2836,
      "end": 2837,
      "loc": {
        "start": {
          "line": 70,
          "column": 29
        },
        "end": {
          "line": 70,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2837,
      "end": 2838,
      "loc": {
        "start": {
          "line": 70,
          "column": 30
        },
        "end": {
          "line": 70,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2838,
      "end": 2839,
      "loc": {
        "start": {
          "line": 70,
          "column": 31
        },
        "end": {
          "line": 70,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2844,
      "end": 2845,
      "loc": {
        "start": {
          "line": 71,
          "column": 4
        },
        "end": {
          "line": 71,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "select",
      "start": 2851,
      "end": 2857,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2857,
      "end": 2858,
      "loc": {
        "start": {
          "line": 73,
          "column": 10
        },
        "end": {
          "line": 73,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "control",
      "start": 2858,
      "end": 2865,
      "loc": {
        "start": {
          "line": 73,
          "column": 11
        },
        "end": {
          "line": 73,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2865,
      "end": 2866,
      "loc": {
        "start": {
          "line": 73,
          "column": 18
        },
        "end": {
          "line": 73,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2867,
      "end": 2868,
      "loc": {
        "start": {
          "line": 73,
          "column": 20
        },
        "end": {
          "line": 73,
          "column": 21
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " disable linter for now",
      "start": 2877,
      "end": 2902,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " TODO: fix this routine",
      "start": 2911,
      "end": 2936,
      "loc": {
        "start": {
          "line": 75,
          "column": 8
        },
        "end": {
          "line": 75,
          "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": 2945,
      "end": 2949,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2949,
      "end": 2950,
      "loc": {
        "start": {
          "line": 76,
          "column": 12
        },
        "end": {
          "line": 76,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canFocus",
      "start": 2950,
      "end": 2958,
      "loc": {
        "start": {
          "line": 76,
          "column": 13
        },
        "end": {
          "line": 76,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2958,
      "end": 2959,
      "loc": {
        "start": {
          "line": 76,
          "column": 21
        },
        "end": {
          "line": 76,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2959,
      "end": 2960,
      "loc": {
        "start": {
          "line": 76,
          "column": 22
        },
        "end": {
          "line": 76,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2960,
      "end": 2961,
      "loc": {
        "start": {
          "line": 76,
          "column": 23
        },
        "end": {
          "line": 76,
          "column": 24
        }
      }
    },
    {
      "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": 2970,
      "end": 2972,
      "loc": {
        "start": {
          "line": 77,
          "column": 8
        },
        "end": {
          "line": 77,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2973,
      "end": 2974,
      "loc": {
        "start": {
          "line": 77,
          "column": 11
        },
        "end": {
          "line": 77,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 2974,
      "end": 2981,
      "loc": {
        "start": {
          "line": 77,
          "column": 12
        },
        "end": {
          "line": 77,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2981,
      "end": 2982,
      "loc": {
        "start": {
          "line": 77,
          "column": 19
        },
        "end": {
          "line": 77,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isDerivedControl",
      "start": 2982,
      "end": 2998,
      "loc": {
        "start": {
          "line": 77,
          "column": 20
        },
        "end": {
          "line": 77,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2998,
      "end": 2999,
      "loc": {
        "start": {
          "line": 77,
          "column": 36
        },
        "end": {
          "line": 77,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "control",
      "start": 2999,
      "end": 3006,
      "loc": {
        "start": {
          "line": 77,
          "column": 37
        },
        "end": {
          "line": 77,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3006,
      "end": 3007,
      "loc": {
        "start": {
          "line": 77,
          "column": 44
        },
        "end": {
          "line": 77,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3007,
      "end": 3008,
      "loc": {
        "start": {
          "line": 77,
          "column": 45
        },
        "end": {
          "line": 77,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3009,
      "end": 3010,
      "loc": {
        "start": {
          "line": 77,
          "column": 47
        },
        "end": {
          "line": 77,
          "column": 48
        }
      }
    },
    {
      "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": 3023,
      "end": 3025,
      "loc": {
        "start": {
          "line": 78,
          "column": 12
        },
        "end": {
          "line": 78,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3026,
      "end": 3027,
      "loc": {
        "start": {
          "line": 78,
          "column": 15
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "control",
      "start": 3027,
      "end": 3034,
      "loc": {
        "start": {
          "line": 78,
          "column": 16
        },
        "end": {
          "line": 78,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3034,
      "end": 3035,
      "loc": {
        "start": {
          "line": 78,
          "column": 23
        },
        "end": {
          "line": 78,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canFocus",
      "start": 3035,
      "end": 3043,
      "loc": {
        "start": {
          "line": 78,
          "column": 24
        },
        "end": {
          "line": 78,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3043,
      "end": 3044,
      "loc": {
        "start": {
          "line": 78,
          "column": 32
        },
        "end": {
          "line": 78,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3044,
      "end": 3045,
      "loc": {
        "start": {
          "line": 78,
          "column": 33
        },
        "end": {
          "line": 78,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3045,
      "end": 3046,
      "loc": {
        "start": {
          "line": 78,
          "column": 34
        },
        "end": {
          "line": 78,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3047,
      "end": 3048,
      "loc": {
        "start": {
          "line": 78,
          "column": 36
        },
        "end": {
          "line": 78,
          "column": 37
        }
      }
    },
    {
      "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": 3065,
      "end": 3067,
      "loc": {
        "start": {
          "line": 79,
          "column": 16
        },
        "end": {
          "line": 79,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3068,
      "end": 3069,
      "loc": {
        "start": {
          "line": 79,
          "column": 19
        },
        "end": {
          "line": 79,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "control",
      "start": 3069,
      "end": 3076,
      "loc": {
        "start": {
          "line": 79,
          "column": 20
        },
        "end": {
          "line": 79,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3076,
      "end": 3077,
      "loc": {
        "start": {
          "line": 79,
          "column": 27
        },
        "end": {
          "line": 79,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 3077,
      "end": 3082,
      "loc": {
        "start": {
          "line": 79,
          "column": 28
        },
        "end": {
          "line": 79,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3082,
      "end": 3083,
      "loc": {
        "start": {
          "line": 79,
          "column": 33
        },
        "end": {
          "line": 79,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onFocus",
      "start": 3083,
      "end": 3090,
      "loc": {
        "start": {
          "line": 79,
          "column": 34
        },
        "end": {
          "line": 79,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3090,
      "end": 3091,
      "loc": {
        "start": {
          "line": 79,
          "column": 41
        },
        "end": {
          "line": 79,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3092,
      "end": 3093,
      "loc": {
        "start": {
          "line": 79,
          "column": 43
        },
        "end": {
          "line": 79,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "control",
      "start": 3114,
      "end": 3121,
      "loc": {
        "start": {
          "line": 80,
          "column": 20
        },
        "end": {
          "line": 80,
          "column": 27
        }
      }
    },
    {
      "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": 80,
          "column": 27
        },
        "end": {
          "line": 80,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 3122,
      "end": 3127,
      "loc": {
        "start": {
          "line": 80,
          "column": 28
        },
        "end": {
          "line": 80,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3127,
      "end": 3128,
      "loc": {
        "start": {
          "line": 80,
          "column": 33
        },
        "end": {
          "line": 80,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onFocus",
      "start": 3128,
      "end": 3135,
      "loc": {
        "start": {
          "line": 80,
          "column": 34
        },
        "end": {
          "line": 80,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3135,
      "end": 3136,
      "loc": {
        "start": {
          "line": 80,
          "column": 41
        },
        "end": {
          "line": 80,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3136,
      "end": 3137,
      "loc": {
        "start": {
          "line": 80,
          "column": 42
        },
        "end": {
          "line": 80,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3137,
      "end": 3138,
      "loc": {
        "start": {
          "line": 80,
          "column": 43
        },
        "end": {
          "line": 80,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3155,
      "end": 3156,
      "loc": {
        "start": {
          "line": 81,
          "column": 16
        },
        "end": {
          "line": 81,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3169,
      "end": 3170,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3179,
      "end": 3180,
      "loc": {
        "start": {
          "line": 83,
          "column": 8
        },
        "end": {
          "line": 83,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3185,
      "end": 3186,
      "loc": {
        "start": {
          "line": 84,
          "column": 4
        },
        "end": {
          "line": 84,
          "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": 3192,
      "end": 3958,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 99,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "blur",
      "start": 3963,
      "end": 3967,
      "loc": {
        "start": {
          "line": 100,
          "column": 4
        },
        "end": {
          "line": 100,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3967,
      "end": 3968,
      "loc": {
        "start": {
          "line": 100,
          "column": 8
        },
        "end": {
          "line": 100,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3968,
      "end": 3969,
      "loc": {
        "start": {
          "line": 100,
          "column": 9
        },
        "end": {
          "line": 100,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3970,
      "end": 3971,
      "loc": {
        "start": {
          "line": 100,
          "column": 11
        },
        "end": {
          "line": 100,
          "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": 3980,
      "end": 3982,
      "loc": {
        "start": {
          "line": 101,
          "column": 8
        },
        "end": {
          "line": 101,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3983,
      "end": 3984,
      "loc": {
        "start": {
          "line": 101,
          "column": 11
        },
        "end": {
          "line": 101,
          "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": 3984,
      "end": 3988,
      "loc": {
        "start": {
          "line": 101,
          "column": 12
        },
        "end": {
          "line": 101,
          "column": 16
        }
      }
    },
    {
      "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": 101,
          "column": 16
        },
        "end": {
          "line": 101,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "canBlur",
      "start": 3989,
      "end": 3996,
      "loc": {
        "start": {
          "line": 101,
          "column": 17
        },
        "end": {
          "line": 101,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3996,
      "end": 3997,
      "loc": {
        "start": {
          "line": 101,
          "column": 24
        },
        "end": {
          "line": 101,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3997,
      "end": 3998,
      "loc": {
        "start": {
          "line": 101,
          "column": 25
        },
        "end": {
          "line": 101,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3998,
      "end": 3999,
      "loc": {
        "start": {
          "line": 101,
          "column": 26
        },
        "end": {
          "line": 101,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4000,
      "end": 4001,
      "loc": {
        "start": {
          "line": 101,
          "column": 28
        },
        "end": {
          "line": 101,
          "column": 29
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let our listeners know ",
      "start": 4014,
      "end": 4040,
      "loc": {
        "start": {
          "line": 102,
          "column": 12
        },
        "end": {
          "line": 102,
          "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": 4053,
      "end": 4055,
      "loc": {
        "start": {
          "line": 103,
          "column": 12
        },
        "end": {
          "line": 103,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4056,
      "end": 4057,
      "loc": {
        "start": {
          "line": 103,
          "column": 15
        },
        "end": {
          "line": 103,
          "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": 4057,
      "end": 4061,
      "loc": {
        "start": {
          "line": 103,
          "column": 16
        },
        "end": {
          "line": 103,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4061,
      "end": 4062,
      "loc": {
        "start": {
          "line": 103,
          "column": 20
        },
        "end": {
          "line": 103,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 4062,
      "end": 4067,
      "loc": {
        "start": {
          "line": 103,
          "column": 21
        },
        "end": {
          "line": 103,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4067,
      "end": 4068,
      "loc": {
        "start": {
          "line": 103,
          "column": 26
        },
        "end": {
          "line": 103,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onBlur",
      "start": 4068,
      "end": 4074,
      "loc": {
        "start": {
          "line": 103,
          "column": 27
        },
        "end": {
          "line": 103,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4074,
      "end": 4075,
      "loc": {
        "start": {
          "line": 103,
          "column": 33
        },
        "end": {
          "line": 103,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4076,
      "end": 4077,
      "loc": {
        "start": {
          "line": 103,
          "column": 35
        },
        "end": {
          "line": 103,
          "column": 36
        }
      }
    },
    {
      "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": 4094,
      "end": 4098,
      "loc": {
        "start": {
          "line": 104,
          "column": 16
        },
        "end": {
          "line": 104,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4098,
      "end": 4099,
      "loc": {
        "start": {
          "line": 104,
          "column": 20
        },
        "end": {
          "line": 104,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 4099,
      "end": 4104,
      "loc": {
        "start": {
          "line": 104,
          "column": 21
        },
        "end": {
          "line": 104,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4104,
      "end": 4105,
      "loc": {
        "start": {
          "line": 104,
          "column": 26
        },
        "end": {
          "line": 104,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onBlur",
      "start": 4105,
      "end": 4111,
      "loc": {
        "start": {
          "line": 104,
          "column": 27
        },
        "end": {
          "line": 104,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4111,
      "end": 4112,
      "loc": {
        "start": {
          "line": 104,
          "column": 33
        },
        "end": {
          "line": 104,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4112,
      "end": 4113,
      "loc": {
        "start": {
          "line": 104,
          "column": 34
        },
        "end": {
          "line": 104,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4113,
      "end": 4114,
      "loc": {
        "start": {
          "line": 104,
          "column": 35
        },
        "end": {
          "line": 104,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4127,
      "end": 4128,
      "loc": {
        "start": {
          "line": 105,
          "column": 12
        },
        "end": {
          "line": 105,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4137,
      "end": 4138,
      "loc": {
        "start": {
          "line": 106,
          "column": 8
        },
        "end": {
          "line": 106,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4143,
      "end": 4144,
      "loc": {
        "start": {
          "line": 107,
          "column": 4
        },
        "end": {
          "line": 107,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isFocused",
      "start": 4150,
      "end": 4159,
      "loc": {
        "start": {
          "line": 109,
          "column": 4
        },
        "end": {
          "line": 109,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4159,
      "end": 4160,
      "loc": {
        "start": {
          "line": 109,
          "column": 13
        },
        "end": {
          "line": 109,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4160,
      "end": 4161,
      "loc": {
        "start": {
          "line": 109,
          "column": 14
        },
        "end": {
          "line": 109,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4162,
      "end": 4163,
      "loc": {
        "start": {
          "line": 109,
          "column": 16
        },
        "end": {
          "line": 109,
          "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": 4172,
      "end": 4178,
      "loc": {
        "start": {
          "line": 110,
          "column": 8
        },
        "end": {
          "line": 110,
          "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": 4179,
      "end": 4183,
      "loc": {
        "start": {
          "line": 110,
          "column": 15
        },
        "end": {
          "line": 110,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4183,
      "end": 4184,
      "loc": {
        "start": {
          "line": 110,
          "column": 19
        },
        "end": {
          "line": 110,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 4184,
      "end": 4189,
      "loc": {
        "start": {
          "line": 110,
          "column": 20
        },
        "end": {
          "line": 110,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4189,
      "end": 4190,
      "loc": {
        "start": {
          "line": 110,
          "column": 25
        },
        "end": {
          "line": 110,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "focused",
      "start": 4190,
      "end": 4197,
      "loc": {
        "start": {
          "line": 110,
          "column": 26
        },
        "end": {
          "line": 110,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4197,
      "end": 4198,
      "loc": {
        "start": {
          "line": 110,
          "column": 33
        },
        "end": {
          "line": 110,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4203,
      "end": 4204,
      "loc": {
        "start": {
          "line": 111,
          "column": 4
        },
        "end": {
          "line": 111,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocusable",
      "start": 4210,
      "end": 4227,
      "loc": {
        "start": {
          "line": 113,
          "column": 4
        },
        "end": {
          "line": 113,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4227,
      "end": 4228,
      "loc": {
        "start": {
          "line": 113,
          "column": 21
        },
        "end": {
          "line": 113,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4228,
      "end": 4229,
      "loc": {
        "start": {
          "line": 113,
          "column": 22
        },
        "end": {
          "line": 113,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4230,
      "end": 4231,
      "loc": {
        "start": {
          "line": 113,
          "column": 24
        },
        "end": {
          "line": 113,
          "column": 25
        }
      }
    },
    {
      "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": 4240,
      "end": 4243,
      "loc": {
        "start": {
          "line": 114,
          "column": 8
        },
        "end": {
          "line": 114,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4244,
      "end": 4245,
      "loc": {
        "start": {
          "line": 114,
          "column": 12
        },
        "end": {
          "line": 114,
          "column": 13
        }
      }
    },
    {
      "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": 4245,
      "end": 4248,
      "loc": {
        "start": {
          "line": 114,
          "column": 13
        },
        "end": {
          "line": 114,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4249,
      "end": 4250,
      "loc": {
        "start": {
          "line": 114,
          "column": 17
        },
        "end": {
          "line": 114,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4251,
      "end": 4252,
      "loc": {
        "start": {
          "line": 114,
          "column": 19
        },
        "end": {
          "line": 114,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4253,
      "end": 4254,
      "loc": {
        "start": {
          "line": 114,
          "column": 21
        },
        "end": {
          "line": 114,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4254,
      "end": 4255,
      "loc": {
        "start": {
          "line": 114,
          "column": 22
        },
        "end": {
          "line": 114,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4256,
      "end": 4257,
      "loc": {
        "start": {
          "line": 114,
          "column": 24
        },
        "end": {
          "line": 114,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 4258,
      "end": 4259,
      "loc": {
        "start": {
          "line": 114,
          "column": 26
        },
        "end": {
          "line": 114,
          "column": 27
        }
      }
    },
    {
      "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": 4260,
      "end": 4264,
      "loc": {
        "start": {
          "line": 114,
          "column": 28
        },
        "end": {
          "line": 114,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4264,
      "end": 4265,
      "loc": {
        "start": {
          "line": 114,
          "column": 32
        },
        "end": {
          "line": 114,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 4265,
      "end": 4270,
      "loc": {
        "start": {
          "line": 114,
          "column": 33
        },
        "end": {
          "line": 114,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4270,
      "end": 4271,
      "loc": {
        "start": {
          "line": 114,
          "column": 38
        },
        "end": {
          "line": 114,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 4271,
      "end": 4279,
      "loc": {
        "start": {
          "line": 114,
          "column": 39
        },
        "end": {
          "line": 114,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4279,
      "end": 4280,
      "loc": {
        "start": {
          "line": 114,
          "column": 47
        },
        "end": {
          "line": 114,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4280,
      "end": 4286,
      "loc": {
        "start": {
          "line": 114,
          "column": 48
        },
        "end": {
          "line": 114,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4286,
      "end": 4287,
      "loc": {
        "start": {
          "line": 114,
          "column": 54
        },
        "end": {
          "line": 114,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4288,
      "end": 4289,
      "loc": {
        "start": {
          "line": 114,
          "column": 56
        },
        "end": {
          "line": 114,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 4289,
      "end": 4291,
      "loc": {
        "start": {
          "line": 114,
          "column": 57
        },
        "end": {
          "line": 114,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4291,
      "end": 4292,
      "loc": {
        "start": {
          "line": 114,
          "column": 59
        },
        "end": {
          "line": 114,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4293,
      "end": 4294,
      "loc": {
        "start": {
          "line": 114,
          "column": 61
        },
        "end": {
          "line": 114,
          "column": 62
        }
      }
    },
    {
      "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": 4307,
      "end": 4309,
      "loc": {
        "start": {
          "line": 115,
          "column": 12
        },
        "end": {
          "line": 115,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4310,
      "end": 4311,
      "loc": {
        "start": {
          "line": 115,
          "column": 15
        },
        "end": {
          "line": 115,
          "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": 4311,
      "end": 4315,
      "loc": {
        "start": {
          "line": 115,
          "column": 16
        },
        "end": {
          "line": 115,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4315,
      "end": 4316,
      "loc": {
        "start": {
          "line": 115,
          "column": 20
        },
        "end": {
          "line": 115,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 4316,
      "end": 4321,
      "loc": {
        "start": {
          "line": 115,
          "column": 21
        },
        "end": {
          "line": 115,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4321,
      "end": 4322,
      "loc": {
        "start": {
          "line": 115,
          "column": 26
        },
        "end": {
          "line": 115,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 4322,
      "end": 4330,
      "loc": {
        "start": {
          "line": 115,
          "column": 27
        },
        "end": {
          "line": 115,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4330,
      "end": 4331,
      "loc": {
        "start": {
          "line": 115,
          "column": 35
        },
        "end": {
          "line": 115,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4331,
      "end": 4332,
      "loc": {
        "start": {
          "line": 115,
          "column": 36
        },
        "end": {
          "line": 115,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4332,
      "end": 4333,
      "loc": {
        "start": {
          "line": 115,
          "column": 37
        },
        "end": {
          "line": 115,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4333,
      "end": 4334,
      "loc": {
        "start": {
          "line": 115,
          "column": 38
        },
        "end": {
          "line": 115,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocus",
      "start": 4334,
      "end": 4347,
      "loc": {
        "start": {
          "line": 115,
          "column": 39
        },
        "end": {
          "line": 115,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4348,
      "end": 4350,
      "loc": {
        "start": {
          "line": 115,
          "column": 53
        },
        "end": {
          "line": 115,
          "column": 55
        }
      }
    },
    {
      "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": 4367,
      "end": 4371,
      "loc": {
        "start": {
          "line": 116,
          "column": 16
        },
        "end": {
          "line": 116,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4371,
      "end": 4372,
      "loc": {
        "start": {
          "line": 116,
          "column": 20
        },
        "end": {
          "line": 116,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 4372,
      "end": 4377,
      "loc": {
        "start": {
          "line": 116,
          "column": 21
        },
        "end": {
          "line": 116,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4377,
      "end": 4378,
      "loc": {
        "start": {
          "line": 116,
          "column": 26
        },
        "end": {
          "line": 116,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 4378,
      "end": 4386,
      "loc": {
        "start": {
          "line": 116,
          "column": 27
        },
        "end": {
          "line": 116,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4386,
      "end": 4387,
      "loc": {
        "start": {
          "line": 116,
          "column": 35
        },
        "end": {
          "line": 116,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4387,
      "end": 4388,
      "loc": {
        "start": {
          "line": 116,
          "column": 36
        },
        "end": {
          "line": 116,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4388,
      "end": 4389,
      "loc": {
        "start": {
          "line": 116,
          "column": 37
        },
        "end": {
          "line": 116,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4389,
      "end": 4390,
      "loc": {
        "start": {
          "line": 116,
          "column": 38
        },
        "end": {
          "line": 116,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "containsFocus",
      "start": 4390,
      "end": 4403,
      "loc": {
        "start": {
          "line": 116,
          "column": 39
        },
        "end": {
          "line": 116,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4403,
      "end": 4404,
      "loc": {
        "start": {
          "line": 116,
          "column": 52
        },
        "end": {
          "line": 116,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4404,
      "end": 4405,
      "loc": {
        "start": {
          "line": 116,
          "column": 53
        },
        "end": {
          "line": 116,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4405,
      "end": 4406,
      "loc": {
        "start": {
          "line": 116,
          "column": 54
        },
        "end": {
          "line": 116,
          "column": 55
        }
      }
    },
    {
      "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": 4423,
      "end": 4429,
      "loc": {
        "start": {
          "line": 117,
          "column": 16
        },
        "end": {
          "line": 117,
          "column": 22
        }
      }
    },
    {
      "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": 4430,
      "end": 4434,
      "loc": {
        "start": {
          "line": 117,
          "column": 23
        },
        "end": {
          "line": 117,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4434,
      "end": 4435,
      "loc": {
        "start": {
          "line": 117,
          "column": 27
        },
        "end": {
          "line": 117,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4444,
      "end": 4445,
      "loc": {
        "start": {
          "line": 118,
          "column": 8
        },
        "end": {
          "line": 118,
          "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": 4454,
      "end": 4460,
      "loc": {
        "start": {
          "line": 119,
          "column": 8
        },
        "end": {
          "line": 119,
          "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": 4461,
      "end": 4466,
      "loc": {
        "start": {
          "line": 119,
          "column": 15
        },
        "end": {
          "line": 119,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4466,
      "end": 4467,
      "loc": {
        "start": {
          "line": 119,
          "column": 20
        },
        "end": {
          "line": 119,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4472,
      "end": 4473,
      "loc": {
        "start": {
          "line": 120,
          "column": 4
        },
        "end": {
          "line": 120,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderChildren",
      "start": 4479,
      "end": 4493,
      "loc": {
        "start": {
          "line": 122,
          "column": 4
        },
        "end": {
          "line": 122,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4493,
      "end": 4494,
      "loc": {
        "start": {
          "line": 122,
          "column": 18
        },
        "end": {
          "line": 122,
          "column": 19
        }
      }
    },
    {
      "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": 122,
          "column": 19
        },
        "end": {
          "line": 122,
          "column": 20
        }
      }
    },
    {
      "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": 122,
          "column": 21
        },
        "end": {
          "line": 122,
          "column": 22
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let countDerived = 0;",
      "start": 4506,
      "end": 4530,
      "loc": {
        "start": {
          "line": 123,
          "column": 8
        },
        "end": {
          "line": 123,
          "column": 32
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " we are going to modify the children array such that when one of our children components",
      "start": 4539,
      "end": 4629,
      "loc": {
        "start": {
          "line": 124,
          "column": 8
        },
        "end": {
          "line": 124,
          "column": 98
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " blurs, we will bubble it out to select the next focusable control",
      "start": 4638,
      "end": 4706,
      "loc": {
        "start": {
          "line": 125,
          "column": 8
        },
        "end": {
          "line": 125,
          "column": 76
        }
      }
    },
    {
      "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": 4715,
      "end": 4717,
      "loc": {
        "start": {
          "line": 126,
          "column": 8
        },
        "end": {
          "line": 126,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4718,
      "end": 4719,
      "loc": {
        "start": {
          "line": 126,
          "column": 11
        },
        "end": {
          "line": 126,
          "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": 4719,
      "end": 4723,
      "loc": {
        "start": {
          "line": 126,
          "column": 12
        },
        "end": {
          "line": 126,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4723,
      "end": 4724,
      "loc": {
        "start": {
          "line": 126,
          "column": 16
        },
        "end": {
          "line": 126,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 4724,
      "end": 4729,
      "loc": {
        "start": {
          "line": 126,
          "column": 17
        },
        "end": {
          "line": 126,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4729,
      "end": 4730,
      "loc": {
        "start": {
          "line": 126,
          "column": 22
        },
        "end": {
          "line": 126,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 4730,
      "end": 4738,
      "loc": {
        "start": {
          "line": 126,
          "column": 23
        },
        "end": {
          "line": 126,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4738,
      "end": 4739,
      "loc": {
        "start": {
          "line": 126,
          "column": 31
        },
        "end": {
          "line": 126,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4740,
      "end": 4741,
      "loc": {
        "start": {
          "line": 126,
          "column": 33
        },
        "end": {
          "line": 126,
          "column": 34
        }
      }
    },
    {
      "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": 4754,
      "end": 4759,
      "loc": {
        "start": {
          "line": 127,
          "column": 12
        },
        "end": {
          "line": 127,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiedChildren",
      "start": 4760,
      "end": 4776,
      "loc": {
        "start": {
          "line": 127,
          "column": 18
        },
        "end": {
          "line": 127,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4777,
      "end": 4778,
      "loc": {
        "start": {
          "line": 127,
          "column": 35
        },
        "end": {
          "line": 127,
          "column": 36
        }
      }
    },
    {
      "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": 4779,
      "end": 4783,
      "loc": {
        "start": {
          "line": 127,
          "column": 37
        },
        "end": {
          "line": 127,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4783,
      "end": 4784,
      "loc": {
        "start": {
          "line": 127,
          "column": 41
        },
        "end": {
          "line": 127,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "props",
      "start": 4784,
      "end": 4789,
      "loc": {
        "start": {
          "line": 127,
          "column": 42
        },
        "end": {
          "line": 127,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4789,
      "end": 4790,
      "loc": {
        "start": {
          "line": 127,
          "column": 47
        },
        "end": {
          "line": 127,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 4790,
      "end": 4798,
      "loc": {
        "start": {
          "line": 127,
          "column": 48
        },
        "end": {
          "line": 127,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4798,
      "end": 4799,
      "loc": {
        "start": {
          "line": 127,
          "column": 56
        },
        "end": {
          "line": 127,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "map",
      "start": 4799,
      "end": 4802,
      "loc": {
        "start": {
          "line": 127,
          "column": 57
        },
        "end": {
          "line": 127,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4802,
      "end": 4803,
      "loc": {
        "start": {
          "line": 127,
          "column": 60
        },
        "end": {
          "line": 127,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4803,
      "end": 4804,
      "loc": {
        "start": {
          "line": 127,
          "column": 61
        },
        "end": {
          "line": 127,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "el",
      "start": 4804,
      "end": 4806,
      "loc": {
        "start": {
          "line": 127,
          "column": 62
        },
        "end": {
          "line": 127,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4806,
      "end": 4807,
      "loc": {
        "start": {
          "line": 127,
          "column": 64
        },
        "end": {
          "line": 127,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4808,
      "end": 4810,
      "loc": {
        "start": {
          "line": 127,
          "column": 66
        },
        "end": {
          "line": 127,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " expanded: const modifiedChildren = this.props.children.map((el, i, all) =>",
      "start": 4823,
      "end": 4900,
      "loc": {
        "start": {
          "line": 128,
          "column": 12
        },
        "end": {
          "line": 128,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Control",
      "start": 4917,
      "end": 4924,
      "loc": {
        "start": {
          "line": 129,
          "column": 16
        },
        "end": {
          "line": 129,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4924,
      "end": 4925,
      "loc": {
        "start": {
          "line": 129,
          "column": 23
        },
        "end": {
          "line": 129,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isDerivedControl",
      "start": 4925,
      "end": 4941,
      "loc": {
        "start": {
          "line": 129,
          "column": 24
        },
        "end": {
          "line": 129,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4941,
      "end": 4942,
      "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": "el",
      "start": 4942,
      "end": 4944,
      "loc": {
        "start": {
          "line": 129,
          "column": 41
        },
        "end": {
          "line": 129,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4944,
      "end": 4945,
      "loc": {
        "start": {
          "line": 129,
          "column": 43
        },
        "end": {
          "line": 129,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4946,
      "end": 4947,
      "loc": {
        "start": {
          "line": 129,
          "column": 45
        },
        "end": {
          "line": 129,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "React",
      "start": 4948,
      "end": 4953,
      "loc": {
        "start": {
          "line": 129,
          "column": 47
        },
        "end": {
          "line": 129,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4953,
      "end": 4954,
      "loc": {
        "start": {
          "line": 129,
          "column": 52
        },
        "end": {
          "line": 129,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cloneElement",
      "start": 4954,
      "end": 4966,
      "loc": {
        "start": {
          "line": 129,
          "column": 53
        },
        "end": {
          "line": 129,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4966,
      "end": 4967,
      "loc": {
        "start": {
          "line": 129,
          "column": 65
        },
        "end": {
          "line": 129,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "el",
      "start": 4967,
      "end": 4969,
      "loc": {
        "start": {
          "line": 129,
          "column": 66
        },
        "end": {
          "line": 129,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4969,
      "end": 4970,
      "loc": {
        "start": {
          "line": 129,
          "column": 68
        },
        "end": {
          "line": 129,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4971,
      "end": 4972,
      "loc": {
        "start": {
          "line": 129,
          "column": 70
        },
        "end": {
          "line": 129,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4990,
      "end": 4991,
      "loc": {
        "start": {
          "line": 131,
          "column": 16
        },
        "end": {
          "line": 131,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4991,
      "end": 4992,
      "loc": {
        "start": {
          "line": 131,
          "column": 17
        },
        "end": {
          "line": 131,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4993,
      "end": 4994,
      "loc": {
        "start": {
          "line": 131,
          "column": 19
        },
        "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": "el",
      "start": 4995,
      "end": 4997,
      "loc": {
        "start": {
          "line": 131,
          "column": 21
        },
        "end": {
          "line": 131,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5010,
      "end": 5011,
      "loc": {
        "start": {
          "line": 132,
          "column": 12
        },
        "end": {
          "line": 132,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5011,
      "end": 5012,
      "loc": {
        "start": {
          "line": 132,
          "column": 13
        },
        "end": {
          "line": 132,
          "column": 14
        }
      }
    },
    {
      "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": 5025,
      "end": 5031,
      "loc": {
        "start": {
          "line": 133,
          "column": 12
        },
        "end": {
          "line": 133,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiedChildren",
      "start": 5032,
      "end": 5048,
      "loc": {
        "start": {
          "line": 133,
          "column": 19
        },
        "end": {
          "line": 133,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5048,
      "end": 5049,
      "loc": {
        "start": {
          "line": 133,
          "column": 35
        },
        "end": {
          "line": 133,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5058,
      "end": 5059,
      "loc": {
        "start": {
          "line": 134,
          "column": 8
        },
        "end": {
          "line": 134,
          "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": 5068,
      "end": 5074,
      "loc": {
        "start": {
          "line": 135,
          "column": 8
        },
        "end": {
          "line": 135,
          "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": 5075,
      "end": 5079,
      "loc": {
        "start": {
          "line": 135,
          "column": 15
        },
        "end": {
          "line": 135,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5079,
      "end": 5080,
      "loc": {
        "start": {
          "line": 135,
          "column": 19
        },
        "end": {
          "line": 135,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5085,
      "end": 5086,
      "loc": {
        "start": {
          "line": 136,
          "column": 4
        },
        "end": {
          "line": 136,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "render",
      "start": 5092,
      "end": 5098,
      "loc": {
        "start": {
          "line": 138,
          "column": 4
        },
        "end": {
          "line": 138,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5098,
      "end": 5099,
      "loc": {
        "start": {
          "line": 138,
          "column": 10
        },
        "end": {
          "line": 138,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5099,
      "end": 5100,
      "loc": {
        "start": {
          "line": 138,
          "column": 11
        },
        "end": {
          "line": 138,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5101,
      "end": 5102,
      "loc": {
        "start": {
          "line": 138,
          "column": 13
        },
        "end": {
          "line": 138,
          "column": 14
        }
      }
    },
    {
      "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": 5111,
      "end": 5117,
      "loc": {
        "start": {
          "line": 139,
          "column": 8
        },
        "end": {
          "line": 139,
          "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": 5118,
      "end": 5122,
      "loc": {
        "start": {
          "line": 139,
          "column": 15
        },
        "end": {
          "line": 139,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5122,
      "end": 5123,
      "loc": {
        "start": {
          "line": 139,
          "column": 19
        },
        "end": {
          "line": 139,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderChildren",
      "start": 5123,
      "end": 5137,
      "loc": {
        "start": {
          "line": 139,
          "column": 20
        },
        "end": {
          "line": 139,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5137,
      "end": 5138,
      "loc": {
        "start": {
          "line": 139,
          "column": 34
        },
        "end": {
          "line": 139,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5138,
      "end": 5139,
      "loc": {
        "start": {
          "line": 139,
          "column": 35
        },
        "end": {
          "line": 139,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5139,
      "end": 5140,
      "loc": {
        "start": {
          "line": 139,
          "column": 36
        },
        "end": {
          "line": 139,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5145,
      "end": 5146,
      "loc": {
        "start": {
          "line": 140,
          "column": 4
        },
        "end": {
          "line": 140,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5147,
      "end": 5148,
      "loc": {
        "start": {
          "line": 141,
          "column": 0
        },
        "end": {
          "line": 141,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5148,
      "end": 5148,
      "loc": {
        "start": {
          "line": 141,
          "column": 1
        },
        "end": {
          "line": 141,
          "column": 1
        }
      }
    }
  ]
}