{
  "type": "File",
  "start": 0,
  "end": 2795,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 100,
      "column": 29
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 2795,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 100,
        "column": 29
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 32,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 32
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 14,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 14
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 14,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 14
                },
                "identifierName": "Manager"
              },
              "name": "Manager"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 20,
          "end": 31,
          "loc": {
            "start": {
              "line": 1,
              "column": 20
            },
            "end": {
              "line": 1,
              "column": 31
            }
          },
          "extra": {
            "rawValue": "./Manager",
            "raw": "'./Manager'"
          },
          "value": "./Manager"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 33,
        "end": 77,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 44
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 40,
            "end": 53,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 20
              }
            },
            "local": {
              "type": "Identifier",
              "start": 40,
              "end": 53,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 20
                },
                "identifierName": "RenderManager"
              },
              "name": "RenderManager"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 59,
          "end": 76,
          "loc": {
            "start": {
              "line": 2,
              "column": 26
            },
            "end": {
              "line": 2,
              "column": 43
            }
          },
          "extra": {
            "rawValue": "./RenderManager",
            "raw": "'./RenderManager'"
          },
          "value": "./RenderManager"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 78,
        "end": 124,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 46
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 85,
            "end": 99,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 21
              }
            },
            "local": {
              "type": "Identifier",
              "start": 85,
              "end": 99,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 21
                },
                "identifierName": "ProgramManager"
              },
              "name": "ProgramManager"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 105,
          "end": 123,
          "loc": {
            "start": {
              "line": 3,
              "column": 27
            },
            "end": {
              "line": 3,
              "column": 45
            }
          },
          "extra": {
            "rawValue": "./ProgramManager",
            "raw": "'./ProgramManager'"
          },
          "value": "./ProgramManager"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 125,
        "end": 167,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 132,
            "end": 144,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 132,
              "end": 144,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 7
                },
                "end": {
                  "line": 4,
                  "column": 19
                },
                "identifierName": "SceneManager"
              },
              "name": "SceneManager"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 150,
          "end": 166,
          "loc": {
            "start": {
              "line": 4,
              "column": 25
            },
            "end": {
              "line": 4,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./SceneManager",
            "raw": "'./SceneManager'"
          },
          "value": "./SceneManager"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 168,
        "end": 206,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 38
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 175,
            "end": 185,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 175,
              "end": 185,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 17
                },
                "identifierName": "DOMManager"
              },
              "name": "DOMManager"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 191,
          "end": 205,
          "loc": {
            "start": {
              "line": 5,
              "column": 23
            },
            "end": {
              "line": 5,
              "column": 37
            }
          },
          "extra": {
            "rawValue": "./DOMManager",
            "raw": "'./DOMManager'"
          },
          "value": "./DOMManager"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 207,
        "end": 259,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 52
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 214,
            "end": 231,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 24
              }
            },
            "local": {
              "type": "Identifier",
              "start": 214,
              "end": 231,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 7
                },
                "end": {
                  "line": 6,
                  "column": 24
                },
                "identifierName": "PersistentManager"
              },
              "name": "PersistentManager"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 237,
          "end": 258,
          "loc": {
            "start": {
              "line": 6,
              "column": 30
            },
            "end": {
              "line": 6,
              "column": 51
            }
          },
          "extra": {
            "rawValue": "./PersistentManager",
            "raw": "'./PersistentManager'"
          },
          "value": "./PersistentManager"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 260,
        "end": 302,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 267,
            "end": 279,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 267,
              "end": 279,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 7
                },
                "end": {
                  "line": 7,
                  "column": 19
                },
                "identifierName": "InputManager"
              },
              "name": "InputManager"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 285,
          "end": 301,
          "loc": {
            "start": {
              "line": 7,
              "column": 25
            },
            "end": {
              "line": 7,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./InputManager",
            "raw": "'./InputManager'"
          },
          "value": "./InputManager"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 303,
        "end": 345,
        "loc": {
          "start": {
            "line": 8,
            "column": 0
          },
          "end": {
            "line": 8,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 310,
            "end": 322,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 310,
              "end": 322,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 7
                },
                "end": {
                  "line": 8,
                  "column": 19
                },
                "identifierName": "AudioManager"
              },
              "name": "AudioManager"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 328,
          "end": 344,
          "loc": {
            "start": {
              "line": 8,
              "column": 25
            },
            "end": {
              "line": 8,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./AudioManager",
            "raw": "'./AudioManager'"
          },
          "value": "./AudioManager"
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n *  A singleton & Manager.\n * \n * This class manages the core ECS system & game loop. It calls all other Managers\n * required to start. \n * \n * TODO: This system will be rewritten to allow Manager plugins to be added by the \n * user without editing the Engine.\n ",
            "start": 347,
            "end": 615,
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 18,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 616,
        "end": 2666,
        "loc": {
          "start": {
            "line": 19,
            "column": 0
          },
          "end": {
            "line": 94,
            "column": 1
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "ClassDeclaration",
          "start": 623,
          "end": 2666,
          "loc": {
            "start": {
              "line": 19,
              "column": 7
            },
            "end": {
              "line": 94,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 629,
            "end": 643,
            "loc": {
              "start": {
                "line": 19,
                "column": 13
              },
              "end": {
                "line": 19,
                "column": 27
              },
              "identifierName": "_EngineManager"
            },
            "name": "_EngineManager",
            "leadingComments": null
          },
          "superClass": {
            "type": "Identifier",
            "start": 652,
            "end": 659,
            "loc": {
              "start": {
                "line": 19,
                "column": 36
              },
              "end": {
                "line": 19,
                "column": 43
              },
              "identifierName": "Manager"
            },
            "name": "Manager"
          },
          "body": {
            "type": "ClassBody",
            "start": 660,
            "end": 2666,
            "loc": {
              "start": {
                "line": 19,
                "column": 44
              },
              "end": {
                "line": 94,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 666,
                "end": 810,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 4
                  },
                  "end": {
                    "line": 25,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 666,
                  "end": 677,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 4
                    },
                    "end": {
                      "line": 20,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 680,
                  "end": 810,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 18
                    },
                    "end": {
                      "line": 25,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 690,
                      "end": 698,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 8
                        },
                        "end": {
                          "line": 21,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 690,
                        "end": 697,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 8
                          },
                          "end": {
                            "line": 21,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 690,
                          "end": 695,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 8
                            },
                            "end": {
                              "line": 21,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 707,
                      "end": 730,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 8
                        },
                        "end": {
                          "line": 22,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 707,
                        "end": 729,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 8
                          },
                          "end": {
                            "line": 22,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 707,
                          "end": 724,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 8
                            },
                            "end": {
                              "line": 22,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 707,
                            "end": 711,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 8
                              },
                              "end": {
                                "line": 22,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 712,
                            "end": 724,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 13
                              },
                              "end": {
                                "line": 22,
                                "column": 25
                              },
                              "identifierName": "MS_PER_FRAME"
                            },
                            "name": "MS_PER_FRAME"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NumericLiteral",
                          "start": 727,
                          "end": 729,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 28
                            },
                            "end": {
                              "line": 22,
                              "column": 30
                            }
                          },
                          "extra": {
                            "rawValue": 20,
                            "raw": "20"
                          },
                          "value": 20
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 739,
                      "end": 772,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 739,
                        "end": 771,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 8
                          },
                          "end": {
                            "line": 23,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 739,
                          "end": 764,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 8
                            },
                            "end": {
                              "line": 23,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 739,
                            "end": 743,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 8
                              },
                              "end": {
                                "line": 23,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 744,
                            "end": 764,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 13
                              },
                              "end": {
                                "line": 23,
                                "column": 33
                              },
                              "identifierName": "coreUpdateLoopHandle"
                            },
                            "name": "coreUpdateLoopHandle"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NullLiteral",
                          "start": 767,
                          "end": 771,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 36
                            },
                            "end": {
                              "line": 23,
                              "column": 40
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 781,
                      "end": 804,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 781,
                        "end": 803,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 8
                          },
                          "end": {
                            "line": 24,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 781,
                          "end": 795,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 781,
                            "end": 785,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 8
                              },
                              "end": {
                                "line": 24,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 786,
                            "end": 795,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 13
                              },
                              "end": {
                                "line": 24,
                                "column": 22
                              },
                              "identifierName": "hasPaused"
                            },
                            "name": "hasPaused"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 798,
                          "end": 803,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 25
                            },
                            "end": {
                              "line": 24,
                              "column": 30
                            }
                          },
                          "value": false
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the Engine should start all systems.\n     * This also includes specific setup code to get the game running, \n     * including setting up the render loop.\n     ",
                    "start": 816,
                    "end": 1000,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 4
                      },
                      "end": {
                        "line": 31,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1005,
                "end": 1560,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 4
                  },
                  "end": {
                    "line": 50,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1005,
                  "end": 1010,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 4
                    },
                    "end": {
                      "line": 32,
                      "column": 9
                    },
                    "identifierName": "start"
                  },
                  "name": "start",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1013,
                  "end": 1560,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 12
                    },
                    "end": {
                      "line": 50,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1073,
                      "end": 1092,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1073,
                        "end": 1091,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 34,
                            "column": 26
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1073,
                          "end": 1089,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1073,
                            "end": 1083,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 18
                              },
                              "identifierName": "DOMManager"
                            },
                            "name": "DOMManager",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1084,
                            "end": 1089,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 19
                              },
                              "end": {
                                "line": 34,
                                "column": 24
                              },
                              "identifierName": "start"
                            },
                            "name": "start"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "Needs to be first to target the canvas.",
                          "start": 1023,
                          "end": 1064,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 49
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1101,
                      "end": 1127,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1101,
                        "end": 1126,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1101,
                          "end": 1124,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1101,
                            "end": 1118,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 25
                              },
                              "identifierName": "PersistentManager"
                            },
                            "name": "PersistentManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1119,
                            "end": 1124,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 26
                              },
                              "end": {
                                "line": 35,
                                "column": 31
                              },
                              "identifierName": "start"
                            },
                            "name": "start"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1136,
                      "end": 1157,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1136,
                        "end": 1156,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 8
                          },
                          "end": {
                            "line": 36,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1136,
                          "end": 1154,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1136,
                            "end": 1148,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 20
                              },
                              "identifierName": "SceneManager"
                            },
                            "name": "SceneManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1149,
                            "end": 1154,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 21
                              },
                              "end": {
                                "line": 36,
                                "column": 26
                              },
                              "identifierName": "start"
                            },
                            "name": "start"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "Needs to be ahead of RenderManager to init Programs for WebGL.",
                          "start": 1167,
                          "end": 1231,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 72
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1240,
                      "end": 1263,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 8
                        },
                        "end": {
                          "line": 39,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1240,
                        "end": 1262,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 8
                          },
                          "end": {
                            "line": 39,
                            "column": 30
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1240,
                          "end": 1260,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1240,
                            "end": 1254,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 8
                              },
                              "end": {
                                "line": 39,
                                "column": 22
                              },
                              "identifierName": "ProgramManager"
                            },
                            "name": "ProgramManager",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1255,
                            "end": 1260,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 23
                              },
                              "end": {
                                "line": 39,
                                "column": 28
                              },
                              "identifierName": "start"
                            },
                            "name": "start"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "Needs to be ahead of RenderManager to init Programs for WebGL.",
                          "start": 1167,
                          "end": 1231,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 72
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1272,
                      "end": 1294,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1272,
                        "end": 1293,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 8
                          },
                          "end": {
                            "line": 40,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1272,
                          "end": 1291,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1272,
                            "end": 1285,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 21
                              },
                              "identifierName": "RenderManager"
                            },
                            "name": "RenderManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1286,
                            "end": 1291,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 22
                              },
                              "end": {
                                "line": 40,
                                "column": 27
                              },
                              "identifierName": "start"
                            },
                            "name": "start"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1303,
                      "end": 1326,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1303,
                        "end": 1325,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 30
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1303,
                          "end": 1323,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1303,
                            "end": 1316,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 21
                              },
                              "identifierName": "RenderManager"
                            },
                            "name": "RenderManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1317,
                            "end": 1323,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 22
                              },
                              "end": {
                                "line": 41,
                                "column": 28
                              },
                              "identifierName": "update"
                            },
                            "name": "update"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1335,
                      "end": 1356,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1335,
                        "end": 1355,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1335,
                          "end": 1353,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1335,
                            "end": 1347,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 20
                              },
                              "identifierName": "InputManager"
                            },
                            "name": "InputManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1348,
                            "end": 1353,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 21
                              },
                              "end": {
                                "line": 42,
                                "column": 26
                              },
                              "identifierName": "start"
                            },
                            "name": "start"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1365,
                      "end": 1386,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1365,
                        "end": 1385,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1365,
                          "end": 1383,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1365,
                            "end": 1377,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 20
                              },
                              "identifierName": "AudioManager"
                            },
                            "name": "AudioManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1378,
                            "end": 1383,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 21
                              },
                              "end": {
                                "line": 43,
                                "column": 26
                              },
                              "identifierName": "start"
                            },
                            "name": "start"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1396,
                      "end": 1554,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1396,
                        "end": 1553,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1396,
                          "end": 1421,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1396,
                            "end": 1400,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 8
                              },
                              "end": {
                                "line": 45,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1401,
                            "end": 1421,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 13
                              },
                              "end": {
                                "line": 45,
                                "column": 33
                              },
                              "identifierName": "coreUpdateLoopHandle"
                            },
                            "name": "coreUpdateLoopHandle"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 1424,
                          "end": 1553,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 36
                            },
                            "end": {
                              "line": 49,
                              "column": 29
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1424,
                            "end": 1435,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 36
                              },
                              "end": {
                                "line": 45,
                                "column": 47
                              },
                              "identifierName": "setInterval"
                            },
                            "name": "setInterval"
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 1436,
                              "end": 1533,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 48
                                },
                                "end": {
                                  "line": 49,
                                  "column": 9
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [],
                              "body": {
                                "type": "BlockStatement",
                                "start": 1442,
                                "end": 1533,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 9
                                  }
                                },
                                "body": [
                                  {
                                    "type": "IfStatement",
                                    "start": 1456,
                                    "end": 1523,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 13
                                      }
                                    },
                                    "test": {
                                      "type": "UnaryExpression",
                                      "start": 1460,
                                      "end": 1475,
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 31
                                        }
                                      },
                                      "operator": "!",
                                      "prefix": true,
                                      "argument": {
                                        "type": "MemberExpression",
                                        "start": 1461,
                                        "end": 1475,
                                        "loc": {
                                          "start": {
                                            "line": 46,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 46,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1461,
                                          "end": 1465,
                                          "loc": {
                                            "start": {
                                              "line": 46,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 46,
                                              "column": 21
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1466,
                                          "end": 1475,
                                          "loc": {
                                            "start": {
                                              "line": 46,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 46,
                                              "column": 31
                                            },
                                            "identifierName": "hasPaused"
                                          },
                                          "name": "hasPaused"
                                        },
                                        "computed": false
                                      },
                                      "extra": {
                                        "parenthesizedArgument": false
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 1477,
                                      "end": 1523,
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 1495,
                                          "end": 1509,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 30
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 1495,
                                            "end": 1508,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 29
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 1495,
                                              "end": 1506,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 27
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 1495,
                                                "end": 1499,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 20
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 1500,
                                                "end": 1506,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 27
                                                  },
                                                  "identifierName": "update"
                                                },
                                                "name": "update"
                                              },
                                              "computed": false
                                            },
                                            "arguments": []
                                          }
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  }
                                ],
                                "directives": []
                              }
                            },
                            {
                              "type": "MemberExpression",
                              "start": 1535,
                              "end": 1552,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 11
                                },
                                "end": {
                                  "line": 49,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1535,
                                "end": 1539,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1540,
                                "end": 1552,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 28
                                  },
                                  "identifierName": "MS_PER_FRAME"
                                },
                                "name": "MS_PER_FRAME"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Called when the Engine should start all systems.\n     * This also includes specific setup code to get the game running, \n     * including setting up the render loop.\n     ",
                    "start": 816,
                    "end": 1000,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 4
                      },
                      "end": {
                        "line": 31,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The EngineManager sets up a loop on start() to call this function.\n     * Recalling this function will force a game update.\n     ",
                    "start": 1566,
                    "end": 1708,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 4
                      },
                      "end": {
                        "line": 55,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1713,
                "end": 1903,
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 4
                  },
                  "end": {
                    "line": 61,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1713,
                  "end": 1719,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 4
                    },
                    "end": {
                      "line": 56,
                      "column": 10
                    },
                    "identifierName": "update"
                  },
                  "name": "update",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1722,
                  "end": 1903,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 13
                    },
                    "end": {
                      "line": 61,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1732,
                      "end": 1759,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1732,
                        "end": 1758,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 8
                          },
                          "end": {
                            "line": 57,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1732,
                          "end": 1756,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1732,
                            "end": 1749,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 25
                              },
                              "identifierName": "PersistentManager"
                            },
                            "name": "PersistentManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1750,
                            "end": 1756,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 26
                              },
                              "end": {
                                "line": 57,
                                "column": 32
                              },
                              "identifierName": "update"
                            },
                            "name": "update"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1768,
                      "end": 1790,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1768,
                        "end": 1789,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1768,
                          "end": 1787,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1768,
                            "end": 1780,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 20
                              },
                              "identifierName": "SceneManager"
                            },
                            "name": "SceneManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1781,
                            "end": 1787,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 21
                              },
                              "end": {
                                "line": 58,
                                "column": 27
                              },
                              "identifierName": "update"
                            },
                            "name": "update"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "RenderManager.update(); Only called when a Renderable is updated.",
                          "start": 1799,
                          "end": 1866,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 75
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1875,
                      "end": 1897,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1875,
                        "end": 1896,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1875,
                          "end": 1894,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1875,
                            "end": 1887,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 8
                              },
                              "end": {
                                "line": 60,
                                "column": 20
                              },
                              "identifierName": "InputManager"
                            },
                            "name": "InputManager",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1888,
                            "end": 1894,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 21
                              },
                              "end": {
                                "line": 60,
                                "column": 27
                              },
                              "identifierName": "update"
                            },
                            "name": "update"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "RenderManager.update(); Only called when a Renderable is updated.",
                          "start": 1799,
                          "end": 1866,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 75
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * The EngineManager sets up a loop on start() to call this function.\n     * Recalling this function will force a game update.\n     ",
                    "start": 1566,
                    "end": 1708,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 4
                      },
                      "end": {
                        "line": 55,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Ends the Engine by calling all manager end functions.\n     ",
                    "start": 1909,
                    "end": 1981,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 4
                      },
                      "end": {
                        "line": 65,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1986,
                "end": 2193,
                "loc": {
                  "start": {
                    "line": 66,
                    "column": 4
                  },
                  "end": {
                    "line": 73,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1986,
                  "end": 1989,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 4
                    },
                    "end": {
                      "line": 66,
                      "column": 7
                    },
                    "identifierName": "end"
                  },
                  "name": "end",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1992,
                  "end": 2193,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 10
                    },
                    "end": {
                      "line": 73,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2002,
                      "end": 2026,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2002,
                        "end": 2025,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 8
                          },
                          "end": {
                            "line": 67,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2002,
                          "end": 2023,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 8
                            },
                            "end": {
                              "line": 67,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2002,
                            "end": 2019,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 8
                              },
                              "end": {
                                "line": 67,
                                "column": 25
                              },
                              "identifierName": "PersistentManager"
                            },
                            "name": "PersistentManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2020,
                            "end": 2023,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 26
                              },
                              "end": {
                                "line": 67,
                                "column": 29
                              },
                              "identifierName": "end"
                            },
                            "name": "end"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2035,
                      "end": 2054,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2035,
                        "end": 2053,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 8
                          },
                          "end": {
                            "line": 68,
                            "column": 26
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2035,
                          "end": 2051,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 8
                            },
                            "end": {
                              "line": 68,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2035,
                            "end": 2047,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 8
                              },
                              "end": {
                                "line": 68,
                                "column": 20
                              },
                              "identifierName": "SceneManager"
                            },
                            "name": "SceneManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2048,
                            "end": 2051,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 21
                              },
                              "end": {
                                "line": 68,
                                "column": 24
                              },
                              "identifierName": "end"
                            },
                            "name": "end"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2063,
                      "end": 2083,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2063,
                        "end": 2082,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 8
                          },
                          "end": {
                            "line": 69,
                            "column": 27
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2063,
                          "end": 2080,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2063,
                            "end": 2076,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 8
                              },
                              "end": {
                                "line": 69,
                                "column": 21
                              },
                              "identifierName": "RenderManager"
                            },
                            "name": "RenderManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2077,
                            "end": 2080,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 22
                              },
                              "end": {
                                "line": 69,
                                "column": 25
                              },
                              "identifierName": "end"
                            },
                            "name": "end"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2092,
                      "end": 2133,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2092,
                        "end": 2132,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 8
                          },
                          "end": {
                            "line": 70,
                            "column": 48
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2092,
                          "end": 2105,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 21
                            },
                            "identifierName": "clearInterval"
                          },
                          "name": "clearInterval"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 2106,
                            "end": 2131,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 22
                              },
                              "end": {
                                "line": 70,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2106,
                              "end": 2110,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 22
                                },
                                "end": {
                                  "line": 70,
                                  "column": 26
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2111,
                              "end": 2131,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 27
                                },
                                "end": {
                                  "line": 70,
                                  "column": 47
                                },
                                "identifierName": "coreUpdateLoopHandle"
                              },
                              "name": "coreUpdateLoopHandle"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2142,
                      "end": 2159,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 8
                        },
                        "end": {
                          "line": 71,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2142,
                        "end": 2158,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 8
                          },
                          "end": {
                            "line": 71,
                            "column": 24
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2142,
                          "end": 2156,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2142,
                            "end": 2152,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 8
                              },
                              "end": {
                                "line": 71,
                                "column": 18
                              },
                              "identifierName": "DOMManager"
                            },
                            "name": "DOMManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2153,
                            "end": 2156,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 19
                              },
                              "end": {
                                "line": 71,
                                "column": 22
                              },
                              "identifierName": "end"
                            },
                            "name": "end"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2168,
                      "end": 2187,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2168,
                        "end": 2186,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 8
                          },
                          "end": {
                            "line": 72,
                            "column": 26
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2168,
                          "end": 2184,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2168,
                            "end": 2180,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 8
                              },
                              "end": {
                                "line": 72,
                                "column": 20
                              },
                              "identifierName": "AudioManager"
                            },
                            "name": "AudioManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2181,
                            "end": 2184,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 21
                              },
                              "end": {
                                "line": 72,
                                "column": 24
                              },
                              "identifierName": "end"
                            },
                            "name": "end"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Ends the Engine by calling all manager end functions.\n     ",
                    "start": 1909,
                    "end": 1981,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 4
                      },
                      "end": {
                        "line": 65,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Pauses the Engine by calling all manager pause functions.\n     ",
                    "start": 2199,
                    "end": 2275,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 4
                      },
                      "end": {
                        "line": 77,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2280,
                "end": 2422,
                "loc": {
                  "start": {
                    "line": 78,
                    "column": 4
                  },
                  "end": {
                    "line": 83,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2280,
                  "end": 2285,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 4
                    },
                    "end": {
                      "line": 78,
                      "column": 9
                    },
                    "identifierName": "pause"
                  },
                  "name": "pause",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2288,
                  "end": 2422,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 12
                    },
                    "end": {
                      "line": 83,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2298,
                      "end": 2320,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 8
                        },
                        "end": {
                          "line": 79,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2298,
                        "end": 2319,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 8
                          },
                          "end": {
                            "line": 79,
                            "column": 29
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2298,
                          "end": 2317,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 8
                            },
                            "end": {
                              "line": 79,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2298,
                            "end": 2311,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 8
                              },
                              "end": {
                                "line": 79,
                                "column": 21
                              },
                              "identifierName": "RenderManager"
                            },
                            "name": "RenderManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2312,
                            "end": 2317,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 22
                              },
                              "end": {
                                "line": 79,
                                "column": 27
                              },
                              "identifierName": "pause"
                            },
                            "name": "pause"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2329,
                      "end": 2355,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 8
                        },
                        "end": {
                          "line": 80,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2329,
                        "end": 2354,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 8
                          },
                          "end": {
                            "line": 80,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2329,
                          "end": 2352,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 8
                            },
                            "end": {
                              "line": 80,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2329,
                            "end": 2346,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 8
                              },
                              "end": {
                                "line": 80,
                                "column": 25
                              },
                              "identifierName": "PersistentManager"
                            },
                            "name": "PersistentManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2347,
                            "end": 2352,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 26
                              },
                              "end": {
                                "line": 80,
                                "column": 31
                              },
                              "identifierName": "pause"
                            },
                            "name": "pause"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2364,
                      "end": 2385,
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 8
                        },
                        "end": {
                          "line": 81,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2364,
                        "end": 2384,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 8
                          },
                          "end": {
                            "line": 81,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2364,
                          "end": 2382,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 8
                            },
                            "end": {
                              "line": 81,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2364,
                            "end": 2376,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 8
                              },
                              "end": {
                                "line": 81,
                                "column": 20
                              },
                              "identifierName": "SceneManager"
                            },
                            "name": "SceneManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2377,
                            "end": 2382,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 21
                              },
                              "end": {
                                "line": 81,
                                "column": 26
                              },
                              "identifierName": "pause"
                            },
                            "name": "pause"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2394,
                      "end": 2416,
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2394,
                        "end": 2415,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 8
                          },
                          "end": {
                            "line": 82,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2394,
                          "end": 2408,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 8
                            },
                            "end": {
                              "line": 82,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2394,
                            "end": 2398,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 8
                              },
                              "end": {
                                "line": 82,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2399,
                            "end": 2408,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 13
                              },
                              "end": {
                                "line": 82,
                                "column": 22
                              },
                              "identifierName": "hasPaused"
                            },
                            "name": "hasPaused"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 2411,
                          "end": 2415,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 25
                            },
                            "end": {
                              "line": 82,
                              "column": 29
                            }
                          },
                          "value": true
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Pauses the Engine by calling all manager pause functions.\n     ",
                    "start": 2199,
                    "end": 2275,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 4
                      },
                      "end": {
                        "line": 77,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Unpauses the Engine by calling all manager unpause functions.\n     ",
                    "start": 2428,
                    "end": 2508,
                    "loc": {
                      "start": {
                        "line": 85,
                        "column": 4
                      },
                      "end": {
                        "line": 87,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2513,
                "end": 2664,
                "loc": {
                  "start": {
                    "line": 88,
                    "column": 4
                  },
                  "end": {
                    "line": 93,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2513,
                  "end": 2520,
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 4
                    },
                    "end": {
                      "line": 88,
                      "column": 11
                    },
                    "identifierName": "unpause"
                  },
                  "name": "unpause",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2523,
                  "end": 2664,
                  "loc": {
                    "start": {
                      "line": 88,
                      "column": 14
                    },
                    "end": {
                      "line": 93,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2533,
                      "end": 2556,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 8
                        },
                        "end": {
                          "line": 89,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2533,
                        "end": 2555,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 8
                          },
                          "end": {
                            "line": 89,
                            "column": 30
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2533,
                          "end": 2553,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 8
                            },
                            "end": {
                              "line": 89,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2533,
                            "end": 2545,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 8
                              },
                              "end": {
                                "line": 89,
                                "column": 20
                              },
                              "identifierName": "SceneManager"
                            },
                            "name": "SceneManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2546,
                            "end": 2553,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 21
                              },
                              "end": {
                                "line": 89,
                                "column": 28
                              },
                              "identifierName": "unpause"
                            },
                            "name": "unpause"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2565,
                      "end": 2593,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 8
                        },
                        "end": {
                          "line": 90,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2565,
                        "end": 2592,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 8
                          },
                          "end": {
                            "line": 90,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2565,
                          "end": 2590,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 8
                            },
                            "end": {
                              "line": 90,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2565,
                            "end": 2582,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 8
                              },
                              "end": {
                                "line": 90,
                                "column": 25
                              },
                              "identifierName": "PersistentManager"
                            },
                            "name": "PersistentManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2583,
                            "end": 2590,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 26
                              },
                              "end": {
                                "line": 90,
                                "column": 33
                              },
                              "identifierName": "unpause"
                            },
                            "name": "unpause"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2602,
                      "end": 2626,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 8
                        },
                        "end": {
                          "line": 91,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2602,
                        "end": 2625,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 8
                          },
                          "end": {
                            "line": 91,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2602,
                          "end": 2623,
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 8
                            },
                            "end": {
                              "line": 91,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2602,
                            "end": 2615,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 8
                              },
                              "end": {
                                "line": 91,
                                "column": 21
                              },
                              "identifierName": "RenderManager"
                            },
                            "name": "RenderManager"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2616,
                            "end": 2623,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 22
                              },
                              "end": {
                                "line": 91,
                                "column": 29
                              },
                              "identifierName": "unpause"
                            },
                            "name": "unpause"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2635,
                      "end": 2658,
                      "loc": {
                        "start": {
                          "line": 92,
                          "column": 8
                        },
                        "end": {
                          "line": 92,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2635,
                        "end": 2657,
                        "loc": {
                          "start": {
                            "line": 92,
                            "column": 8
                          },
                          "end": {
                            "line": 92,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2635,
                          "end": 2649,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 8
                            },
                            "end": {
                              "line": 92,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2635,
                            "end": 2639,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 8
                              },
                              "end": {
                                "line": 92,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2640,
                            "end": 2649,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 13
                              },
                              "end": {
                                "line": 92,
                                "column": 22
                              },
                              "identifierName": "hasPaused"
                            },
                            "name": "hasPaused"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 2652,
                          "end": 2657,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 25
                            },
                            "end": {
                              "line": 92,
                              "column": 30
                            }
                          },
                          "value": false
                        }
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Unpauses the Engine by calling all manager unpause functions.\n     ",
                    "start": 2428,
                    "end": 2508,
                    "loc": {
                      "start": {
                        "line": 85,
                        "column": 4
                      },
                      "end": {
                        "line": 87,
                        "column": 7
                      }
                    }
                  }
                ]
              }
            ],
            "trailingComments": null
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n *  A singleton & Manager.\n * \n * This class manages the core ECS system & game loop. It calls all other Managers\n * required to start. \n * \n * TODO: This system will be rewritten to allow Manager plugins to be added by the \n * user without editing the Engine.\n ",
              "start": 347,
              "end": 615,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 0
                },
                "end": {
                  "line": 18,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * Singleton reference to the Engine Manager.\n ",
              "start": 2668,
              "end": 2721,
              "loc": {
                "start": {
                  "line": 96,
                  "column": 0
                },
                "end": {
                  "line": 98,
                  "column": 3
                }
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n *  A singleton & Manager.\n * \n * This class manages the core ECS system & game loop. It calls all other Managers\n * required to start. \n * \n * TODO: This system will be rewritten to allow Manager plugins to be added by the \n * user without editing the Engine.\n ",
            "start": 347,
            "end": 615,
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 18,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Singleton reference to the Engine Manager.\n ",
            "start": 2668,
            "end": 2721,
            "loc": {
              "start": {
                "line": 96,
                "column": 0
              },
              "end": {
                "line": 98,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "Identifier",
        "start": 2722,
        "end": 2765,
        "loc": {
          "start": {
            "line": 99,
            "column": 0
          },
          "end": {
            "line": 99,
            "column": 43
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 2728,
            "end": 2764,
            "loc": {
              "start": {
                "line": 99,
                "column": 6
              },
              "end": {
                "line": 99,
                "column": 42
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2728,
              "end": 2741,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 6
                },
                "end": {
                  "line": 99,
                  "column": 19
                },
                "identifierName": "EngineManager"
              },
              "name": "EngineManager",
              "leadingComments": null
            },
            "init": {
              "type": "NewExpression",
              "start": 2744,
              "end": 2764,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 22
                },
                "end": {
                  "line": 99,
                  "column": 42
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 2748,
                "end": 2762,
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 26
                  },
                  "end": {
                    "line": 99,
                    "column": 40
                  },
                  "identifierName": "_EngineManager"
                },
                "name": "_EngineManager"
              },
              "arguments": []
            },
            "leadingComments": null
          }
        ],
        "kind": "const",
        "leadingComments": [],
        "name": "_",
        "trailingComments": []
      },
      {
        "type": "Identifier",
        "start": 2766,
        "end": 2795,
        "loc": {
          "start": {
            "line": 100,
            "column": 0
          },
          "end": {
            "line": 100,
            "column": 29
          }
        },
        "declaration": {
          "type": "Identifier",
          "start": 2781,
          "end": 2794,
          "loc": {
            "start": {
              "line": 100,
              "column": 15
            },
            "end": {
              "line": 100,
              "column": 28
            },
            "identifierName": "EngineManager"
          },
          "name": "EngineManager"
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 2766,
        "end": 2795,
        "loc": {
          "start": {
            "line": 100,
            "column": 0
          },
          "end": {
            "line": 100,
            "column": 29
          }
        },
        "declaration": {
          "type": "VariableDeclaration",
          "kind": "let",
          "loc": {
            "start": {
              "line": 100,
              "column": 0
            },
            "end": {
              "line": 100,
              "column": 29
            }
          },
          "declarations": [
            {
              "type": "VariableDeclarator",
              "id": {
                "type": "Identifier",
                "name": "EngineManager"
              },
              "init": {
                "type": "NewExpression",
                "callee": {
                  "type": "Identifier",
                  "name": "_EngineManager"
                }
              }
            }
          ],
          "leadingComments": [],
          "trailingComments": []
        }
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n *  A singleton & Manager.\n * \n * This class manages the core ECS system & game loop. It calls all other Managers\n * required to start. \n * \n * TODO: This system will be rewritten to allow Manager plugins to be added by the \n * user without editing the Engine.\n ",
      "start": 347,
      "end": 615,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the Engine should start all systems.\n     * This also includes specific setup code to get the game running, \n     * including setting up the render loop.\n     ",
      "start": 816,
      "end": 1000,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "Needs to be first to target the canvas.",
      "start": 1023,
      "end": 1064,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "Needs to be ahead of RenderManager to init Programs for WebGL.",
      "start": 1167,
      "end": 1231,
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 72
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The EngineManager sets up a loop on start() to call this function.\n     * Recalling this function will force a game update.\n     ",
      "start": 1566,
      "end": 1708,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "RenderManager.update(); Only called when a Renderable is updated.",
      "start": 1799,
      "end": 1866,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 75
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Ends the Engine by calling all manager end functions.\n     ",
      "start": 1909,
      "end": 1981,
      "loc": {
        "start": {
          "line": 63,
          "column": 4
        },
        "end": {
          "line": 65,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Pauses the Engine by calling all manager pause functions.\n     ",
      "start": 2199,
      "end": 2275,
      "loc": {
        "start": {
          "line": 75,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Unpauses the Engine by calling all manager unpause functions.\n     ",
      "start": 2428,
      "end": 2508,
      "loc": {
        "start": {
          "line": 85,
          "column": 4
        },
        "end": {
          "line": 87,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Singleton reference to the Engine Manager.\n ",
      "start": 2668,
      "end": 2721,
      "loc": {
        "start": {
          "line": 96,
          "column": 0
        },
        "end": {
          "line": 98,
          "column": 3
        }
      }
    }
  ],
  "tokens": [
    {
      "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": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Manager",
      "start": 7,
      "end": 14,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 15,
      "end": 19,
      "loc": {
        "start": {
          "line": 1,
          "column": 15
        },
        "end": {
          "line": 1,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./Manager",
      "start": 20,
      "end": 31,
      "loc": {
        "start": {
          "line": 1,
          "column": 20
        },
        "end": {
          "line": 1,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 31,
      "end": 32,
      "loc": {
        "start": {
          "line": 1,
          "column": 31
        },
        "end": {
          "line": 1,
          "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": 33,
      "end": 39,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "RenderManager",
      "start": 40,
      "end": 53,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 54,
      "end": 58,
      "loc": {
        "start": {
          "line": 2,
          "column": 21
        },
        "end": {
          "line": 2,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./RenderManager",
      "start": 59,
      "end": 76,
      "loc": {
        "start": {
          "line": 2,
          "column": 26
        },
        "end": {
          "line": 2,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 76,
      "end": 77,
      "loc": {
        "start": {
          "line": 2,
          "column": 43
        },
        "end": {
          "line": 2,
          "column": 44
        }
      }
    },
    {
      "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": 78,
      "end": 84,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ProgramManager",
      "start": 85,
      "end": 99,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 100,
      "end": 104,
      "loc": {
        "start": {
          "line": 3,
          "column": 22
        },
        "end": {
          "line": 3,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./ProgramManager",
      "start": 105,
      "end": 123,
      "loc": {
        "start": {
          "line": 3,
          "column": 27
        },
        "end": {
          "line": 3,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 123,
      "end": 124,
      "loc": {
        "start": {
          "line": 3,
          "column": 45
        },
        "end": {
          "line": 3,
          "column": 46
        }
      }
    },
    {
      "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": 125,
      "end": 131,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SceneManager",
      "start": 132,
      "end": 144,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 145,
      "end": 149,
      "loc": {
        "start": {
          "line": 4,
          "column": 20
        },
        "end": {
          "line": 4,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./SceneManager",
      "start": 150,
      "end": 166,
      "loc": {
        "start": {
          "line": 4,
          "column": 25
        },
        "end": {
          "line": 4,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 166,
      "end": 167,
      "loc": {
        "start": {
          "line": 4,
          "column": 41
        },
        "end": {
          "line": 4,
          "column": 42
        }
      }
    },
    {
      "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": 168,
      "end": 174,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DOMManager",
      "start": 175,
      "end": 185,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 186,
      "end": 190,
      "loc": {
        "start": {
          "line": 5,
          "column": 18
        },
        "end": {
          "line": 5,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./DOMManager",
      "start": 191,
      "end": 205,
      "loc": {
        "start": {
          "line": 5,
          "column": 23
        },
        "end": {
          "line": 5,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 205,
      "end": 206,
      "loc": {
        "start": {
          "line": 5,
          "column": 37
        },
        "end": {
          "line": 5,
          "column": 38
        }
      }
    },
    {
      "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": 207,
      "end": 213,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PersistentManager",
      "start": 214,
      "end": 231,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 232,
      "end": 236,
      "loc": {
        "start": {
          "line": 6,
          "column": 25
        },
        "end": {
          "line": 6,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./PersistentManager",
      "start": 237,
      "end": 258,
      "loc": {
        "start": {
          "line": 6,
          "column": 30
        },
        "end": {
          "line": 6,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 258,
      "end": 259,
      "loc": {
        "start": {
          "line": 6,
          "column": 51
        },
        "end": {
          "line": 6,
          "column": 52
        }
      }
    },
    {
      "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": 260,
      "end": 266,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "InputManager",
      "start": 267,
      "end": 279,
      "loc": {
        "start": {
          "line": 7,
          "column": 7
        },
        "end": {
          "line": 7,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 280,
      "end": 284,
      "loc": {
        "start": {
          "line": 7,
          "column": 20
        },
        "end": {
          "line": 7,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./InputManager",
      "start": 285,
      "end": 301,
      "loc": {
        "start": {
          "line": 7,
          "column": 25
        },
        "end": {
          "line": 7,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 301,
      "end": 302,
      "loc": {
        "start": {
          "line": 7,
          "column": 41
        },
        "end": {
          "line": 7,
          "column": 42
        }
      }
    },
    {
      "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": 303,
      "end": 309,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AudioManager",
      "start": 310,
      "end": 322,
      "loc": {
        "start": {
          "line": 8,
          "column": 7
        },
        "end": {
          "line": 8,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 323,
      "end": 327,
      "loc": {
        "start": {
          "line": 8,
          "column": 20
        },
        "end": {
          "line": 8,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./AudioManager",
      "start": 328,
      "end": 344,
      "loc": {
        "start": {
          "line": 8,
          "column": 25
        },
        "end": {
          "line": 8,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 344,
      "end": 345,
      "loc": {
        "start": {
          "line": 8,
          "column": 41
        },
        "end": {
          "line": 8,
          "column": 42
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n *  A singleton & Manager.\n * \n * This class manages the core ECS system & game loop. It calls all other Managers\n * required to start. \n * \n * TODO: This system will be rewritten to allow Manager plugins to be added by the \n * user without editing the Engine.\n ",
      "start": 347,
      "end": 615,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 18,
          "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": 616,
      "end": 622,
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 19,
          "column": 6
        }
      }
    },
    {
      "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": 623,
      "end": 628,
      "loc": {
        "start": {
          "line": 19,
          "column": 7
        },
        "end": {
          "line": 19,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_EngineManager",
      "start": 629,
      "end": 643,
      "loc": {
        "start": {
          "line": 19,
          "column": 13
        },
        "end": {
          "line": 19,
          "column": 27
        }
      }
    },
    {
      "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": 644,
      "end": 651,
      "loc": {
        "start": {
          "line": 19,
          "column": 28
        },
        "end": {
          "line": 19,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Manager",
      "start": 652,
      "end": 659,
      "loc": {
        "start": {
          "line": 19,
          "column": 36
        },
        "end": {
          "line": 19,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 660,
      "end": 661,
      "loc": {
        "start": {
          "line": 19,
          "column": 44
        },
        "end": {
          "line": 19,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 666,
      "end": 677,
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 677,
      "end": 678,
      "loc": {
        "start": {
          "line": 20,
          "column": 15
        },
        "end": {
          "line": 20,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 678,
      "end": 679,
      "loc": {
        "start": {
          "line": 20,
          "column": 16
        },
        "end": {
          "line": 20,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 680,
      "end": 681,
      "loc": {
        "start": {
          "line": 20,
          "column": 18
        },
        "end": {
          "line": 20,
          "column": 19
        }
      }
    },
    {
      "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": 690,
      "end": 695,
      "loc": {
        "start": {
          "line": 21,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 695,
      "end": 696,
      "loc": {
        "start": {
          "line": 21,
          "column": 13
        },
        "end": {
          "line": 21,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 696,
      "end": 697,
      "loc": {
        "start": {
          "line": 21,
          "column": 14
        },
        "end": {
          "line": 21,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 697,
      "end": 698,
      "loc": {
        "start": {
          "line": 21,
          "column": 15
        },
        "end": {
          "line": 21,
          "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": 707,
      "end": 711,
      "loc": {
        "start": {
          "line": 22,
          "column": 8
        },
        "end": {
          "line": 22,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 711,
      "end": 712,
      "loc": {
        "start": {
          "line": 22,
          "column": 12
        },
        "end": {
          "line": 22,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "MS_PER_FRAME",
      "start": 712,
      "end": 724,
      "loc": {
        "start": {
          "line": 22,
          "column": 13
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 725,
      "end": 726,
      "loc": {
        "start": {
          "line": 22,
          "column": 26
        },
        "end": {
          "line": 22,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 20,
      "start": 727,
      "end": 729,
      "loc": {
        "start": {
          "line": 22,
          "column": 28
        },
        "end": {
          "line": 22,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 729,
      "end": 730,
      "loc": {
        "start": {
          "line": 22,
          "column": 30
        },
        "end": {
          "line": 22,
          "column": 31
        }
      }
    },
    {
      "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": 739,
      "end": 743,
      "loc": {
        "start": {
          "line": 23,
          "column": 8
        },
        "end": {
          "line": 23,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 743,
      "end": 744,
      "loc": {
        "start": {
          "line": 23,
          "column": 12
        },
        "end": {
          "line": 23,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "coreUpdateLoopHandle",
      "start": 744,
      "end": 764,
      "loc": {
        "start": {
          "line": 23,
          "column": 13
        },
        "end": {
          "line": 23,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 765,
      "end": 766,
      "loc": {
        "start": {
          "line": 23,
          "column": 34
        },
        "end": {
          "line": 23,
          "column": 35
        }
      }
    },
    {
      "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": 767,
      "end": 771,
      "loc": {
        "start": {
          "line": 23,
          "column": 36
        },
        "end": {
          "line": 23,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 771,
      "end": 772,
      "loc": {
        "start": {
          "line": 23,
          "column": 40
        },
        "end": {
          "line": 23,
          "column": 41
        }
      }
    },
    {
      "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": 781,
      "end": 785,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 785,
      "end": 786,
      "loc": {
        "start": {
          "line": 24,
          "column": 12
        },
        "end": {
          "line": 24,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 786,
      "end": 795,
      "loc": {
        "start": {
          "line": 24,
          "column": 13
        },
        "end": {
          "line": 24,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 796,
      "end": 797,
      "loc": {
        "start": {
          "line": 24,
          "column": 23
        },
        "end": {
          "line": 24,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 798,
      "end": 803,
      "loc": {
        "start": {
          "line": 24,
          "column": 25
        },
        "end": {
          "line": 24,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 803,
      "end": 804,
      "loc": {
        "start": {
          "line": 24,
          "column": 30
        },
        "end": {
          "line": 24,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 809,
      "end": 810,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 25,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Called when the Engine should start all systems.\n     * This also includes specific setup code to get the game running, \n     * including setting up the render loop.\n     ",
      "start": 816,
      "end": 1000,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1005,
      "end": 1010,
      "loc": {
        "start": {
          "line": 32,
          "column": 4
        },
        "end": {
          "line": 32,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1010,
      "end": 1011,
      "loc": {
        "start": {
          "line": 32,
          "column": 9
        },
        "end": {
          "line": 32,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1011,
      "end": 1012,
      "loc": {
        "start": {
          "line": 32,
          "column": 10
        },
        "end": {
          "line": 32,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1013,
      "end": 1014,
      "loc": {
        "start": {
          "line": 32,
          "column": 12
        },
        "end": {
          "line": 32,
          "column": 13
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "Needs to be first to target the canvas.",
      "start": 1023,
      "end": 1064,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DOMManager",
      "start": 1073,
      "end": 1083,
      "loc": {
        "start": {
          "line": 34,
          "column": 8
        },
        "end": {
          "line": 34,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1083,
      "end": 1084,
      "loc": {
        "start": {
          "line": 34,
          "column": 18
        },
        "end": {
          "line": 34,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1084,
      "end": 1089,
      "loc": {
        "start": {
          "line": 34,
          "column": 19
        },
        "end": {
          "line": 34,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1089,
      "end": 1090,
      "loc": {
        "start": {
          "line": 34,
          "column": 24
        },
        "end": {
          "line": 34,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1090,
      "end": 1091,
      "loc": {
        "start": {
          "line": 34,
          "column": 25
        },
        "end": {
          "line": 34,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1091,
      "end": 1092,
      "loc": {
        "start": {
          "line": 34,
          "column": 26
        },
        "end": {
          "line": 34,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PersistentManager",
      "start": 1101,
      "end": 1118,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1118,
      "end": 1119,
      "loc": {
        "start": {
          "line": 35,
          "column": 25
        },
        "end": {
          "line": 35,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1119,
      "end": 1124,
      "loc": {
        "start": {
          "line": 35,
          "column": 26
        },
        "end": {
          "line": 35,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1124,
      "end": 1125,
      "loc": {
        "start": {
          "line": 35,
          "column": 31
        },
        "end": {
          "line": 35,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1125,
      "end": 1126,
      "loc": {
        "start": {
          "line": 35,
          "column": 32
        },
        "end": {
          "line": 35,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1126,
      "end": 1127,
      "loc": {
        "start": {
          "line": 35,
          "column": 33
        },
        "end": {
          "line": 35,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SceneManager",
      "start": 1136,
      "end": 1148,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1148,
      "end": 1149,
      "loc": {
        "start": {
          "line": 36,
          "column": 20
        },
        "end": {
          "line": 36,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1149,
      "end": 1154,
      "loc": {
        "start": {
          "line": 36,
          "column": 21
        },
        "end": {
          "line": 36,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1154,
      "end": 1155,
      "loc": {
        "start": {
          "line": 36,
          "column": 26
        },
        "end": {
          "line": 36,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1155,
      "end": 1156,
      "loc": {
        "start": {
          "line": 36,
          "column": 27
        },
        "end": {
          "line": 36,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1156,
      "end": 1157,
      "loc": {
        "start": {
          "line": 36,
          "column": 28
        },
        "end": {
          "line": 36,
          "column": 29
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "Needs to be ahead of RenderManager to init Programs for WebGL.",
      "start": 1167,
      "end": 1231,
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ProgramManager",
      "start": 1240,
      "end": 1254,
      "loc": {
        "start": {
          "line": 39,
          "column": 8
        },
        "end": {
          "line": 39,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1254,
      "end": 1255,
      "loc": {
        "start": {
          "line": 39,
          "column": 22
        },
        "end": {
          "line": 39,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1255,
      "end": 1260,
      "loc": {
        "start": {
          "line": 39,
          "column": 23
        },
        "end": {
          "line": 39,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1260,
      "end": 1261,
      "loc": {
        "start": {
          "line": 39,
          "column": 28
        },
        "end": {
          "line": 39,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1261,
      "end": 1262,
      "loc": {
        "start": {
          "line": 39,
          "column": 29
        },
        "end": {
          "line": 39,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1262,
      "end": 1263,
      "loc": {
        "start": {
          "line": 39,
          "column": 30
        },
        "end": {
          "line": 39,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "RenderManager",
      "start": 1272,
      "end": 1285,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1285,
      "end": 1286,
      "loc": {
        "start": {
          "line": 40,
          "column": 21
        },
        "end": {
          "line": 40,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1286,
      "end": 1291,
      "loc": {
        "start": {
          "line": 40,
          "column": 22
        },
        "end": {
          "line": 40,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1291,
      "end": 1292,
      "loc": {
        "start": {
          "line": 40,
          "column": 27
        },
        "end": {
          "line": 40,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1292,
      "end": 1293,
      "loc": {
        "start": {
          "line": 40,
          "column": 28
        },
        "end": {
          "line": 40,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1293,
      "end": 1294,
      "loc": {
        "start": {
          "line": 40,
          "column": 29
        },
        "end": {
          "line": 40,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "RenderManager",
      "start": 1303,
      "end": 1316,
      "loc": {
        "start": {
          "line": 41,
          "column": 8
        },
        "end": {
          "line": 41,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1316,
      "end": 1317,
      "loc": {
        "start": {
          "line": 41,
          "column": 21
        },
        "end": {
          "line": 41,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "update",
      "start": 1317,
      "end": 1323,
      "loc": {
        "start": {
          "line": 41,
          "column": 22
        },
        "end": {
          "line": 41,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1323,
      "end": 1324,
      "loc": {
        "start": {
          "line": 41,
          "column": 28
        },
        "end": {
          "line": 41,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1324,
      "end": 1325,
      "loc": {
        "start": {
          "line": 41,
          "column": 29
        },
        "end": {
          "line": 41,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1325,
      "end": 1326,
      "loc": {
        "start": {
          "line": 41,
          "column": 30
        },
        "end": {
          "line": 41,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "InputManager",
      "start": 1335,
      "end": 1347,
      "loc": {
        "start": {
          "line": 42,
          "column": 8
        },
        "end": {
          "line": 42,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1347,
      "end": 1348,
      "loc": {
        "start": {
          "line": 42,
          "column": 20
        },
        "end": {
          "line": 42,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1348,
      "end": 1353,
      "loc": {
        "start": {
          "line": 42,
          "column": 21
        },
        "end": {
          "line": 42,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1353,
      "end": 1354,
      "loc": {
        "start": {
          "line": 42,
          "column": 26
        },
        "end": {
          "line": 42,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1354,
      "end": 1355,
      "loc": {
        "start": {
          "line": 42,
          "column": 27
        },
        "end": {
          "line": 42,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1355,
      "end": 1356,
      "loc": {
        "start": {
          "line": 42,
          "column": 28
        },
        "end": {
          "line": 42,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AudioManager",
      "start": 1365,
      "end": 1377,
      "loc": {
        "start": {
          "line": 43,
          "column": 8
        },
        "end": {
          "line": 43,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1377,
      "end": 1378,
      "loc": {
        "start": {
          "line": 43,
          "column": 20
        },
        "end": {
          "line": 43,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1378,
      "end": 1383,
      "loc": {
        "start": {
          "line": 43,
          "column": 21
        },
        "end": {
          "line": 43,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1383,
      "end": 1384,
      "loc": {
        "start": {
          "line": 43,
          "column": 26
        },
        "end": {
          "line": 43,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1384,
      "end": 1385,
      "loc": {
        "start": {
          "line": 43,
          "column": 27
        },
        "end": {
          "line": 43,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1385,
      "end": 1386,
      "loc": {
        "start": {
          "line": 43,
          "column": 28
        },
        "end": {
          "line": 43,
          "column": 29
        }
      }
    },
    {
      "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": 1396,
      "end": 1400,
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 45,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1400,
      "end": 1401,
      "loc": {
        "start": {
          "line": 45,
          "column": 12
        },
        "end": {
          "line": 45,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "coreUpdateLoopHandle",
      "start": 1401,
      "end": 1421,
      "loc": {
        "start": {
          "line": 45,
          "column": 13
        },
        "end": {
          "line": 45,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1422,
      "end": 1423,
      "loc": {
        "start": {
          "line": 45,
          "column": 34
        },
        "end": {
          "line": 45,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setInterval",
      "start": 1424,
      "end": 1435,
      "loc": {
        "start": {
          "line": 45,
          "column": 36
        },
        "end": {
          "line": 45,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1435,
      "end": 1436,
      "loc": {
        "start": {
          "line": 45,
          "column": 47
        },
        "end": {
          "line": 45,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1436,
      "end": 1437,
      "loc": {
        "start": {
          "line": 45,
          "column": 48
        },
        "end": {
          "line": 45,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1437,
      "end": 1438,
      "loc": {
        "start": {
          "line": 45,
          "column": 49
        },
        "end": {
          "line": 45,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1439,
      "end": 1441,
      "loc": {
        "start": {
          "line": 45,
          "column": 51
        },
        "end": {
          "line": 45,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1442,
      "end": 1443,
      "loc": {
        "start": {
          "line": 45,
          "column": 54
        },
        "end": {
          "line": 45,
          "column": 55
        }
      }
    },
    {
      "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": 1456,
      "end": 1458,
      "loc": {
        "start": {
          "line": 46,
          "column": 12
        },
        "end": {
          "line": 46,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1459,
      "end": 1460,
      "loc": {
        "start": {
          "line": 46,
          "column": 15
        },
        "end": {
          "line": 46,
          "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": 1460,
      "end": 1461,
      "loc": {
        "start": {
          "line": 46,
          "column": 16
        },
        "end": {
          "line": 46,
          "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": 1461,
      "end": 1465,
      "loc": {
        "start": {
          "line": 46,
          "column": 17
        },
        "end": {
          "line": 46,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1465,
      "end": 1466,
      "loc": {
        "start": {
          "line": 46,
          "column": 21
        },
        "end": {
          "line": 46,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 1466,
      "end": 1475,
      "loc": {
        "start": {
          "line": 46,
          "column": 22
        },
        "end": {
          "line": 46,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1475,
      "end": 1476,
      "loc": {
        "start": {
          "line": 46,
          "column": 31
        },
        "end": {
          "line": 46,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1477,
      "end": 1478,
      "loc": {
        "start": {
          "line": 46,
          "column": 33
        },
        "end": {
          "line": 46,
          "column": 34
        }
      }
    },
    {
      "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": 1495,
      "end": 1499,
      "loc": {
        "start": {
          "line": 47,
          "column": 16
        },
        "end": {
          "line": 47,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1499,
      "end": 1500,
      "loc": {
        "start": {
          "line": 47,
          "column": 20
        },
        "end": {
          "line": 47,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "update",
      "start": 1500,
      "end": 1506,
      "loc": {
        "start": {
          "line": 47,
          "column": 21
        },
        "end": {
          "line": 47,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1506,
      "end": 1507,
      "loc": {
        "start": {
          "line": 47,
          "column": 27
        },
        "end": {
          "line": 47,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1507,
      "end": 1508,
      "loc": {
        "start": {
          "line": 47,
          "column": 28
        },
        "end": {
          "line": 47,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1508,
      "end": 1509,
      "loc": {
        "start": {
          "line": 47,
          "column": 29
        },
        "end": {
          "line": 47,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1522,
      "end": 1523,
      "loc": {
        "start": {
          "line": 48,
          "column": 12
        },
        "end": {
          "line": 48,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1532,
      "end": 1533,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1533,
      "end": 1534,
      "loc": {
        "start": {
          "line": 49,
          "column": 9
        },
        "end": {
          "line": 49,
          "column": 10
        }
      }
    },
    {
      "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": 1535,
      "end": 1539,
      "loc": {
        "start": {
          "line": 49,
          "column": 11
        },
        "end": {
          "line": 49,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1539,
      "end": 1540,
      "loc": {
        "start": {
          "line": 49,
          "column": 15
        },
        "end": {
          "line": 49,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "MS_PER_FRAME",
      "start": 1540,
      "end": 1552,
      "loc": {
        "start": {
          "line": 49,
          "column": 16
        },
        "end": {
          "line": 49,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1552,
      "end": 1553,
      "loc": {
        "start": {
          "line": 49,
          "column": 28
        },
        "end": {
          "line": 49,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1553,
      "end": 1554,
      "loc": {
        "start": {
          "line": 49,
          "column": 29
        },
        "end": {
          "line": 49,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1559,
      "end": 1560,
      "loc": {
        "start": {
          "line": 50,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The EngineManager sets up a loop on start() to call this function.\n     * Recalling this function will force a game update.\n     ",
      "start": 1566,
      "end": 1708,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "update",
      "start": 1713,
      "end": 1719,
      "loc": {
        "start": {
          "line": 56,
          "column": 4
        },
        "end": {
          "line": 56,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1719,
      "end": 1720,
      "loc": {
        "start": {
          "line": 56,
          "column": 10
        },
        "end": {
          "line": 56,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1720,
      "end": 1721,
      "loc": {
        "start": {
          "line": 56,
          "column": 11
        },
        "end": {
          "line": 56,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1722,
      "end": 1723,
      "loc": {
        "start": {
          "line": 56,
          "column": 13
        },
        "end": {
          "line": 56,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PersistentManager",
      "start": 1732,
      "end": 1749,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1749,
      "end": 1750,
      "loc": {
        "start": {
          "line": 57,
          "column": 25
        },
        "end": {
          "line": 57,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "update",
      "start": 1750,
      "end": 1756,
      "loc": {
        "start": {
          "line": 57,
          "column": 26
        },
        "end": {
          "line": 57,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1756,
      "end": 1757,
      "loc": {
        "start": {
          "line": 57,
          "column": 32
        },
        "end": {
          "line": 57,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1757,
      "end": 1758,
      "loc": {
        "start": {
          "line": 57,
          "column": 33
        },
        "end": {
          "line": 57,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1758,
      "end": 1759,
      "loc": {
        "start": {
          "line": 57,
          "column": 34
        },
        "end": {
          "line": 57,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SceneManager",
      "start": 1768,
      "end": 1780,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1780,
      "end": 1781,
      "loc": {
        "start": {
          "line": 58,
          "column": 20
        },
        "end": {
          "line": 58,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "update",
      "start": 1781,
      "end": 1787,
      "loc": {
        "start": {
          "line": 58,
          "column": 21
        },
        "end": {
          "line": 58,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1787,
      "end": 1788,
      "loc": {
        "start": {
          "line": 58,
          "column": 27
        },
        "end": {
          "line": 58,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1788,
      "end": 1789,
      "loc": {
        "start": {
          "line": 58,
          "column": 28
        },
        "end": {
          "line": 58,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1789,
      "end": 1790,
      "loc": {
        "start": {
          "line": 58,
          "column": 29
        },
        "end": {
          "line": 58,
          "column": 30
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "RenderManager.update(); Only called when a Renderable is updated.",
      "start": 1799,
      "end": 1866,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "InputManager",
      "start": 1875,
      "end": 1887,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1887,
      "end": 1888,
      "loc": {
        "start": {
          "line": 60,
          "column": 20
        },
        "end": {
          "line": 60,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "update",
      "start": 1888,
      "end": 1894,
      "loc": {
        "start": {
          "line": 60,
          "column": 21
        },
        "end": {
          "line": 60,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1894,
      "end": 1895,
      "loc": {
        "start": {
          "line": 60,
          "column": 27
        },
        "end": {
          "line": 60,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1895,
      "end": 1896,
      "loc": {
        "start": {
          "line": 60,
          "column": 28
        },
        "end": {
          "line": 60,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1896,
      "end": 1897,
      "loc": {
        "start": {
          "line": 60,
          "column": 29
        },
        "end": {
          "line": 60,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1902,
      "end": 1903,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 61,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Ends the Engine by calling all manager end functions.\n     ",
      "start": 1909,
      "end": 1981,
      "loc": {
        "start": {
          "line": 63,
          "column": 4
        },
        "end": {
          "line": 65,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 1986,
      "end": 1989,
      "loc": {
        "start": {
          "line": 66,
          "column": 4
        },
        "end": {
          "line": 66,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1989,
      "end": 1990,
      "loc": {
        "start": {
          "line": 66,
          "column": 7
        },
        "end": {
          "line": 66,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1990,
      "end": 1991,
      "loc": {
        "start": {
          "line": 66,
          "column": 8
        },
        "end": {
          "line": 66,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1992,
      "end": 1993,
      "loc": {
        "start": {
          "line": 66,
          "column": 10
        },
        "end": {
          "line": 66,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PersistentManager",
      "start": 2002,
      "end": 2019,
      "loc": {
        "start": {
          "line": 67,
          "column": 8
        },
        "end": {
          "line": 67,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2019,
      "end": 2020,
      "loc": {
        "start": {
          "line": 67,
          "column": 25
        },
        "end": {
          "line": 67,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 2020,
      "end": 2023,
      "loc": {
        "start": {
          "line": 67,
          "column": 26
        },
        "end": {
          "line": 67,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2023,
      "end": 2024,
      "loc": {
        "start": {
          "line": 67,
          "column": 29
        },
        "end": {
          "line": 67,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2024,
      "end": 2025,
      "loc": {
        "start": {
          "line": 67,
          "column": 30
        },
        "end": {
          "line": 67,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2025,
      "end": 2026,
      "loc": {
        "start": {
          "line": 67,
          "column": 31
        },
        "end": {
          "line": 67,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SceneManager",
      "start": 2035,
      "end": 2047,
      "loc": {
        "start": {
          "line": 68,
          "column": 8
        },
        "end": {
          "line": 68,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2047,
      "end": 2048,
      "loc": {
        "start": {
          "line": 68,
          "column": 20
        },
        "end": {
          "line": 68,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 2048,
      "end": 2051,
      "loc": {
        "start": {
          "line": 68,
          "column": 21
        },
        "end": {
          "line": 68,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2051,
      "end": 2052,
      "loc": {
        "start": {
          "line": 68,
          "column": 24
        },
        "end": {
          "line": 68,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2052,
      "end": 2053,
      "loc": {
        "start": {
          "line": 68,
          "column": 25
        },
        "end": {
          "line": 68,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2053,
      "end": 2054,
      "loc": {
        "start": {
          "line": 68,
          "column": 26
        },
        "end": {
          "line": 68,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "RenderManager",
      "start": 2063,
      "end": 2076,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2076,
      "end": 2077,
      "loc": {
        "start": {
          "line": 69,
          "column": 21
        },
        "end": {
          "line": 69,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 2077,
      "end": 2080,
      "loc": {
        "start": {
          "line": 69,
          "column": 22
        },
        "end": {
          "line": 69,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2080,
      "end": 2081,
      "loc": {
        "start": {
          "line": 69,
          "column": 25
        },
        "end": {
          "line": 69,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2081,
      "end": 2082,
      "loc": {
        "start": {
          "line": 69,
          "column": 26
        },
        "end": {
          "line": 69,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2082,
      "end": 2083,
      "loc": {
        "start": {
          "line": 69,
          "column": 27
        },
        "end": {
          "line": 69,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "clearInterval",
      "start": 2092,
      "end": 2105,
      "loc": {
        "start": {
          "line": 70,
          "column": 8
        },
        "end": {
          "line": 70,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2105,
      "end": 2106,
      "loc": {
        "start": {
          "line": 70,
          "column": 21
        },
        "end": {
          "line": 70,
          "column": 22
        }
      }
    },
    {
      "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": 2106,
      "end": 2110,
      "loc": {
        "start": {
          "line": 70,
          "column": 22
        },
        "end": {
          "line": 70,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2110,
      "end": 2111,
      "loc": {
        "start": {
          "line": 70,
          "column": 26
        },
        "end": {
          "line": 70,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "coreUpdateLoopHandle",
      "start": 2111,
      "end": 2131,
      "loc": {
        "start": {
          "line": 70,
          "column": 27
        },
        "end": {
          "line": 70,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2131,
      "end": 2132,
      "loc": {
        "start": {
          "line": 70,
          "column": 47
        },
        "end": {
          "line": 70,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2132,
      "end": 2133,
      "loc": {
        "start": {
          "line": 70,
          "column": 48
        },
        "end": {
          "line": 70,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DOMManager",
      "start": 2142,
      "end": 2152,
      "loc": {
        "start": {
          "line": 71,
          "column": 8
        },
        "end": {
          "line": 71,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2152,
      "end": 2153,
      "loc": {
        "start": {
          "line": 71,
          "column": 18
        },
        "end": {
          "line": 71,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 2153,
      "end": 2156,
      "loc": {
        "start": {
          "line": 71,
          "column": 19
        },
        "end": {
          "line": 71,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2156,
      "end": 2157,
      "loc": {
        "start": {
          "line": 71,
          "column": 22
        },
        "end": {
          "line": 71,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2157,
      "end": 2158,
      "loc": {
        "start": {
          "line": 71,
          "column": 23
        },
        "end": {
          "line": 71,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2158,
      "end": 2159,
      "loc": {
        "start": {
          "line": 71,
          "column": 24
        },
        "end": {
          "line": 71,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AudioManager",
      "start": 2168,
      "end": 2180,
      "loc": {
        "start": {
          "line": 72,
          "column": 8
        },
        "end": {
          "line": 72,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2180,
      "end": 2181,
      "loc": {
        "start": {
          "line": 72,
          "column": 20
        },
        "end": {
          "line": 72,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 2181,
      "end": 2184,
      "loc": {
        "start": {
          "line": 72,
          "column": 21
        },
        "end": {
          "line": 72,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2184,
      "end": 2185,
      "loc": {
        "start": {
          "line": 72,
          "column": 24
        },
        "end": {
          "line": 72,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2185,
      "end": 2186,
      "loc": {
        "start": {
          "line": 72,
          "column": 25
        },
        "end": {
          "line": 72,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2186,
      "end": 2187,
      "loc": {
        "start": {
          "line": 72,
          "column": 26
        },
        "end": {
          "line": 72,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2192,
      "end": 2193,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Pauses the Engine by calling all manager pause functions.\n     ",
      "start": 2199,
      "end": 2275,
      "loc": {
        "start": {
          "line": 75,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pause",
      "start": 2280,
      "end": 2285,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 78,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2285,
      "end": 2286,
      "loc": {
        "start": {
          "line": 78,
          "column": 9
        },
        "end": {
          "line": 78,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2286,
      "end": 2287,
      "loc": {
        "start": {
          "line": 78,
          "column": 10
        },
        "end": {
          "line": 78,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2288,
      "end": 2289,
      "loc": {
        "start": {
          "line": 78,
          "column": 12
        },
        "end": {
          "line": 78,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "RenderManager",
      "start": 2298,
      "end": 2311,
      "loc": {
        "start": {
          "line": 79,
          "column": 8
        },
        "end": {
          "line": 79,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2311,
      "end": 2312,
      "loc": {
        "start": {
          "line": 79,
          "column": 21
        },
        "end": {
          "line": 79,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pause",
      "start": 2312,
      "end": 2317,
      "loc": {
        "start": {
          "line": 79,
          "column": 22
        },
        "end": {
          "line": 79,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2317,
      "end": 2318,
      "loc": {
        "start": {
          "line": 79,
          "column": 27
        },
        "end": {
          "line": 79,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2318,
      "end": 2319,
      "loc": {
        "start": {
          "line": 79,
          "column": 28
        },
        "end": {
          "line": 79,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2319,
      "end": 2320,
      "loc": {
        "start": {
          "line": 79,
          "column": 29
        },
        "end": {
          "line": 79,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PersistentManager",
      "start": 2329,
      "end": 2346,
      "loc": {
        "start": {
          "line": 80,
          "column": 8
        },
        "end": {
          "line": 80,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2346,
      "end": 2347,
      "loc": {
        "start": {
          "line": 80,
          "column": 25
        },
        "end": {
          "line": 80,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pause",
      "start": 2347,
      "end": 2352,
      "loc": {
        "start": {
          "line": 80,
          "column": 26
        },
        "end": {
          "line": 80,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2352,
      "end": 2353,
      "loc": {
        "start": {
          "line": 80,
          "column": 31
        },
        "end": {
          "line": 80,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2353,
      "end": 2354,
      "loc": {
        "start": {
          "line": 80,
          "column": 32
        },
        "end": {
          "line": 80,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2354,
      "end": 2355,
      "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": "SceneManager",
      "start": 2364,
      "end": 2376,
      "loc": {
        "start": {
          "line": 81,
          "column": 8
        },
        "end": {
          "line": 81,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2376,
      "end": 2377,
      "loc": {
        "start": {
          "line": 81,
          "column": 20
        },
        "end": {
          "line": 81,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pause",
      "start": 2377,
      "end": 2382,
      "loc": {
        "start": {
          "line": 81,
          "column": 21
        },
        "end": {
          "line": 81,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2382,
      "end": 2383,
      "loc": {
        "start": {
          "line": 81,
          "column": 26
        },
        "end": {
          "line": 81,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2383,
      "end": 2384,
      "loc": {
        "start": {
          "line": 81,
          "column": 27
        },
        "end": {
          "line": 81,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2384,
      "end": 2385,
      "loc": {
        "start": {
          "line": 81,
          "column": 28
        },
        "end": {
          "line": 81,
          "column": 29
        }
      }
    },
    {
      "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": 2394,
      "end": 2398,
      "loc": {
        "start": {
          "line": 82,
          "column": 8
        },
        "end": {
          "line": 82,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2398,
      "end": 2399,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 2399,
      "end": 2408,
      "loc": {
        "start": {
          "line": 82,
          "column": 13
        },
        "end": {
          "line": 82,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2409,
      "end": 2410,
      "loc": {
        "start": {
          "line": 82,
          "column": 23
        },
        "end": {
          "line": 82,
          "column": 24
        }
      }
    },
    {
      "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": 2411,
      "end": 2415,
      "loc": {
        "start": {
          "line": 82,
          "column": 25
        },
        "end": {
          "line": 82,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2415,
      "end": 2416,
      "loc": {
        "start": {
          "line": 82,
          "column": 29
        },
        "end": {
          "line": 82,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2421,
      "end": 2422,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Unpauses the Engine by calling all manager unpause functions.\n     ",
      "start": 2428,
      "end": 2508,
      "loc": {
        "start": {
          "line": 85,
          "column": 4
        },
        "end": {
          "line": 87,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unpause",
      "start": 2513,
      "end": 2520,
      "loc": {
        "start": {
          "line": 88,
          "column": 4
        },
        "end": {
          "line": 88,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2520,
      "end": 2521,
      "loc": {
        "start": {
          "line": 88,
          "column": 11
        },
        "end": {
          "line": 88,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2521,
      "end": 2522,
      "loc": {
        "start": {
          "line": 88,
          "column": 12
        },
        "end": {
          "line": 88,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2523,
      "end": 2524,
      "loc": {
        "start": {
          "line": 88,
          "column": 14
        },
        "end": {
          "line": 88,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SceneManager",
      "start": 2533,
      "end": 2545,
      "loc": {
        "start": {
          "line": 89,
          "column": 8
        },
        "end": {
          "line": 89,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2545,
      "end": 2546,
      "loc": {
        "start": {
          "line": 89,
          "column": 20
        },
        "end": {
          "line": 89,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unpause",
      "start": 2546,
      "end": 2553,
      "loc": {
        "start": {
          "line": 89,
          "column": 21
        },
        "end": {
          "line": 89,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2553,
      "end": 2554,
      "loc": {
        "start": {
          "line": 89,
          "column": 28
        },
        "end": {
          "line": 89,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2554,
      "end": 2555,
      "loc": {
        "start": {
          "line": 89,
          "column": 29
        },
        "end": {
          "line": 89,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2555,
      "end": 2556,
      "loc": {
        "start": {
          "line": 89,
          "column": 30
        },
        "end": {
          "line": 89,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PersistentManager",
      "start": 2565,
      "end": 2582,
      "loc": {
        "start": {
          "line": 90,
          "column": 8
        },
        "end": {
          "line": 90,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2582,
      "end": 2583,
      "loc": {
        "start": {
          "line": 90,
          "column": 25
        },
        "end": {
          "line": 90,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unpause",
      "start": 2583,
      "end": 2590,
      "loc": {
        "start": {
          "line": 90,
          "column": 26
        },
        "end": {
          "line": 90,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2590,
      "end": 2591,
      "loc": {
        "start": {
          "line": 90,
          "column": 33
        },
        "end": {
          "line": 90,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2591,
      "end": 2592,
      "loc": {
        "start": {
          "line": 90,
          "column": 34
        },
        "end": {
          "line": 90,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2592,
      "end": 2593,
      "loc": {
        "start": {
          "line": 90,
          "column": 35
        },
        "end": {
          "line": 90,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "RenderManager",
      "start": 2602,
      "end": 2615,
      "loc": {
        "start": {
          "line": 91,
          "column": 8
        },
        "end": {
          "line": 91,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2615,
      "end": 2616,
      "loc": {
        "start": {
          "line": 91,
          "column": 21
        },
        "end": {
          "line": 91,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unpause",
      "start": 2616,
      "end": 2623,
      "loc": {
        "start": {
          "line": 91,
          "column": 22
        },
        "end": {
          "line": 91,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2623,
      "end": 2624,
      "loc": {
        "start": {
          "line": 91,
          "column": 29
        },
        "end": {
          "line": 91,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2624,
      "end": 2625,
      "loc": {
        "start": {
          "line": 91,
          "column": 30
        },
        "end": {
          "line": 91,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2625,
      "end": 2626,
      "loc": {
        "start": {
          "line": 91,
          "column": 31
        },
        "end": {
          "line": 91,
          "column": 32
        }
      }
    },
    {
      "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": 2635,
      "end": 2639,
      "loc": {
        "start": {
          "line": 92,
          "column": 8
        },
        "end": {
          "line": 92,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2639,
      "end": 2640,
      "loc": {
        "start": {
          "line": 92,
          "column": 12
        },
        "end": {
          "line": 92,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasPaused",
      "start": 2640,
      "end": 2649,
      "loc": {
        "start": {
          "line": 92,
          "column": 13
        },
        "end": {
          "line": 92,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2650,
      "end": 2651,
      "loc": {
        "start": {
          "line": 92,
          "column": 23
        },
        "end": {
          "line": 92,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 2652,
      "end": 2657,
      "loc": {
        "start": {
          "line": 92,
          "column": 25
        },
        "end": {
          "line": 92,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2657,
      "end": 2658,
      "loc": {
        "start": {
          "line": 92,
          "column": 30
        },
        "end": {
          "line": 92,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2663,
      "end": 2664,
      "loc": {
        "start": {
          "line": 93,
          "column": 4
        },
        "end": {
          "line": 93,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2665,
      "end": 2666,
      "loc": {
        "start": {
          "line": 94,
          "column": 0
        },
        "end": {
          "line": 94,
          "column": 1
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Singleton reference to the Engine Manager.\n ",
      "start": 2668,
      "end": 2721,
      "loc": {
        "start": {
          "line": 96,
          "column": 0
        },
        "end": {
          "line": 98,
          "column": 3
        }
      }
    },
    {
      "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": 2722,
      "end": 2727,
      "loc": {
        "start": {
          "line": 99,
          "column": 0
        },
        "end": {
          "line": 99,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EngineManager",
      "start": 2728,
      "end": 2741,
      "loc": {
        "start": {
          "line": 99,
          "column": 6
        },
        "end": {
          "line": 99,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2742,
      "end": 2743,
      "loc": {
        "start": {
          "line": 99,
          "column": 20
        },
        "end": {
          "line": 99,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2744,
      "end": 2747,
      "loc": {
        "start": {
          "line": 99,
          "column": 22
        },
        "end": {
          "line": 99,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_EngineManager",
      "start": 2748,
      "end": 2762,
      "loc": {
        "start": {
          "line": 99,
          "column": 26
        },
        "end": {
          "line": 99,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2762,
      "end": 2763,
      "loc": {
        "start": {
          "line": 99,
          "column": 40
        },
        "end": {
          "line": 99,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2763,
      "end": 2764,
      "loc": {
        "start": {
          "line": 99,
          "column": 41
        },
        "end": {
          "line": 99,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2764,
      "end": 2765,
      "loc": {
        "start": {
          "line": 99,
          "column": 42
        },
        "end": {
          "line": 99,
          "column": 43
        }
      }
    },
    {
      "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": 2766,
      "end": 2772,
      "loc": {
        "start": {
          "line": 100,
          "column": 0
        },
        "end": {
          "line": 100,
          "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": 2773,
      "end": 2780,
      "loc": {
        "start": {
          "line": 100,
          "column": 7
        },
        "end": {
          "line": 100,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EngineManager",
      "start": 2781,
      "end": 2794,
      "loc": {
        "start": {
          "line": 100,
          "column": 15
        },
        "end": {
          "line": 100,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2794,
      "end": 2795,
      "loc": {
        "start": {
          "line": 100,
          "column": 28
        },
        "end": {
          "line": 100,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2795,
      "end": 2795,
      "loc": {
        "start": {
          "line": 100,
          "column": 29
        },
        "end": {
          "line": 100,
          "column": 29
        }
      }
    }
  ]
}