{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "AsyncAction",
            "range": [
              9,
              20
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 20
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "AsyncAction",
            "range": [
              9,
              20
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 20
              }
            }
          },
          "range": [
            9,
            20
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 20
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./AsyncAction",
        "raw": "'./AsyncAction'",
        "range": [
          28,
          43
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 28
          },
          "end": {
            "line": 1,
            "column": 43
          }
        }
      },
      "range": [
        0,
        44
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 44
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "AnimationFrame",
            "range": [
              54,
              68
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 23
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "AnimationFrame",
            "range": [
              54,
              68
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 23
              }
            }
          },
          "range": [
            54,
            68
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 23
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/AnimationFrame",
        "raw": "'../util/AnimationFrame'",
        "range": [
          76,
          100
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 31
          },
          "end": {
            "line": 2,
            "column": 55
          }
        }
      },
      "range": [
        45,
        101
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 56
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            102,
            193
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 7,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "AnimationFrameAction",
              "range": [
                205,
                225
              ],
              "loc": {
                "start": {
                  "line": 8,
                  "column": 11
                },
                "end": {
                  "line": 8,
                  "column": 31
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "_super",
                    "range": [
                      239,
                      245
                    ],
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 45
                      },
                      "end": {
                        "line": 8,
                        "column": 51
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "__extends",
                          "range": [
                            253,
                            262
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 4
                            },
                            "end": {
                              "line": 9,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "AnimationFrameAction",
                            "range": [
                              263,
                              283
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 14
                              },
                              "end": {
                                "line": 9,
                                "column": 34
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "_super",
                            "range": [
                              285,
                              291
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 36
                              },
                              "end": {
                                "line": 9,
                                "column": 42
                              }
                            }
                          }
                        ],
                        "range": [
                          253,
                          292
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 4
                          },
                          "end": {
                            "line": 9,
                            "column": 43
                          }
                        }
                      },
                      "range": [
                        253,
                        293
                      ],
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 4
                        },
                        "end": {
                          "line": 9,
                          "column": 44
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "AnimationFrameAction",
                        "range": [
                          307,
                          327
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 13
                          },
                          "end": {
                            "line": 10,
                            "column": 33
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "scheduler",
                          "range": [
                            328,
                            337
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 34
                            },
                            "end": {
                              "line": 10,
                              "column": 43
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "work",
                          "range": [
                            339,
                            343
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 45
                            },
                            "end": {
                              "line": 10,
                              "column": 49
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "_super",
                                  "range": [
                                    355,
                                    361
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "call",
                                  "range": [
                                    362,
                                    366
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  355,
                                  366
                                ],
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 19
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    367,
                                    371
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 24
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "scheduler",
                                  "range": [
                                    373,
                                    382
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 35
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "work",
                                  "range": [
                                    384,
                                    388
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 41
                                    }
                                  }
                                }
                              ],
                              "range": [
                                355,
                                389
                              ],
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 8
                                },
                                "end": {
                                  "line": 11,
                                  "column": 42
                                }
                              }
                            },
                            "range": [
                              355,
                              390
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 8
                              },
                              "end": {
                                "line": 11,
                                "column": 43
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    399,
                                    403
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 12,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 12,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "scheduler",
                                  "range": [
                                    404,
                                    413
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 12,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 12,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  399,
                                  413
                                ],
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 22
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "scheduler",
                                "range": [
                                  416,
                                  425
                                ],
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                399,
                                425
                              ],
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 8
                                },
                                "end": {
                                  "line": 12,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              399,
                              426
                            ],
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 8
                              },
                              "end": {
                                "line": 12,
                                "column": 35
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    435,
                                    439
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "work",
                                  "range": [
                                    440,
                                    444
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 17
                                    }
                                  }
                                },
                                "range": [
                                  435,
                                  444
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 17
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "work",
                                "range": [
                                  447,
                                  451
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                435,
                                451
                              ],
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 8
                                },
                                "end": {
                                  "line": 13,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              435,
                              452
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 25
                              }
                            }
                          }
                        ],
                        "range": [
                          345,
                          458
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 51
                          },
                          "end": {
                            "line": 14,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        298,
                        458
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 4
                        },
                        "end": {
                          "line": 14,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "AnimationFrameAction",
                              "range": [
                                463,
                                483
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 4
                                },
                                "end": {
                                  "line": 15,
                                  "column": 24
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                484,
                                493
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 25
                                },
                                "end": {
                                  "line": 15,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              463,
                              493
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 4
                              },
                              "end": {
                                "line": 15,
                                "column": 34
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "requestAsyncId",
                            "range": [
                              494,
                              508
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 35
                              },
                              "end": {
                                "line": 15,
                                "column": 49
                              }
                            }
                          },
                          "range": [
                            463,
                            508
                          ],
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 4
                            },
                            "end": {
                              "line": 15,
                              "column": 49
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                521,
                                530
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 62
                                },
                                "end": {
                                  "line": 15,
                                  "column": 71
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "id",
                              "range": [
                                532,
                                534
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 73
                                },
                                "end": {
                                  "line": 15,
                                  "column": 75
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "delay",
                              "range": [
                                536,
                                541
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 77
                                },
                                "end": {
                                  "line": 15,
                                  "column": 82
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "BinaryExpression",
                                  "operator": "===",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "delay",
                                    "range": [
                                      557,
                                      562
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 16,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 16,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "UnaryExpression",
                                    "operator": "void",
                                    "argument": {
                                      "type": "Literal",
                                      "value": 0,
                                      "raw": "0",
                                      "range": [
                                        572,
                                        573
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 16,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 16,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "prefix": true,
                                    "range": [
                                      567,
                                      573
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 16,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 16,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "range": [
                                    557,
                                    573
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 28
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "delay",
                                          "range": [
                                            577,
                                            582
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 16,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 16,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "value": 0,
                                          "raw": "0",
                                          "range": [
                                            585,
                                            586
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 16,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 16,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "range": [
                                          577,
                                          586
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 16,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 16,
                                            "column": 41
                                          }
                                        }
                                      },
                                      "range": [
                                        577,
                                        587
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 16,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 16,
                                          "column": 42
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    575,
                                    589
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 44
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  553,
                                  589
                                ],
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 44
                                  }
                                },
                                "trailingComments": [
                                  {
                                    "type": "Line",
                                    "value": " If delay is greater than 0, request as an async action.",
                                    "range": [
                                      598,
                                      656
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 66
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "&&",
                                  "left": {
                                    "type": "BinaryExpression",
                                    "operator": "!==",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "delay",
                                      "range": [
                                        669,
                                        674
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 18,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 18,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": null,
                                      "raw": "null",
                                      "range": [
                                        679,
                                        683
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 18,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 18,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "range": [
                                      669,
                                      683
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 18,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 18,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "BinaryExpression",
                                    "operator": ">",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "delay",
                                      "range": [
                                        687,
                                        692
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 18,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 18,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": 0,
                                      "raw": "0",
                                      "range": [
                                        695,
                                        696
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 18,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 18,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "range": [
                                      687,
                                      696
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 18,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 18,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "range": [
                                    669,
                                    696
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 39
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "_super",
                                                "range": [
                                                  719,
                                                  725
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 19,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 19,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "prototype",
                                                "range": [
                                                  726,
                                                  735
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 19,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 19,
                                                    "column": 35
                                                  }
                                                }
                                              },
                                              "range": [
                                                719,
                                                735
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 19,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 19,
                                                  "column": 35
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "requestAsyncId",
                                              "range": [
                                                736,
                                                750
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 19,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 19,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            "range": [
                                              719,
                                              750
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 50
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "call",
                                            "range": [
                                              751,
                                              755
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 55
                                              }
                                            }
                                          },
                                          "range": [
                                            719,
                                            755
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 55
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "range": [
                                              756,
                                              760
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 60
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "scheduler",
                                            "range": [
                                              762,
                                              771
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 71
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "id",
                                            "range": [
                                              773,
                                              775
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 73
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 75
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "delay",
                                            "range": [
                                              777,
                                              782
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 77
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 82
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          719,
                                          783
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 83
                                          }
                                        }
                                      },
                                      "range": [
                                        712,
                                        784
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 84
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    698,
                                    794
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  665,
                                  794
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 9
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "Line",
                                    "value": " If delay is greater than 0, request as an async action.",
                                    "range": [
                                      598,
                                      656
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 66
                                      }
                                    }
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "Line",
                                    "value": " Push the action to the end of the scheduler queue.",
                                    "range": [
                                      803,
                                      856
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 61
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "scheduler",
                                        "range": [
                                          865,
                                          874
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 17
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "actions",
                                        "range": [
                                          875,
                                          882
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 25
                                          }
                                        }
                                      },
                                      "range": [
                                        865,
                                        882
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "push",
                                      "range": [
                                        883,
                                        887
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      865,
                                      887
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 22,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 22,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "ThisExpression",
                                      "range": [
                                        888,
                                        892
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 35
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    865,
                                    893
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 22,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 22,
                                      "column": 36
                                    }
                                  }
                                },
                                "range": [
                                  865,
                                  894
                                ],
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 37
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "Line",
                                    "value": " Push the action to the end of the scheduler queue.",
                                    "range": [
                                      803,
                                      856
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 61
                                      }
                                    }
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "Line",
                                    "value": " If an animation frame has already been requested, don't request another",
                                    "range": [
                                      903,
                                      977
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 82
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " one. If an animation frame hasn't been requested yet, request one. Return",
                                    "range": [
                                      986,
                                      1062
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 24,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 24,
                                        "column": 84
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " the current animation frame request id.",
                                    "range": [
                                      1071,
                                      1113
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 25,
                                        "column": 50
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "LogicalExpression",
                                  "operator": "||",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "scheduler",
                                      "range": [
                                        1129,
                                        1138
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "scheduled",
                                      "range": [
                                        1139,
                                        1148
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      1129,
                                      1148
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 26,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 26,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "scheduler",
                                        "range": [
                                          1153,
                                          1162
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 26,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 26,
                                            "column": 48
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "scheduled",
                                        "range": [
                                          1163,
                                          1172
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 26,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 26,
                                            "column": 58
                                          }
                                        }
                                      },
                                      "range": [
                                        1153,
                                        1172
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "AnimationFrame",
                                          "range": [
                                            1175,
                                            1189
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 26,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 26,
                                              "column": 75
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "requestAnimationFrame",
                                          "range": [
                                            1190,
                                            1211
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 26,
                                              "column": 76
                                            },
                                            "end": {
                                              "line": 26,
                                              "column": 97
                                            }
                                          }
                                        },
                                        "range": [
                                          1175,
                                          1211
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 26,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 26,
                                            "column": 97
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "scheduler",
                                                "range": [
                                                  1212,
                                                  1221
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 26,
                                                    "column": 98
                                                  },
                                                  "end": {
                                                    "line": 26,
                                                    "column": 107
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "flush",
                                                "range": [
                                                  1222,
                                                  1227
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 26,
                                                    "column": 108
                                                  },
                                                  "end": {
                                                    "line": 26,
                                                    "column": 113
                                                  }
                                                }
                                              },
                                              "range": [
                                                1212,
                                                1227
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 98
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 113
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "bind",
                                              "range": [
                                                1228,
                                                1232
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 114
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 118
                                                }
                                              }
                                            },
                                            "range": [
                                              1212,
                                              1232
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 26,
                                                "column": 98
                                              },
                                              "end": {
                                                "line": 26,
                                                "column": 118
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "scheduler",
                                              "range": [
                                                1233,
                                                1242
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 119
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 128
                                                }
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "value": null,
                                              "raw": "null",
                                              "range": [
                                                1244,
                                                1248
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 130
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 134
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            1212,
                                            1249
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 26,
                                              "column": 98
                                            },
                                            "end": {
                                              "line": 26,
                                              "column": 135
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1175,
                                        1250
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 136
                                        }
                                      }
                                    },
                                    "range": [
                                      1153,
                                      1250
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 26,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 26,
                                        "column": 136
                                      }
                                    }
                                  },
                                  "range": [
                                    1129,
                                    1251
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 137
                                    }
                                  }
                                },
                                "range": [
                                  1122,
                                  1252
                                ],
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 138
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "Line",
                                    "value": " If an animation frame has already been requested, don't request another",
                                    "range": [
                                      903,
                                      977
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 82
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " one. If an animation frame hasn't been requested yet, request one. Return",
                                    "range": [
                                      986,
                                      1062
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 24,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 24,
                                        "column": 84
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " the current animation frame request id.",
                                    "range": [
                                      1071,
                                      1113
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 25,
                                        "column": 50
                                      }
                                    }
                                  }
                                ]
                              }
                            ],
                            "range": [
                              543,
                              1258
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 84
                              },
                              "end": {
                                "line": 27,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            511,
                            1258
                          ],
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 52
                            },
                            "end": {
                              "line": 27,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          463,
                          1258
                        ],
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 4
                          },
                          "end": {
                            "line": 27,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        463,
                        1259
                      ],
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 4
                        },
                        "end": {
                          "line": 27,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "AnimationFrameAction",
                              "range": [
                                1264,
                                1284
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 4
                                },
                                "end": {
                                  "line": 28,
                                  "column": 24
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1285,
                                1294
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 25
                                },
                                "end": {
                                  "line": 28,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1264,
                              1294
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 4
                              },
                              "end": {
                                "line": 28,
                                "column": 34
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "recycleAsyncId",
                            "range": [
                              1295,
                              1309
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 35
                              },
                              "end": {
                                "line": 28,
                                "column": 49
                              }
                            }
                          },
                          "range": [
                            1264,
                            1309
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 4
                            },
                            "end": {
                              "line": 28,
                              "column": 49
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                1322,
                                1331
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 62
                                },
                                "end": {
                                  "line": 28,
                                  "column": 71
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "id",
                              "range": [
                                1333,
                                1335
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 73
                                },
                                "end": {
                                  "line": 28,
                                  "column": 75
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "delay",
                              "range": [
                                1337,
                                1342
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 77
                                },
                                "end": {
                                  "line": 28,
                                  "column": 82
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "BinaryExpression",
                                  "operator": "===",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "delay",
                                    "range": [
                                      1358,
                                      1363
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "UnaryExpression",
                                    "operator": "void",
                                    "argument": {
                                      "type": "Literal",
                                      "value": 0,
                                      "raw": "0",
                                      "range": [
                                        1373,
                                        1374
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "prefix": true,
                                    "range": [
                                      1368,
                                      1374
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "range": [
                                    1358,
                                    1374
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 28
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "delay",
                                          "range": [
                                            1378,
                                            1383
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 29,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 29,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "value": 0,
                                          "raw": "0",
                                          "range": [
                                            1386,
                                            1387
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 29,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 29,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "range": [
                                          1378,
                                          1387
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 29,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 29,
                                            "column": 41
                                          }
                                        }
                                      },
                                      "range": [
                                        1378,
                                        1388
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 42
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1376,
                                    1390
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 44
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1354,
                                  1390
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 44
                                  }
                                },
                                "trailingComments": [
                                  {
                                    "type": "Line",
                                    "value": " If delay exists and is greater than 0, or if the delay is null (the",
                                    "range": [
                                      1399,
                                      1469
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 78
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " action wasn't rescheduled) but was originally scheduled as an async",
                                    "range": [
                                      1478,
                                      1548
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 78
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " action, then recycle as an async action.",
                                    "range": [
                                      1557,
                                      1600
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 51
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "||",
                                  "left": {
                                    "type": "LogicalExpression",
                                    "operator": "&&",
                                    "left": {
                                      "type": "BinaryExpression",
                                      "operator": "!==",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "delay",
                                        "range": [
                                          1614,
                                          1619
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": null,
                                        "raw": "null",
                                        "range": [
                                          1624,
                                          1628
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "range": [
                                        1614,
                                        1628
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "operator": ">",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "delay",
                                        "range": [
                                          1632,
                                          1637
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": 0,
                                        "raw": "0",
                                        "range": [
                                          1640,
                                          1641
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "range": [
                                        1632,
                                        1641
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "range": [
                                      1614,
                                      1641
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "LogicalExpression",
                                    "operator": "&&",
                                    "left": {
                                      "type": "BinaryExpression",
                                      "operator": "===",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "delay",
                                        "range": [
                                          1647,
                                          1652
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 51
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": null,
                                        "raw": "null",
                                        "range": [
                                          1657,
                                          1661
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 60
                                          }
                                        }
                                      },
                                      "range": [
                                        1647,
                                        1661
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 60
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "operator": ">",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1665,
                                            1669
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 33,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 33,
                                              "column": 68
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "delay",
                                          "range": [
                                            1670,
                                            1675
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 33,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 33,
                                              "column": 74
                                            }
                                          }
                                        },
                                        "range": [
                                          1665,
                                          1675
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 74
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": 0,
                                        "raw": "0",
                                        "range": [
                                          1678,
                                          1679
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 77
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 78
                                          }
                                        }
                                      },
                                      "range": [
                                        1665,
                                        1679
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 78
                                        }
                                      }
                                    },
                                    "range": [
                                      1647,
                                      1679
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 78
                                      }
                                    }
                                  },
                                  "range": [
                                    1613,
                                    1680
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 79
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "_super",
                                                "range": [
                                                  1703,
                                                  1709
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 34,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 34,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "prototype",
                                                "range": [
                                                  1710,
                                                  1719
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 34,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 34,
                                                    "column": 35
                                                  }
                                                }
                                              },
                                              "range": [
                                                1703,
                                                1719
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 34,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 34,
                                                  "column": 35
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "recycleAsyncId",
                                              "range": [
                                                1720,
                                                1734
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 34,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 34,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            "range": [
                                              1703,
                                              1734
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 34,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 34,
                                                "column": 50
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "call",
                                            "range": [
                                              1735,
                                              1739
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 34,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 34,
                                                "column": 55
                                              }
                                            }
                                          },
                                          "range": [
                                            1703,
                                            1739
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 34,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 34,
                                              "column": 55
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "range": [
                                              1740,
                                              1744
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 34,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 34,
                                                "column": 60
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "scheduler",
                                            "range": [
                                              1746,
                                              1755
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 34,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 34,
                                                "column": 71
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "id",
                                            "range": [
                                              1757,
                                              1759
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 34,
                                                "column": 73
                                              },
                                              "end": {
                                                "line": 34,
                                                "column": 75
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "delay",
                                            "range": [
                                              1761,
                                              1766
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 34,
                                                "column": 77
                                              },
                                              "end": {
                                                "line": 34,
                                                "column": 82
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1703,
                                          1767
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 34,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 34,
                                            "column": 83
                                          }
                                        }
                                      },
                                      "range": [
                                        1696,
                                        1768
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 34,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 34,
                                          "column": 84
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1682,
                                    1778
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1609,
                                  1778
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 9
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "Line",
                                    "value": " If delay exists and is greater than 0, or if the delay is null (the",
                                    "range": [
                                      1399,
                                      1469
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 78
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " action wasn't rescheduled) but was originally scheduled as an async",
                                    "range": [
                                      1478,
                                      1548
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 78
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " action, then recycle as an async action.",
                                    "range": [
                                      1557,
                                      1600
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 51
                                      }
                                    }
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "Line",
                                    "value": " If the scheduler queue is empty, cancel the requested animation frame and",
                                    "range": [
                                      1787,
                                      1863
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 84
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " set the scheduled flag to undefined so the next AnimationFrameAction will",
                                    "range": [
                                      1872,
                                      1948
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 84
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " request its own.",
                                    "range": [
                                      1957,
                                      1976
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 27
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "BinaryExpression",
                                  "operator": "===",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "scheduler",
                                        "range": [
                                          1989,
                                          1998
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 21
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "actions",
                                        "range": [
                                          1999,
                                          2006
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "range": [
                                        1989,
                                        2006
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "length",
                                      "range": [
                                        2007,
                                        2013
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      1989,
                                      2013
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": 0,
                                    "raw": "0",
                                    "range": [
                                      2018,
                                      2019
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "range": [
                                    1989,
                                    2019
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 42
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "AnimationFrame",
                                            "range": [
                                              2035,
                                              2049
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 40,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 40,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "cancelAnimationFrame",
                                            "range": [
                                              2050,
                                              2070
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 40,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 40,
                                                "column": 47
                                              }
                                            }
                                          },
                                          "range": [
                                            2035,
                                            2070
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 40,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 40,
                                              "column": 47
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "id",
                                            "range": [
                                              2071,
                                              2073
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 40,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 40,
                                                "column": 50
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2035,
                                          2074
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 40,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 40,
                                            "column": 51
                                          }
                                        }
                                      },
                                      "range": [
                                        2035,
                                        2075
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 52
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "scheduler",
                                            "range": [
                                              2088,
                                              2097
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 41,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 41,
                                                "column": 21
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "scheduled",
                                            "range": [
                                              2098,
                                              2107
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 41,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 41,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            2088,
                                            2107
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 41,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 41,
                                              "column": 31
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "undefined",
                                          "range": [
                                            2110,
                                            2119
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 41,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 41,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          2088,
                                          2119
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 41,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 41,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "range": [
                                        2088,
                                        2120
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 41,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 41,
                                          "column": 44
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2021,
                                    2130
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1985,
                                  2130
                                ],
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 9
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "Line",
                                    "value": " If the scheduler queue is empty, cancel the requested animation frame and",
                                    "range": [
                                      1787,
                                      1863
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 84
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " set the scheduled flag to undefined so the next AnimationFrameAction will",
                                    "range": [
                                      1872,
                                      1948
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 84
                                      }
                                    }
                                  },
                                  {
                                    "type": "Line",
                                    "value": " request its own.",
                                    "range": [
                                      1957,
                                      1976
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 27
                                      }
                                    }
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "Line",
                                    "value": " Return undefined so the action knows to request a new async id if it's rescheduled.",
                                    "range": [
                                      2139,
                                      2225
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 94
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "undefined",
                                  "range": [
                                    2241,
                                    2250
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 24
                                    }
                                  }
                                },
                                "range": [
                                  2234,
                                  2251
                                ],
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 25
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "Line",
                                    "value": " Return undefined so the action knows to request a new async id if it's rescheduled.",
                                    "range": [
                                      2139,
                                      2225
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 94
                                      }
                                    }
                                  }
                                ]
                              }
                            ],
                            "range": [
                              1344,
                              2257
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 84
                              },
                              "end": {
                                "line": 45,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1312,
                            2257
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 52
                            },
                            "end": {
                              "line": 45,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1264,
                          2257
                        ],
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 4
                          },
                          "end": {
                            "line": 45,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1264,
                        2258
                      ],
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 4
                        },
                        "end": {
                          "line": 45,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "AnimationFrameAction",
                        "range": [
                          2270,
                          2290
                        ],
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 11
                          },
                          "end": {
                            "line": 46,
                            "column": 31
                          }
                        }
                      },
                      "range": [
                        2263,
                        2291
                      ],
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 4
                        },
                        "end": {
                          "line": 46,
                          "column": 32
                        }
                      }
                    }
                  ],
                  "range": [
                    247,
                    2293
                  ],
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 53
                    },
                    "end": {
                      "line": 47,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  229,
                  2293
                ],
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 35
                  },
                  "end": {
                    "line": 47,
                    "column": 1
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "AsyncAction",
                  "range": [
                    2294,
                    2305
                  ],
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 2
                    },
                    "end": {
                      "line": 47,
                      "column": 13
                    }
                  }
                }
              ],
              "range": [
                229,
                2306
              ],
              "loc": {
                "start": {
                  "line": 8,
                  "column": 35
                },
                "end": {
                  "line": 47,
                  "column": 14
                }
              }
            },
            "range": [
              205,
              2307
            ],
            "loc": {
              "start": {
                "line": 8,
                "column": 11
              },
              "end": {
                "line": 47,
                "column": 15
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          201,
          2308
        ],
        "loc": {
          "start": {
            "line": 8,
            "column": 7
          },
          "end": {
            "line": 47,
            "column": 16
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
            "range": [
              102,
              193
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 7,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Line",
            "value": "# sourceMappingURL=AnimationFrameAction.js.map",
            "range": [
              2309,
              2357
            ],
            "loc": {
              "start": {
                "line": 48,
                "column": 0
              },
              "end": {
                "line": 48,
                "column": 48
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        194,
        2308
      ],
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 47,
          "column": 16
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            102,
            193
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 7,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=AnimationFrameAction.js.map",
          "range": [
            2309,
            2357
          ],
          "loc": {
            "start": {
              "line": 48,
              "column": 0
            },
            "end": {
              "line": 48,
              "column": 48
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    2308
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 47,
      "column": 16
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        102,
        193
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": " If delay is greater than 0, request as an async action.",
      "range": [
        598,
        656
      ],
      "loc": {
        "start": {
          "line": 17,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 66
        }
      }
    },
    {
      "type": "Line",
      "value": " Push the action to the end of the scheduler queue.",
      "range": [
        803,
        856
      ],
      "loc": {
        "start": {
          "line": 21,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 61
        }
      }
    },
    {
      "type": "Line",
      "value": " If an animation frame has already been requested, don't request another",
      "range": [
        903,
        977
      ],
      "loc": {
        "start": {
          "line": 23,
          "column": 8
        },
        "end": {
          "line": 23,
          "column": 82
        }
      }
    },
    {
      "type": "Line",
      "value": " one. If an animation frame hasn't been requested yet, request one. Return",
      "range": [
        986,
        1062
      ],
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 84
        }
      }
    },
    {
      "type": "Line",
      "value": " the current animation frame request id.",
      "range": [
        1071,
        1113
      ],
      "loc": {
        "start": {
          "line": 25,
          "column": 8
        },
        "end": {
          "line": 25,
          "column": 50
        }
      }
    },
    {
      "type": "Line",
      "value": " If delay exists and is greater than 0, or if the delay is null (the",
      "range": [
        1399,
        1469
      ],
      "loc": {
        "start": {
          "line": 30,
          "column": 8
        },
        "end": {
          "line": 30,
          "column": 78
        }
      }
    },
    {
      "type": "Line",
      "value": " action wasn't rescheduled) but was originally scheduled as an async",
      "range": [
        1478,
        1548
      ],
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 31,
          "column": 78
        }
      }
    },
    {
      "type": "Line",
      "value": " action, then recycle as an async action.",
      "range": [
        1557,
        1600
      ],
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 51
        }
      }
    },
    {
      "type": "Line",
      "value": " If the scheduler queue is empty, cancel the requested animation frame and",
      "range": [
        1787,
        1863
      ],
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 84
        }
      }
    },
    {
      "type": "Line",
      "value": " set the scheduled flag to undefined so the next AnimationFrameAction will",
      "range": [
        1872,
        1948
      ],
      "loc": {
        "start": {
          "line": 37,
          "column": 8
        },
        "end": {
          "line": 37,
          "column": 84
        }
      }
    },
    {
      "type": "Line",
      "value": " request its own.",
      "range": [
        1957,
        1976
      ],
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 27
        }
      }
    },
    {
      "type": "Line",
      "value": " Return undefined so the action knows to request a new async id if it's rescheduled.",
      "range": [
        2139,
        2225
      ],
      "loc": {
        "start": {
          "line": 43,
          "column": 8
        },
        "end": {
          "line": 43,
          "column": 94
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=AnimationFrameAction.js.map",
      "range": [
        2309,
        2357
      ],
      "loc": {
        "start": {
          "line": 48,
          "column": 0
        },
        "end": {
          "line": 48,
          "column": 48
        }
      }
    }
  ]
}