{
  "type": "File",
  "start": 0,
  "end": 15932,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 426,
      "column": 1
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 15932,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 426,
        "column": 1
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 2394,
        "end": 2444,
        "loc": {
          "start": {
            "line": 38,
            "column": 0
          },
          "end": {
            "line": 38,
            "column": 50
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 2401,
            "end": 2417,
            "loc": {
              "start": {
                "line": 38,
                "column": 7
              },
              "end": {
                "line": 38,
                "column": 23
              }
            },
            "local": {
              "type": "Identifier",
              "start": 2401,
              "end": 2417,
              "loc": {
                "start": {
                  "line": 38,
                  "column": 7
                },
                "end": {
                  "line": 38,
                  "column": 23
                },
                "identifierName": "IEventDispatcher"
              },
              "name": "IEventDispatcher",
              "leadingComments": null
            },
            "leadingComments": null
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 2423,
          "end": 2443,
          "loc": {
            "start": {
              "line": 38,
              "column": 29
            },
            "end": {
              "line": 38,
              "column": 49
            }
          },
          "extra": {
            "rawValue": "./IEventDispatcher",
            "raw": "\"./IEventDispatcher\""
          },
          "value": "./IEventDispatcher"
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": "/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
            "start": 0,
            "end": 78,
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 1,
                "column": 78
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ @Copyright ~2018 ☜Samlv9☞ and other contributors",
            "start": 79,
            "end": 131,
            "loc": {
              "start": {
                "line": 2,
                "column": 0
              },
              "end": {
                "line": 2,
                "column": 52
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ @MIT-LICENSE | 1.0.0 | https://api.guless.com/",
            "start": 132,
            "end": 182,
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 50
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
            "start": 183,
            "end": 261,
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 4,
                "column": 78
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/                                              }|",
            "start": 262,
            "end": 313,
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 51
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/                                              }|",
            "start": 314,
            "end": 365,
            "loc": {
              "start": {
                "line": 6,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 51
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/                                              }|     　 へ　　　 ／|    ",
            "start": 366,
            "end": 435,
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 7,
                "column": 69
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/      _______     _______         ______      }|      /　│　　 ／ ／",
            "start": 436,
            "end": 502,
            "loc": {
              "start": {
                "line": 8,
                "column": 0
              },
              "end": {
                "line": 8,
                "column": 66
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/     /  ___  |   |_   __ \\      .' ____ '.    }|     │　Z ＿,＜　／　　 /`ヽ",
            "start": 503,
            "end": 574,
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 71
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/    |  (__ \\_|     | |__) |     | (____) |    }|     │　　　　　ヽ　　 /　　〉",
            "start": 575,
            "end": 645,
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 70
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/     '.___`-.      |  __ /      '_.____. |    }|      Y　　　　　`　 /　　/",
            "start": 646,
            "end": 716,
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 11,
                "column": 70
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/    |`\\____) |    _| |  \\ \\_    | \\____| |    }|    ｲ●　､　●　　⊂⊃〈　　/",
            "start": 717,
            "end": 786,
            "loc": {
              "start": {
                "line": 12,
                "column": 0
              },
              "end": {
                "line": 12,
                "column": 69
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/    |_______.'   |____| |___|    \\______,'    }|    ()　 v　　　　|　＼〈",
            "start": 787,
            "end": 855,
            "loc": {
              "start": {
                "line": 13,
                "column": 0
              },
              "end": {
                "line": 13,
                "column": 68
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/    |=========================================\\|    　>ｰ ､_　 ィ　 │ ／／",
            "start": 856,
            "end": 926,
            "loc": {
              "start": {
                "line": 14,
                "column": 0
              },
              "end": {
                "line": 14,
                "column": 70
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/    |> LESS IS MORE                           ||     / へ　　 /　ﾉ＜|＼＼",
            "start": 927,
            "end": 996,
            "loc": {
              "start": {
                "line": 15,
                "column": 0
              },
              "end": {
                "line": 15,
                "column": 69
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/    `=========================================/|    ヽ_ﾉ　　(_／　 │／／",
            "start": 997,
            "end": 1065,
            "loc": {
              "start": {
                "line": 16,
                "column": 0
              },
              "end": {
                "line": 16,
                "column": 68
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/                                              }|     7　　　　　　  |／",
            "start": 1066,
            "end": 1133,
            "loc": {
              "start": {
                "line": 17,
                "column": 0
              },
              "end": {
                "line": 17,
                "column": 67
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/                                              }|     ＞―r￣￣`ｰ―＿`",
            "start": 1134,
            "end": 1200,
            "loc": {
              "start": {
                "line": 18,
                "column": 0
              },
              "end": {
                "line": 18,
                "column": 66
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/                                              }|",
            "start": 1201,
            "end": 1252,
            "loc": {
              "start": {
                "line": 19,
                "column": 0
              },
              "end": {
                "line": 19,
                "column": 51
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/                                              }|",
            "start": 1253,
            "end": 1304,
            "loc": {
              "start": {
                "line": 20,
                "column": 0
              },
              "end": {
                "line": 20,
                "column": 51
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ Permission is hereby granted, free of charge, to any person obtaining a copy",
            "start": 1305,
            "end": 1385,
            "loc": {
              "start": {
                "line": 21,
                "column": 0
              },
              "end": {
                "line": 21,
                "column": 80
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ of this software and associated documentation files (the \"Software\"), to deal",
            "start": 1386,
            "end": 1467,
            "loc": {
              "start": {
                "line": 22,
                "column": 0
              },
              "end": {
                "line": 22,
                "column": 81
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ in the Software without restriction, including without limitation the rights",
            "start": 1468,
            "end": 1548,
            "loc": {
              "start": {
                "line": 23,
                "column": 0
              },
              "end": {
                "line": 23,
                "column": 80
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
            "start": 1549,
            "end": 1626,
            "loc": {
              "start": {
                "line": 24,
                "column": 0
              },
              "end": {
                "line": 24,
                "column": 77
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ copies of the Software, and to permit persons to whom the Software is",
            "start": 1627,
            "end": 1700,
            "loc": {
              "start": {
                "line": 25,
                "column": 0
              },
              "end": {
                "line": 25,
                "column": 73
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ furnished to do so, subject to the following conditions:",
            "start": 1701,
            "end": 1761,
            "loc": {
              "start": {
                "line": 26,
                "column": 0
              },
              "end": {
                "line": 26,
                "column": 60
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/",
            "start": 1762,
            "end": 1765,
            "loc": {
              "start": {
                "line": 27,
                "column": 0
              },
              "end": {
                "line": 27,
                "column": 3
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ The above copyright notice and this permission notice shall be included in all",
            "start": 1766,
            "end": 1848,
            "loc": {
              "start": {
                "line": 28,
                "column": 0
              },
              "end": {
                "line": 28,
                "column": 82
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ copies or substantial portions of the Software.",
            "start": 1849,
            "end": 1900,
            "loc": {
              "start": {
                "line": 29,
                "column": 0
              },
              "end": {
                "line": 29,
                "column": 51
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/",
            "start": 1901,
            "end": 1904,
            "loc": {
              "start": {
                "line": 30,
                "column": 0
              },
              "end": {
                "line": 30,
                "column": 3
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
            "start": 1905,
            "end": 1983,
            "loc": {
              "start": {
                "line": 31,
                "column": 0
              },
              "end": {
                "line": 31,
                "column": 78
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
            "start": 1984,
            "end": 2060,
            "loc": {
              "start": {
                "line": 32,
                "column": 0
              },
              "end": {
                "line": 32,
                "column": 76
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
            "start": 2061,
            "end": 2140,
            "loc": {
              "start": {
                "line": 33,
                "column": 0
              },
              "end": {
                "line": 33,
                "column": 79
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
            "start": 2141,
            "end": 2215,
            "loc": {
              "start": {
                "line": 34,
                "column": 0
              },
              "end": {
                "line": 34,
                "column": 74
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
            "start": 2216,
            "end": 2297,
            "loc": {
              "start": {
                "line": 35,
                "column": 0
              },
              "end": {
                "line": 35,
                "column": 81
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN",
            "start": 2298,
            "end": 2375,
            "loc": {
              "start": {
                "line": 36,
                "column": 0
              },
              "end": {
                "line": 36,
                "column": 77
              }
            }
          },
          {
            "type": "CommentLine",
            "value": "/ THE SOFTWARE.",
            "start": 2376,
            "end": 2393,
            "loc": {
              "start": {
                "line": 37,
                "column": 0
              },
              "end": {
                "line": 37,
                "column": 17
              }
            }
          }
        ]
      },
      {
        "type": "ImportDeclaration",
        "start": 2445,
        "end": 2491,
        "loc": {
          "start": {
            "line": 39,
            "column": 0
          },
          "end": {
            "line": 39,
            "column": 46
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 2452,
            "end": 2466,
            "loc": {
              "start": {
                "line": 39,
                "column": 7
              },
              "end": {
                "line": 39,
                "column": 21
              }
            },
            "local": {
              "type": "Identifier",
              "start": 2452,
              "end": 2466,
              "loc": {
                "start": {
                  "line": 39,
                  "column": 7
                },
                "end": {
                  "line": 39,
                  "column": 21
                },
                "identifierName": "IEventListener"
              },
              "name": "IEventListener"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 2472,
          "end": 2490,
          "loc": {
            "start": {
              "line": 39,
              "column": 27
            },
            "end": {
              "line": 39,
              "column": 45
            }
          },
          "extra": {
            "rawValue": "./IEventListener",
            "raw": "\"./IEventListener\""
          },
          "value": "./IEventListener"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 2492,
        "end": 2552,
        "loc": {
          "start": {
            "line": 40,
            "column": 0
          },
          "end": {
            "line": 40,
            "column": 60
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 2499,
            "end": 2520,
            "loc": {
              "start": {
                "line": 40,
                "column": 7
              },
              "end": {
                "line": 40,
                "column": 28
              }
            },
            "local": {
              "type": "Identifier",
              "start": 2499,
              "end": 2520,
              "loc": {
                "start": {
                  "line": 40,
                  "column": 7
                },
                "end": {
                  "line": 40,
                  "column": 28
                },
                "identifierName": "IEventListenerOptions"
              },
              "name": "IEventListenerOptions"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 2526,
          "end": 2551,
          "loc": {
            "start": {
              "line": 40,
              "column": 34
            },
            "end": {
              "line": 40,
              "column": 59
            }
          },
          "extra": {
            "rawValue": "./IEventListenerOptions",
            "raw": "\"./IEventListenerOptions\""
          },
          "value": "./IEventListenerOptions"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 2553,
        "end": 2581,
        "loc": {
          "start": {
            "line": 41,
            "column": 0
          },
          "end": {
            "line": 41,
            "column": 28
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 2560,
            "end": 2565,
            "loc": {
              "start": {
                "line": 41,
                "column": 7
              },
              "end": {
                "line": 41,
                "column": 12
              }
            },
            "local": {
              "type": "Identifier",
              "start": 2560,
              "end": 2565,
              "loc": {
                "start": {
                  "line": 41,
                  "column": 7
                },
                "end": {
                  "line": 41,
                  "column": 12
                },
                "identifierName": "Event"
              },
              "name": "Event"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 2571,
          "end": 2580,
          "loc": {
            "start": {
              "line": 41,
              "column": 18
            },
            "end": {
              "line": 41,
              "column": 27
            }
          },
          "extra": {
            "rawValue": "./Event",
            "raw": "\"./Event\""
          },
          "value": "./Event"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 2582,
        "end": 2620,
        "loc": {
          "start": {
            "line": 42,
            "column": 0
          },
          "end": {
            "line": 42,
            "column": 38
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 2589,
            "end": 2599,
            "loc": {
              "start": {
                "line": 42,
                "column": 7
              },
              "end": {
                "line": 42,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 2589,
              "end": 2599,
              "loc": {
                "start": {
                  "line": 42,
                  "column": 7
                },
                "end": {
                  "line": 42,
                  "column": 17
                },
                "identifierName": "EventPhase"
              },
              "name": "EventPhase"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 2605,
          "end": 2619,
          "loc": {
            "start": {
              "line": 42,
              "column": 23
            },
            "end": {
              "line": 42,
              "column": 37
            }
          },
          "extra": {
            "rawValue": "./EventPhase",
            "raw": "\"./EventPhase\""
          },
          "value": "./EventPhase"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 2621,
        "end": 2665,
        "loc": {
          "start": {
            "line": 43,
            "column": 0
          },
          "end": {
            "line": 43,
            "column": 44
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 2628,
            "end": 2641,
            "loc": {
              "start": {
                "line": 43,
                "column": 7
              },
              "end": {
                "line": 43,
                "column": 20
              }
            },
            "local": {
              "type": "Identifier",
              "start": 2628,
              "end": 2641,
              "loc": {
                "start": {
                  "line": 43,
                  "column": 7
                },
                "end": {
                  "line": 43,
                  "column": 20
                },
                "identifierName": "EventListener"
              },
              "name": "EventListener"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 2647,
          "end": 2664,
          "loc": {
            "start": {
              "line": 43,
              "column": 26
            },
            "end": {
              "line": 43,
              "column": 43
            }
          },
          "extra": {
            "rawValue": "./EventListener",
            "raw": "\"./EventListener\""
          },
          "value": "./EventListener"
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * 定义所有具备事件派发功能对象的基类。\n * @implements {IEventDispatcher}\n * @since 1.0.0\n ",
            "start": 2667,
            "end": 2746,
            "loc": {
              "start": {
                "line": 45,
                "column": 0
              },
              "end": {
                "line": 49,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 2747,
        "end": 15932,
        "loc": {
          "start": {
            "line": 50,
            "column": 0
          },
          "end": {
            "line": 426,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 2762,
          "end": 15932,
          "loc": {
            "start": {
              "line": 50,
              "column": 15
            },
            "end": {
              "line": 426,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 2768,
            "end": 2783,
            "loc": {
              "start": {
                "line": 50,
                "column": 21
              },
              "end": {
                "line": 50,
                "column": 36
              },
              "identifierName": "EventDispatcher"
            },
            "name": "EventDispatcher",
            "leadingComments": null,
            "trailingComments": [
              {
                "type": "CommentBlock",
                "value": "< implements IEventDispatcher >",
                "start": 2784,
                "end": 2819,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 37
                  },
                  "end": {
                    "line": 50,
                    "column": 72
                  }
                }
              }
            ]
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 2820,
            "end": 15932,
            "loc": {
              "start": {
                "line": 50,
                "column": 73
              },
              "end": {
                "line": 426,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 2943,
                "end": 4200,
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 4
                  },
                  "end": {
                    "line": 84,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2943,
                  "end": 2954,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 4
                    },
                    "end": {
                      "line": 56,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 2956,
                    "end": 2969,
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 17
                      },
                      "end": {
                        "line": 56,
                        "column": 30
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2956,
                      "end": 2962,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 17
                        },
                        "end": {
                          "line": 56,
                          "column": 23
                        },
                        "identifierName": "target"
                      },
                      "name": "target"
                    },
                    "right": {
                      "type": "NullLiteral",
                      "start": 2965,
                      "end": 2969,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 26
                        },
                        "end": {
                          "line": 56,
                          "column": 30
                        }
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2972,
                  "end": 4200,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 33
                    },
                    "end": {
                      "line": 84,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3042,
                      "end": 3084,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3042,
                        "end": 3083,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 49
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3042,
                          "end": 3064,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3042,
                            "end": 3046,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 8
                              },
                              "end": {
                                "line": 60,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3047,
                            "end": 3064,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 13
                              },
                              "end": {
                                "line": 60,
                                "column": 30
                              },
                              "identifierName": "_targetDispatcher"
                            },
                            "name": "_targetDispatcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 3068,
                          "end": 3082,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 34
                            },
                            "end": {
                              "line": 60,
                              "column": 48
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 3068,
                            "end": 3074,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 34
                              },
                              "end": {
                                "line": 60,
                                "column": 40
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "operator": "||",
                          "right": {
                            "type": "ThisExpression",
                            "start": 3078,
                            "end": 3082,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 44
                              },
                              "end": {
                                "line": 60,
                                "column": 48
                              }
                            }
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 3067
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {IEventDispatcher}\n         ",
                          "start": 2982,
                          "end": 3033,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type { {[type:String|Symbol]:Array<EventListener>} }\n         ",
                          "start": 3102,
                          "end": 3182,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3191,
                      "end": 3219,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 65,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3191,
                        "end": 3218,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 8
                          },
                          "end": {
                            "line": 65,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3191,
                          "end": 3213,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3191,
                            "end": 3195,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 8
                              },
                              "end": {
                                "line": 65,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3196,
                            "end": 3213,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 13
                              },
                              "end": {
                                "line": 65,
                                "column": 30
                              },
                              "identifierName": "_listenerRegister"
                            },
                            "name": "_listenerRegister"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 3216,
                          "end": 3218,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 33
                            },
                            "end": {
                              "line": 65,
                              "column": 35
                            }
                          },
                          "properties": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type { {[type:String|Symbol]:Array<EventListener>} }\n         ",
                          "start": 3102,
                          "end": 3182,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type { {type:String|Symbol}: Boolean }\n         ",
                          "start": 3237,
                          "end": 3303,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3312,
                      "end": 3339,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3312,
                        "end": 3338,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 8
                          },
                          "end": {
                            "line": 70,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3312,
                          "end": 3333,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3312,
                            "end": 3316,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3317,
                            "end": 3333,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 13
                              },
                              "end": {
                                "line": 70,
                                "column": 29
                              },
                              "identifierName": "_listenerLockers"
                            },
                            "name": "_listenerLockers"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 3336,
                          "end": 3338,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 32
                            },
                            "end": {
                              "line": 70,
                              "column": 34
                            }
                          },
                          "properties": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type { {type:String|Symbol}: Boolean }\n         ",
                          "start": 3237,
                          "end": 3303,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* 事件代理 ",
                          "start": 3357,
                          "end": 3368,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 19
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 3377,
                      "end": 4194,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 83,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3382,
                        "end": 3413,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 13
                          },
                          "end": {
                            "line": 73,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "ThisExpression",
                          "start": 3382,
                          "end": 3386,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 13
                            },
                            "end": {
                              "line": 73,
                              "column": 17
                            }
                          },
                          "leadingComments": null
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 3391,
                          "end": 3413,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 22
                            },
                            "end": {
                              "line": 73,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3391,
                            "end": 3395,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 22
                              },
                              "end": {
                                "line": 73,
                                "column": 26
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3396,
                            "end": 3413,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 27
                              },
                              "end": {
                                "line": 73,
                                "column": 44
                              },
                              "identifierName": "_targetDispatcher"
                            },
                            "name": "_targetDispatcher"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3416,
                        "end": 4194,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 47
                          },
                          "end": {
                            "line": 83,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 3430,
                            "end": 3691,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 12
                              },
                              "end": {
                                "line": 76,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 3435,
                              "end": 3603,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 17
                                },
                                "end": {
                                  "line": 74,
                                  "column": 185
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 3435,
                                "end": 3563,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 145
                                  }
                                },
                                "left": {
                                  "type": "LogicalExpression",
                                  "start": 3435,
                                  "end": 3517,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 99
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 3435,
                                    "end": 3474,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 56
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 3435,
                                      "end": 3457,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 39
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 3435,
                                        "end": 3439,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 21
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3440,
                                        "end": 3457,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 39
                                          },
                                          "identifierName": "_targetDispatcher"
                                        },
                                        "name": "_targetDispatcher"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3458,
                                      "end": 3474,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 56
                                        },
                                        "identifierName": "hasEventListener"
                                      },
                                      "name": "hasEventListener"
                                    },
                                    "computed": false
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 3478,
                                    "end": 3517,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 99
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 3478,
                                      "end": 3500,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 82
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 3478,
                                        "end": 3482,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 64
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3483,
                                        "end": 3500,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 82
                                          },
                                          "identifierName": "_targetDispatcher"
                                        },
                                        "name": "_targetDispatcher"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3501,
                                      "end": 3517,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 83
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 99
                                        },
                                        "identifierName": "addEventListener"
                                      },
                                      "name": "addEventListener"
                                    },
                                    "computed": false
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 3521,
                                  "end": 3563,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 103
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 145
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3521,
                                    "end": 3543,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 103
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 125
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3521,
                                      "end": 3525,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 103
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 107
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3526,
                                      "end": 3543,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 108
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 125
                                        },
                                        "identifierName": "_targetDispatcher"
                                      },
                                      "name": "_targetDispatcher"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3544,
                                    "end": 3563,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 126
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 145
                                      },
                                      "identifierName": "removeEventListener"
                                    },
                                    "name": "removeEventListener"
                                  },
                                  "computed": false
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "MemberExpression",
                                "start": 3567,
                                "end": 3603,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 149
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 185
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 3567,
                                  "end": 3589,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 149
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 171
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3567,
                                    "end": 3571,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 149
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 153
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3572,
                                    "end": 3589,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 154
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 171
                                      },
                                      "identifierName": "_targetDispatcher"
                                    },
                                    "name": "_targetDispatcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3590,
                                  "end": 3603,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 172
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 185
                                    },
                                    "identifierName": "dispatchEvent"
                                  },
                                  "name": "dispatchEvent"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 3606,
                              "end": 3691,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 188
                                },
                                "end": {
                                  "line": 76,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ThrowStatement",
                                  "start": 3624,
                                  "end": 3677,
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 69
                                    }
                                  },
                                  "argument": {
                                    "type": "NewExpression",
                                    "start": 3630,
                                    "end": 3676,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 68
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 3634,
                                      "end": 3643,
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 35
                                        },
                                        "identifierName": "TypeError"
                                      },
                                      "name": "TypeError"
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 3644,
                                        "end": 3675,
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 67
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "无法为目标对象创建代理，因为其自身已经实现了一套事件系统。",
                                          "raw": "\"无法为目标对象创建代理，因为其自身已经实现了一套事件系统。\""
                                        },
                                        "value": "无法为目标对象创建代理，因为其自身已经实现了一套事件系统。"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 3717,
                            "end": 3800,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 12
                              },
                              "end": {
                                "line": 78,
                                "column": 95
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3717,
                              "end": 3799,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 12
                                },
                                "end": {
                                  "line": 78,
                                  "column": 94
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 3717,
                                "end": 3756,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 3717,
                                  "end": 3739,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3717,
                                    "end": 3721,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3722,
                                    "end": 3739,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 34
                                      },
                                      "identifierName": "_targetDispatcher"
                                    },
                                    "name": "_targetDispatcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3740,
                                  "end": 3756,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 51
                                    },
                                    "identifierName": "addEventListener"
                                  },
                                  "name": "addEventListener"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 3763,
                                "end": 3799,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 94
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3763,
                                  "end": 3793,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 88
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3763,
                                    "end": 3784,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 79
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3763,
                                      "end": 3767,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 62
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3768,
                                      "end": 3784,
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 79
                                        },
                                        "identifierName": "addEventListener"
                                      },
                                      "name": "addEventListener"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3789,
                                    "end": 3793,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 84
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 88
                                      },
                                      "identifierName": "bind"
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 3794,
                                    "end": 3798,
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 93
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 3813,
                            "end": 3896,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 12
                              },
                              "end": {
                                "line": 79,
                                "column": 95
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3813,
                              "end": 3895,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 12
                                },
                                "end": {
                                  "line": 79,
                                  "column": 94
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 3813,
                                "end": 3855,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 3813,
                                  "end": 3835,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3813,
                                    "end": 3817,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3818,
                                    "end": 3835,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 34
                                      },
                                      "identifierName": "_targetDispatcher"
                                    },
                                    "name": "_targetDispatcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3836,
                                  "end": 3855,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 54
                                    },
                                    "identifierName": "removeEventListener"
                                  },
                                  "name": "removeEventListener"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 3859,
                                "end": 3895,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 94
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3859,
                                  "end": 3889,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 88
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3859,
                                    "end": 3883,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 82
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3859,
                                      "end": 3863,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 62
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3864,
                                      "end": 3883,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 82
                                        },
                                        "identifierName": "removeEventListener"
                                      },
                                      "name": "removeEventListener"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3885,
                                    "end": 3889,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 84
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 88
                                      },
                                      "identifierName": "bind"
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 3890,
                                    "end": 3894,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 93
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 3909,
                            "end": 3992,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 12
                              },
                              "end": {
                                "line": 80,
                                "column": 95
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3909,
                              "end": 3991,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 12
                                },
                                "end": {
                                  "line": 80,
                                  "column": 94
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 3909,
                                "end": 3948,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 3909,
                                  "end": 3931,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3909,
                                    "end": 3913,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3914,
                                    "end": 3931,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 34
                                      },
                                      "identifierName": "_targetDispatcher"
                                    },
                                    "name": "_targetDispatcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3932,
                                  "end": 3948,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 51
                                    },
                                    "identifierName": "hasEventListener"
                                  },
                                  "name": "hasEventListener"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 3955,
                                "end": 3991,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 94
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3955,
                                  "end": 3985,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 88
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3955,
                                    "end": 3976,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 79
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3955,
                                      "end": 3959,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 62
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3960,
                                      "end": 3976,
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 79
                                        },
                                        "identifierName": "hasEventListener"
                                      },
                                      "name": "hasEventListener"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3981,
                                    "end": 3985,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 84
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 88
                                      },
                                      "identifierName": "bind"
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 3986,
                                    "end": 3990,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 93
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4005,
                            "end": 4088,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 12
                              },
                              "end": {
                                "line": 81,
                                "column": 95
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4005,
                              "end": 4087,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 12
                                },
                                "end": {
                                  "line": 81,
                                  "column": 94
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4005,
                                "end": 4041,
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 48
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4005,
                                  "end": 4027,
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4005,
                                    "end": 4009,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4010,
                                    "end": 4027,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 34
                                      },
                                      "identifierName": "_targetDispatcher"
                                    },
                                    "name": "_targetDispatcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4028,
                                  "end": 4041,
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 48
                                    },
                                    "identifierName": "dispatchEvent"
                                  },
                                  "name": "dispatchEvent"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 4051,
                                "end": 4087,
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 94
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4051,
                                  "end": 4081,
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 88
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4051,
                                    "end": 4069,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 76
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4051,
                                      "end": 4055,
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 62
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4056,
                                      "end": 4069,
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 76
                                        },
                                        "identifierName": "dispatchEvent"
                                      },
                                      "name": "dispatchEvent"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4077,
                                    "end": 4081,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 84
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 88
                                      },
                                      "identifierName": "bind"
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4082,
                                    "end": 4086,
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 93
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 4101,
                            "end": 4184,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 12
                              },
                              "end": {
                                "line": 82,
                                "column": 95
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4101,
                              "end": 4183,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 12
                                },
                                "end": {
                                  "line": 82,
                                  "column": 94
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 4101,
                                "end": 4144,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 4101,
                                  "end": 4123,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4101,
                                    "end": 4105,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4106,
                                    "end": 4123,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 34
                                      },
                                      "identifierName": "_targetDispatcher"
                                    },
                                    "name": "_targetDispatcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4124,
                                  "end": 4144,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 55
                                    },
                                    "identifierName": "_dispatchToListeners"
                                  },
                                  "name": "_dispatchToListeners"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 4147,
                                "end": 4183,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 94
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4147,
                                  "end": 4177,
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 88
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4147,
                                    "end": 4172,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 83
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4147,
                                      "end": 4151,
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 62
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4152,
                                      "end": 4172,
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 83
                                        },
                                        "identifierName": "_dispatchToListeners"
                                      },
                                      "name": "_dispatchToListeners"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4173,
                                    "end": 4177,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 84
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 88
                                      },
                                      "identifierName": "bind"
                                    },
                                    "name": "bind"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "start": 4178,
                                    "end": 4182,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 93
                                      }
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "* 事件代理 ",
                          "start": 3357,
                          "end": 3368,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 19
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 创建一个事件派发器。\n     * @param {IEventDispatcher} [target=null] - 指定派发器的代理目标对象。\n     * @since 1.0.0\n     ",
                    "start": 2826,
                    "end": 2938,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 4
                      },
                      "end": {
                        "line": 55,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 注册一个事件侦听器。\n     * \n     * 如果浏览器支持 {@link Symbol} 类型，则事件类型可以使用 {@link Symbol} 对象，这样可以防止\n     * 你的事件被其他人意外的移除。\n     * \n     * 事件侦听器可以注册到派发事件的任何一个阶段，**捕获阶段**和**冒泡阶段**的侦听器是相互独立的。\n     * 因此使用不同的 `useCapture` 值将注册不同的侦听器。同样移除的时候，也需要指定不同的 `useCapture` 值。 \n     * \n     * 事件处理函数默认的作用域为派发器（`EventDispatcher`）对象或者其代理的对象，通过设置 `options.scope` \n     * 可以为事件处理函数指定作用域。但是如果注册的是一个实现了 {@link IEventListener} 接口的对象，则直接\n     * 调用其 `handleEvent()` 方法处理事件，并且作用域始终指向该 `IEventListener` 对象。\n     * \n     * 通过指定 `options.once` 选项，可以指定侦听器在执行后，是否自动从列表中移除。\n     * \n     * 优先级高（`options.priority`）的侦听器会在派发事件时优先调用。相同优先级的情况会按照注册的先后\n     * 顺序调用侦听器。分别使用不同的优先级注册相同的侦听器时，以最后一次注册的侦听器为准。\n     * \n     * @param {String|Symbol} type - 事件类型。\n     * @param {Function|IEventListener} handler - 指定事件处理函数或者是一个事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [options=false] - 指定侦听器配置选项。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * \n     * /// 在冒泡阶段注册侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {});\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, false);\n     * \n     * /// 在捕获阶段注册侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, true);\n     * \n     * /// 指定事件处理函数的作用域。\n     * const target = {};\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     console.log(target === this); // true\n     * }, { \"scope\": target });\n     * \n     * /// 注册一次性的侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     /// 该函数执行后，将自动从列表中移除。\n     * }, { \"once\": true });\n     * \n     * /// 尽管该侦听器后注册的，但是因为具有较高的优先级，所以会先被调用。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     console.log(1);\n     * }, { \"priority\": 1 });\n     * \n     * /// 相同的侦听器使用不用的优先级多次注册，以最后一次注册的优先级为准。\n     * const handler = ( evt ) => {};\n     * dispatcher.addEventListener(\"custom\", handler, { \"priority\": 1 });\n     * dispatcher.addEventListener(\"custom\", handler, { \"priority\": 2 }); // 只会注册一个优先级为 2 的侦听器。\n     * @see {@link IEventListenerOptions}\n     * @since 1.0.0\n     ",
                    "start": 4210,
                    "end": 6235,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 4
                      },
                      "end": {
                        "line": 139,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 6240,
                "end": 8173,
                "loc": {
                  "start": {
                    "line": 140,
                    "column": 4
                  },
                  "end": {
                    "line": 193,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 6240,
                  "end": 6256,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 4
                    },
                    "end": {
                      "line": 140,
                      "column": 20
                    },
                    "identifierName": "addEventListener"
                  },
                  "name": "addEventListener",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6258,
                    "end": 6262,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 22
                      },
                      "end": {
                        "line": 140,
                        "column": 26
                      },
                      "identifierName": "type"
                    },
                    "name": "type"
                  },
                  {
                    "type": "Identifier",
                    "start": 6264,
                    "end": 6271,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 28
                      },
                      "end": {
                        "line": 140,
                        "column": 35
                      },
                      "identifierName": "handler"
                    },
                    "name": "handler"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 6273,
                    "end": 6288,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 37
                      },
                      "end": {
                        "line": 140,
                        "column": 52
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 6273,
                      "end": 6280,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 37
                        },
                        "end": {
                          "line": 140,
                          "column": 44
                        },
                        "identifierName": "options"
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "BooleanLiteral",
                      "start": 6283,
                      "end": 6288,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 47
                        },
                        "end": {
                          "line": 140,
                          "column": 52
                        }
                      },
                      "value": false
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6291,
                  "end": 8173,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 55
                    },
                    "end": {
                      "line": 193,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 6301,
                      "end": 6417,
                      "loc": {
                        "start": {
                          "line": 141,
                          "column": 8
                        },
                        "end": {
                          "line": 143,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 6306,
                        "end": 6314,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 13
                          },
                          "end": {
                            "line": 141,
                            "column": 21
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 6307,
                          "end": 6314,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 14
                            },
                            "end": {
                              "line": 141,
                              "column": 21
                            },
                            "identifierName": "handler"
                          },
                          "name": "handler"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 6317,
                        "end": 6417,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 24
                          },
                          "end": {
                            "line": 143,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 6331,
                            "end": 6407,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 12
                              },
                              "end": {
                                "line": 142,
                                "column": 88
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 6337,
                              "end": 6406,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 18
                                },
                                "end": {
                                  "line": 142,
                                  "column": 87
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 6341,
                                "end": 6350,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 31
                                  },
                                  "identifierName": "TypeError"
                                },
                                "name": "TypeError"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 6351,
                                  "end": 6405,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 86
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "handler 必须为事件处理函数(function)或者是事件侦听器(IEventListener)。",
                                    "raw": "\"handler 必须为事件处理函数(function)或者是事件侦听器(IEventListener)。\""
                                  },
                                  "value": "handler 必须为事件处理函数(function)或者是事件侦听器(IEventListener)。"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 6435,
                      "end": 6488,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 8
                        },
                        "end": {
                          "line": 145,
                          "column": 61
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6441,
                          "end": 6487,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 14
                            },
                            "end": {
                              "line": 145,
                              "column": 60
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6441,
                            "end": 6449,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 14
                              },
                              "end": {
                                "line": 145,
                                "column": 22
                              },
                              "identifierName": "listener"
                            },
                            "name": "listener"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 6452,
                            "end": 6487,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 25
                              },
                              "end": {
                                "line": 145,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 6456,
                              "end": 6469,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 29
                                },
                                "end": {
                                  "line": 145,
                                  "column": 42
                                },
                                "identifierName": "EventListener"
                              },
                              "name": "EventListener"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6470,
                                "end": 6477,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 50
                                  },
                                  "identifierName": "handler"
                                },
                                "name": "handler"
                              },
                              {
                                "type": "Identifier",
                                "start": 6479,
                                "end": 6486,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 59
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "const",
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 在事件派发过程中修改侦听器列表会导致派发顺序错误，因此这里需要拷贝侦听器列表的副本。\n         * \n         * @example\n         * const dispatcher = new EventDispatcher();\n         * dispatcher.addEventListener(\"custom\", () => { // 如果不锁定侦听器列表的化，这里将产生一个死循环。\n         *     console.log(1}; \n         *     dispatcher.addEventListener(\"custom\", () => {}, { \"priority\": 1 });\n         * });\n         * dispatcher.dispatchEvent(new Event(\"custom\", false, false));\n         ",
                          "start": 6506,
                          "end": 6947,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 6956,
                      "end": 7133,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 161,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 6961,
                        "end": 6988,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 13
                          },
                          "end": {
                            "line": 158,
                            "column": 40
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 6961,
                          "end": 6982,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 13
                            },
                            "end": {
                              "line": 158,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6961,
                            "end": 6965,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 13
                              },
                              "end": {
                                "line": 158,
                                "column": 17
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6966,
                            "end": 6982,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 18
                              },
                              "end": {
                                "line": 158,
                                "column": 34
                              },
                              "identifierName": "_listenerLockers"
                            },
                            "name": "_listenerLockers"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6983,
                          "end": 6987,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 35
                            },
                            "end": {
                              "line": 158,
                              "column": 39
                            },
                            "identifierName": "type"
                          },
                          "name": "type"
                        },
                        "computed": true,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 6991,
                        "end": 7133,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 43
                          },
                          "end": {
                            "line": 161,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7005,
                            "end": 7041,
                            "loc": {
                              "start": {
                                "line": 159,
                                "column": 12
                              },
                              "end": {
                                "line": 159,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7005,
                              "end": 7040,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 12
                                },
                                "end": {
                                  "line": 159,
                                  "column": 47
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7005,
                                "end": 7032,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7005,
                                  "end": 7026,
                                  "loc": {
                                    "start": {
                                      "line": 159,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 159,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7005,
                                    "end": 7009,
                                    "loc": {
                                      "start": {
                                        "line": 159,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 159,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7010,
                                    "end": 7026,
                                    "loc": {
                                      "start": {
                                        "line": 159,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 159,
                                        "column": 33
                                      },
                                      "identifierName": "_listenerLockers"
                                    },
                                    "name": "_listenerLockers"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7027,
                                  "end": 7031,
                                  "loc": {
                                    "start": {
                                      "line": 159,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 159,
                                      "column": 38
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "BooleanLiteral",
                                "start": 7035,
                                "end": 7040,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 47
                                  }
                                },
                                "value": false
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7054,
                            "end": 7123,
                            "loc": {
                              "start": {
                                "line": 160,
                                "column": 12
                              },
                              "end": {
                                "line": 160,
                                "column": 81
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7054,
                              "end": 7122,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 12
                                },
                                "end": {
                                  "line": 160,
                                  "column": 80
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7054,
                                "end": 7082,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7054,
                                  "end": 7076,
                                  "loc": {
                                    "start": {
                                      "line": 160,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 160,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7054,
                                    "end": 7058,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7059,
                                    "end": 7076,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 34
                                      },
                                      "identifierName": "_listenerRegister"
                                    },
                                    "name": "_listenerRegister"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7077,
                                  "end": 7081,
                                  "loc": {
                                    "start": {
                                      "line": 160,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 160,
                                      "column": 39
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 7085,
                                "end": 7122,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 80
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7085,
                                  "end": 7119,
                                  "loc": {
                                    "start": {
                                      "line": 160,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 160,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 7085,
                                    "end": 7113,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 71
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 7085,
                                      "end": 7107,
                                      "loc": {
                                        "start": {
                                          "line": 160,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 160,
                                          "column": 65
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 7085,
                                        "end": 7089,
                                        "loc": {
                                          "start": {
                                            "line": 160,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 160,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7090,
                                        "end": 7107,
                                        "loc": {
                                          "start": {
                                            "line": 160,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 160,
                                            "column": 65
                                          },
                                          "identifierName": "_listenerRegister"
                                        },
                                        "name": "_listenerRegister"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7108,
                                      "end": 7112,
                                      "loc": {
                                        "start": {
                                          "line": 160,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 160,
                                          "column": 70
                                        },
                                        "identifierName": "type"
                                      },
                                      "name": "type"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7114,
                                    "end": 7119,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 72
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 77
                                      },
                                      "identifierName": "slice"
                                    },
                                    "name": "slice"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NumericLiteral",
                                    "start": 7120,
                                    "end": 7121,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 78
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 79
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 在事件派发过程中修改侦听器列表会导致派发顺序错误，因此这里需要拷贝侦听器列表的副本。\n         * \n         * @example\n         * const dispatcher = new EventDispatcher();\n         * dispatcher.addEventListener(\"custom\", () => { // 如果不锁定侦听器列表的化，这里将产生一个死循环。\n         *     console.log(1}; \n         *     dispatcher.addEventListener(\"custom\", () => {}, { \"priority\": 1 });\n         * });\n         * dispatcher.dispatchEvent(new Event(\"custom\", false, false));\n         ",
                          "start": 6506,
                          "end": 6947,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 8
                            },
                            "end": {
                              "line": 157,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "/ 移除重复的事件侦听器。",
                          "start": 7151,
                          "end": 7166,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 8
                            },
                            "end": {
                              "line": 163,
                              "column": 23
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 7175,
                      "end": 7244,
                      "loc": {
                        "start": {
                          "line": 164,
                          "column": 8
                        },
                        "end": {
                          "line": 164,
                          "column": 77
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 7175,
                        "end": 7243,
                        "loc": {
                          "start": {
                            "line": 164,
                            "column": 8
                          },
                          "end": {
                            "line": 164,
                            "column": 76
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7175,
                          "end": 7199,
                          "loc": {
                            "start": {
                              "line": 164,
                              "column": 8
                            },
                            "end": {
                              "line": 164,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7175,
                            "end": 7179,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 8
                              },
                              "end": {
                                "line": 164,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7180,
                            "end": 7199,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 13
                              },
                              "end": {
                                "line": 164,
                                "column": 32
                              },
                              "identifierName": "removeEventListener"
                            },
                            "name": "removeEventListener"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 7200,
                            "end": 7204,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 33
                              },
                              "end": {
                                "line": 164,
                                "column": 37
                              },
                              "identifierName": "type"
                            },
                            "name": "type"
                          },
                          {
                            "type": "Identifier",
                            "start": 7206,
                            "end": 7213,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 39
                              },
                              "end": {
                                "line": 164,
                                "column": 46
                              },
                              "identifierName": "handler"
                            },
                            "name": "handler"
                          },
                          {
                            "type": "MemberExpression",
                            "start": 7215,
                            "end": 7242,
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 48
                              },
                              "end": {
                                "line": 164,
                                "column": 75
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7215,
                              "end": 7231,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 48
                                },
                                "end": {
                                  "line": 164,
                                  "column": 64
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7215,
                                "end": 7223,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 56
                                  },
                                  "identifierName": "listener"
                                },
                                "name": "listener"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7224,
                                "end": 7231,
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 164,
                                    "column": 64
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7232,
                              "end": 7242,
                              "loc": {
                                "start": {
                                  "line": 164,
                                  "column": 65
                                },
                                "end": {
                                  "line": 164,
                                  "column": 75
                                },
                                "identifierName": "useCapture"
                              },
                              "name": "useCapture"
                            },
                            "computed": false
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "/ 移除重复的事件侦听器。",
                          "start": 7151,
                          "end": 7166,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 8
                            },
                            "end": {
                              "line": 163,
                              "column": 23
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "/ 没有为 type 类型的事件注册侦听器。",
                          "start": 7262,
                          "end": 7286,
                          "loc": {
                            "start": {
                              "line": 166,
                              "column": 8
                            },
                            "end": {
                              "line": 166,
                              "column": 32
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 7295,
                      "end": 7417,
                      "loc": {
                        "start": {
                          "line": 167,
                          "column": 8
                        },
                        "end": {
                          "line": 170,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 7300,
                        "end": 7328,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 13
                          },
                          "end": {
                            "line": 167,
                            "column": 41
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 7301,
                          "end": 7328,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 14
                            },
                            "end": {
                              "line": 167,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 7301,
                            "end": 7322,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 14
                              },
                              "end": {
                                "line": 167,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7301,
                              "end": 7305,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 14
                                },
                                "end": {
                                  "line": 167,
                                  "column": 18
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7306,
                              "end": 7322,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 19
                                },
                                "end": {
                                  "line": 167,
                                  "column": 35
                                },
                                "identifierName": "hasEventListener"
                              },
                              "name": "hasEventListener"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 7323,
                              "end": 7327,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 36
                                },
                                "end": {
                                  "line": 167,
                                  "column": 40
                                },
                                "identifierName": "type"
                              },
                              "name": "type"
                            }
                          ],
                          "leadingComments": null
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7331,
                        "end": 7417,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 44
                          },
                          "end": {
                            "line": 170,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7345,
                            "end": 7387,
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 12
                              },
                              "end": {
                                "line": 168,
                                "column": 54
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7345,
                              "end": 7386,
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 12
                                },
                                "end": {
                                  "line": 168,
                                  "column": 53
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 7345,
                                "end": 7373,
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7345,
                                  "end": 7367,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7345,
                                    "end": 7349,
                                    "loc": {
                                      "start": {
                                        "line": 168,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 168,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7350,
                                    "end": 7367,
                                    "loc": {
                                      "start": {
                                        "line": 168,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 168,
                                        "column": 34
                                      },
                                      "identifierName": "_listenerRegister"
                                    },
                                    "name": "_listenerRegister"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7368,
                                  "end": 7372,
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 39
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "ArrayExpression",
                                "start": 7376,
                                "end": 7386,
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 53
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Identifier",
                                    "start": 7377,
                                    "end": 7385,
                                    "loc": {
                                      "start": {
                                        "line": 168,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 168,
                                        "column": 52
                                      },
                                      "identifierName": "listener"
                                    },
                                    "name": "listener"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 7400,
                            "end": 7407,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 12
                              },
                              "end": {
                                "line": 169,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "/ 没有为 type 类型的事件注册侦听器。",
                          "start": 7262,
                          "end": 7286,
                          "loc": {
                            "start": {
                              "line": 166,
                              "column": 8
                            },
                            "end": {
                              "line": 166,
                              "column": 32
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "/ 为 type 类型已经注册的侦听器列表。",
                          "start": 7435,
                          "end": 7459,
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 8
                            },
                            "end": {
                              "line": 172,
                              "column": 32
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7468,
                      "end": 7511,
                      "loc": {
                        "start": {
                          "line": 173,
                          "column": 8
                        },
                        "end": {
                          "line": 173,
                          "column": 51
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7474,
                          "end": 7510,
                          "loc": {
                            "start": {
                              "line": 173,
                              "column": 14
                            },
                            "end": {
                              "line": 173,
                              "column": 50
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7474,
                            "end": 7479,
                            "loc": {
                              "start": {
                                "line": 173,
                                "column": 14
                              },
                              "end": {
                                "line": 173,
                                "column": 19
                              },
                              "identifierName": "items"
                            },
                            "name": "items",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 7482,
                            "end": 7510,
                            "loc": {
                              "start": {
                                "line": 173,
                                "column": 22
                              },
                              "end": {
                                "line": 173,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7482,
                              "end": 7504,
                              "loc": {
                                "start": {
                                  "line": 173,
                                  "column": 22
                                },
                                "end": {
                                  "line": 173,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7482,
                                "end": 7486,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7487,
                                "end": 7504,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 44
                                  },
                                  "identifierName": "_listenerRegister"
                                },
                                "name": "_listenerRegister"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7505,
                              "end": 7509,
                              "loc": {
                                "start": {
                                  "line": 173,
                                  "column": 45
                                },
                                "end": {
                                  "line": 173,
                                  "column": 49
                                },
                                "identifierName": "type"
                              },
                              "name": "type"
                            },
                            "computed": true
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "const",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "/ 为 type 类型已经注册的侦听器列表。",
                          "start": 7435,
                          "end": 7459,
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 8
                            },
                            "end": {
                              "line": 172,
                              "column": 32
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 一般情况下，我们注册的侦听器的优先级都是默认的 0。因此这里可以先对比插入的侦听器的优先级是否为最低的优先级。\n         * 如果是则直接放入列表末尾。从而减少为插入侦听器而遍历列表的次数。\n         ",
                          "start": 7529,
                          "end": 7655,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 8
                            },
                            "end": {
                              "line": 178,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 7664,
                      "end": 7806,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 8
                        },
                        "end": {
                          "line": 182,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 7669,
                        "end": 7738,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 13
                          },
                          "end": {
                            "line": 179,
                            "column": 82
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 7669,
                          "end": 7709,
                          "loc": {
                            "start": {
                              "line": 179,
                              "column": 13
                            },
                            "end": {
                              "line": 179,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7669,
                            "end": 7700,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 13
                              },
                              "end": {
                                "line": 179,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7669,
                              "end": 7692,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 13
                                },
                                "end": {
                                  "line": 179,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7669,
                                "end": 7674,
                                "loc": {
                                  "start": {
                                    "line": 179,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 179,
                                    "column": 18
                                  },
                                  "identifierName": "items"
                                },
                                "name": "items",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "BinaryExpression",
                                "start": 7675,
                                "end": 7691,
                                "loc": {
                                  "start": {
                                    "line": 179,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 179,
                                    "column": 35
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 7675,
                                  "end": 7687,
                                  "loc": {
                                    "start": {
                                      "line": 179,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 179,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7675,
                                    "end": 7680,
                                    "loc": {
                                      "start": {
                                        "line": 179,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 179,
                                        "column": 24
                                      },
                                      "identifierName": "items"
                                    },
                                    "name": "items"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7681,
                                    "end": 7687,
                                    "loc": {
                                      "start": {
                                        "line": 179,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 179,
                                        "column": 31
                                      },
                                      "identifierName": "length"
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "operator": "-",
                                "right": {
                                  "type": "NumericLiteral",
                                  "start": 7690,
                                  "end": 7691,
                                  "loc": {
                                    "start": {
                                      "line": 179,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 179,
                                      "column": 35
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "value": 1
                                }
                              },
                              "computed": true,
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7693,
                              "end": 7700,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 37
                                },
                                "end": {
                                  "line": 179,
                                  "column": 44
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7701,
                            "end": 7709,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 45
                              },
                              "end": {
                                "line": 179,
                                "column": 53
                              },
                              "identifierName": "priority"
                            },
                            "name": "priority"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": ">=",
                        "right": {
                          "type": "MemberExpression",
                          "start": 7713,
                          "end": 7738,
                          "loc": {
                            "start": {
                              "line": 179,
                              "column": 57
                            },
                            "end": {
                              "line": 179,
                              "column": 82
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7713,
                            "end": 7729,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 57
                              },
                              "end": {
                                "line": 179,
                                "column": 73
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 7713,
                              "end": 7721,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 57
                                },
                                "end": {
                                  "line": 179,
                                  "column": 65
                                },
                                "identifierName": "listener"
                              },
                              "name": "listener"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7722,
                              "end": 7729,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 66
                                },
                                "end": {
                                  "line": 179,
                                  "column": 73
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7730,
                            "end": 7738,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 74
                              },
                              "end": {
                                "line": 179,
                                "column": 82
                              },
                              "identifierName": "priority"
                            },
                            "name": "priority"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7741,
                        "end": 7806,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 85
                          },
                          "end": {
                            "line": 182,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7755,
                            "end": 7776,
                            "loc": {
                              "start": {
                                "line": 180,
                                "column": 12
                              },
                              "end": {
                                "line": 180,
                                "column": 33
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7755,
                              "end": 7775,
                              "loc": {
                                "start": {
                                  "line": 180,
                                  "column": 12
                                },
                                "end": {
                                  "line": 180,
                                  "column": 32
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7755,
                                "end": 7765,
                                "loc": {
                                  "start": {
                                    "line": 180,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 180,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7755,
                                  "end": 7760,
                                  "loc": {
                                    "start": {
                                      "line": 180,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 180,
                                      "column": 17
                                    },
                                    "identifierName": "items"
                                  },
                                  "name": "items"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7761,
                                  "end": 7765,
                                  "loc": {
                                    "start": {
                                      "line": 180,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 180,
                                      "column": 22
                                    },
                                    "identifierName": "push"
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 7766,
                                  "end": 7774,
                                  "loc": {
                                    "start": {
                                      "line": 180,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 180,
                                      "column": 31
                                    },
                                    "identifierName": "listener"
                                  },
                                  "name": "listener"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 7789,
                            "end": 7796,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 12
                              },
                              "end": {
                                "line": 181,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 一般情况下，我们注册的侦听器的优先级都是默认的 0。因此这里可以先对比插入的侦听器的优先级是否为最低的优先级。\n         * 如果是则直接放入列表末尾。从而减少为插入侦听器而遍历列表的次数。\n         ",
                          "start": 7529,
                          "end": 7655,
                          "loc": {
                            "start": {
                              "line": 175,
                              "column": 8
                            },
                            "end": {
                              "line": 178,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 按照侦听器注册的顺序以及侦听器优先级的大小插入列表。\n         * - 1, 优先越高的侦听器放到列表的前面。\n         * - 2, 相同优先级的情况，先注册的侦听器放到列表的前面。\n         ",
                          "start": 7824,
                          "end": 7951,
                          "loc": {
                            "start": {
                              "line": 184,
                              "column": 8
                            },
                            "end": {
                              "line": 188,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7960,
                      "end": 7992,
                      "loc": {
                        "start": {
                          "line": 189,
                          "column": 8
                        },
                        "end": {
                          "line": 189,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7964,
                          "end": 7991,
                          "loc": {
                            "start": {
                              "line": 189,
                              "column": 12
                            },
                            "end": {
                              "line": 189,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7964,
                            "end": 7972,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 12
                              },
                              "end": {
                                "line": 189,
                                "column": 20
                              },
                              "identifierName": "insertAt"
                            },
                            "name": "insertAt",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 7975,
                            "end": 7991,
                            "loc": {
                              "start": {
                                "line": 189,
                                "column": 23
                              },
                              "end": {
                                "line": 189,
                                "column": 39
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 7975,
                              "end": 7987,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 23
                                },
                                "end": {
                                  "line": 189,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7975,
                                "end": 7980,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 28
                                  },
                                  "identifierName": "items"
                                },
                                "name": "items"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7981,
                                "end": 7987,
                                "loc": {
                                  "start": {
                                    "line": 189,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 35
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": "-",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 7990,
                              "end": 7991,
                              "loc": {
                                "start": {
                                  "line": 189,
                                  "column": 38
                                },
                                "end": {
                                  "line": 189,
                                  "column": 39
                                }
                              },
                              "extra": {
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "value": 1
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 按照侦听器注册的顺序以及侦听器优先级的大小插入列表。\n         * - 1, 优先越高的侦听器放到列表的前面。\n         * - 2, 相同优先级的情况，先注册的侦听器放到列表的前面。\n         ",
                          "start": 7824,
                          "end": 7951,
                          "loc": {
                            "start": {
                              "line": 184,
                              "column": 8
                            },
                            "end": {
                              "line": 188,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "WhileStatement",
                      "start": 8001,
                      "end": 8109,
                      "loc": {
                        "start": {
                          "line": 190,
                          "column": 8
                        },
                        "end": {
                          "line": 190,
                          "column": 116
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 8009,
                        "end": 8090,
                        "loc": {
                          "start": {
                            "line": 190,
                            "column": 16
                          },
                          "end": {
                            "line": 190,
                            "column": 97
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 8010,
                          "end": 8023,
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 17
                            },
                            "end": {
                              "line": 190,
                              "column": 30
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 8010,
                            "end": 8018,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 17
                              },
                              "end": {
                                "line": 190,
                                "column": 25
                              },
                              "identifierName": "insertAt"
                            },
                            "name": "insertAt"
                          },
                          "operator": ">=",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 8022,
                            "end": 8023,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 29
                              },
                              "end": {
                                "line": 190,
                                "column": 30
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 8009
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 8029,
                          "end": 8089,
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 36
                            },
                            "end": {
                              "line": 190,
                              "column": 96
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 8029,
                            "end": 8061,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 36
                              },
                              "end": {
                                "line": 190,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8029,
                              "end": 8052,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 36
                                },
                                "end": {
                                  "line": 190,
                                  "column": 59
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 8029,
                                "end": 8044,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8029,
                                  "end": 8034,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 41
                                    },
                                    "identifierName": "items"
                                  },
                                  "name": "items"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8035,
                                  "end": 8043,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 50
                                    },
                                    "identifierName": "insertAt"
                                  },
                                  "name": "insertAt"
                                },
                                "computed": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8045,
                                "end": 8052,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 59
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8053,
                              "end": 8061,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 60
                                },
                                "end": {
                                  "line": 190,
                                  "column": 68
                                },
                                "identifierName": "priority"
                              },
                              "name": "priority"
                            },
                            "computed": false
                          },
                          "operator": "<",
                          "right": {
                            "type": "MemberExpression",
                            "start": 8064,
                            "end": 8089,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 71
                              },
                              "end": {
                                "line": 190,
                                "column": 96
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8064,
                              "end": 8080,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 71
                                },
                                "end": {
                                  "line": 190,
                                  "column": 87
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8064,
                                "end": 8072,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 71
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 79
                                  },
                                  "identifierName": "listener"
                                },
                                "name": "listener"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8073,
                                "end": 8080,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 80
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 87
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8081,
                              "end": 8089,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 88
                                },
                                "end": {
                                  "line": 190,
                                  "column": 96
                                },
                                "identifierName": "priority"
                              },
                              "name": "priority"
                            },
                            "computed": false
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 8028
                          }
                        },
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 8008
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 8094,
                        "end": 8109,
                        "loc": {
                          "start": {
                            "line": 190,
                            "column": 101
                          },
                          "end": {
                            "line": 190,
                            "column": 116
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 8096,
                            "end": 8107,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 103
                              },
                              "end": {
                                "line": 190,
                                "column": 114
                              }
                            },
                            "expression": {
                              "type": "UpdateExpression",
                              "start": 8096,
                              "end": 8106,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 103
                                },
                                "end": {
                                  "line": 190,
                                  "column": 113
                                }
                              },
                              "operator": "--",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 8098,
                                "end": 8106,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 105
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 113
                                  },
                                  "identifierName": "insertAt"
                                },
                                "name": "insertAt"
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            }
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 8127,
                      "end": 8167,
                      "loc": {
                        "start": {
                          "line": 192,
                          "column": 8
                        },
                        "end": {
                          "line": 192,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8127,
                        "end": 8166,
                        "loc": {
                          "start": {
                            "line": 192,
                            "column": 8
                          },
                          "end": {
                            "line": 192,
                            "column": 47
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8127,
                          "end": 8139,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 8
                            },
                            "end": {
                              "line": 192,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8127,
                            "end": 8132,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 8
                              },
                              "end": {
                                "line": 192,
                                "column": 13
                              },
                              "identifierName": "items"
                            },
                            "name": "items"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8133,
                            "end": 8139,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 14
                              },
                              "end": {
                                "line": 192,
                                "column": 20
                              },
                              "identifierName": "splice"
                            },
                            "name": "splice"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 8140,
                            "end": 8152,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 21
                              },
                              "end": {
                                "line": 192,
                                "column": 33
                              }
                            },
                            "left": {
                              "type": "NumericLiteral",
                              "start": 8140,
                              "end": 8141,
                              "loc": {
                                "start": {
                                  "line": 192,
                                  "column": 21
                                },
                                "end": {
                                  "line": 192,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "value": 1
                            },
                            "operator": "+",
                            "right": {
                              "type": "Identifier",
                              "start": 8144,
                              "end": 8152,
                              "loc": {
                                "start": {
                                  "line": 192,
                                  "column": 25
                                },
                                "end": {
                                  "line": 192,
                                  "column": 33
                                },
                                "identifierName": "insertAt"
                              },
                              "name": "insertAt"
                            }
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 8154,
                            "end": 8155,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 35
                              },
                              "end": {
                                "line": 192,
                                "column": 36
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          },
                          {
                            "type": "Identifier",
                            "start": 8157,
                            "end": 8165,
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 38
                              },
                              "end": {
                                "line": 192,
                                "column": 46
                              },
                              "identifierName": "listener"
                            },
                            "name": "listener"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 注册一个事件侦听器。\n     * \n     * 如果浏览器支持 {@link Symbol} 类型，则事件类型可以使用 {@link Symbol} 对象，这样可以防止\n     * 你的事件被其他人意外的移除。\n     * \n     * 事件侦听器可以注册到派发事件的任何一个阶段，**捕获阶段**和**冒泡阶段**的侦听器是相互独立的。\n     * 因此使用不同的 `useCapture` 值将注册不同的侦听器。同样移除的时候，也需要指定不同的 `useCapture` 值。 \n     * \n     * 事件处理函数默认的作用域为派发器（`EventDispatcher`）对象或者其代理的对象，通过设置 `options.scope` \n     * 可以为事件处理函数指定作用域。但是如果注册的是一个实现了 {@link IEventListener} 接口的对象，则直接\n     * 调用其 `handleEvent()` 方法处理事件，并且作用域始终指向该 `IEventListener` 对象。\n     * \n     * 通过指定 `options.once` 选项，可以指定侦听器在执行后，是否自动从列表中移除。\n     * \n     * 优先级高（`options.priority`）的侦听器会在派发事件时优先调用。相同优先级的情况会按照注册的先后\n     * 顺序调用侦听器。分别使用不同的优先级注册相同的侦听器时，以最后一次注册的侦听器为准。\n     * \n     * @param {String|Symbol} type - 事件类型。\n     * @param {Function|IEventListener} handler - 指定事件处理函数或者是一个事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [options=false] - 指定侦听器配置选项。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * \n     * /// 在冒泡阶段注册侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {});\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, false);\n     * \n     * /// 在捕获阶段注册侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, true);\n     * \n     * /// 指定事件处理函数的作用域。\n     * const target = {};\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     console.log(target === this); // true\n     * }, { \"scope\": target });\n     * \n     * /// 注册一次性的侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     /// 该函数执行后，将自动从列表中移除。\n     * }, { \"once\": true });\n     * \n     * /// 尽管该侦听器后注册的，但是因为具有较高的优先级，所以会先被调用。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     console.log(1);\n     * }, { \"priority\": 1 });\n     * \n     * /// 相同的侦听器使用不用的优先级多次注册，以最后一次注册的优先级为准。\n     * const handler = ( evt ) => {};\n     * dispatcher.addEventListener(\"custom\", handler, { \"priority\": 1 });\n     * dispatcher.addEventListener(\"custom\", handler, { \"priority\": 2 }); // 只会注册一个优先级为 2 的侦听器。\n     * @see {@link IEventListenerOptions}\n     * @since 1.0.0\n     ",
                    "start": 4210,
                    "end": 6235,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 4
                      },
                      "end": {
                        "line": 139,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 移除一个事件侦听器。\n     * \n     * 第三个参数 `useCapture` 可以是一个 {@link Boolean} 类型的值，或者是一个 {@link IEventListenerOptions} 类型的值。\n     * \n     * 只有完全相同（使用 === 对比）的侦听器才会被移除。因此使用 `useCapture=false` 并不会移除**捕获阶段**的侦听器。\n     * 同理 `useCapture=true` 也不会移除**冒泡阶段**的侦听器。\n     * \n     * @param {String|Symbol} type - 事件类型。\n     * @param {Function|IEventListener} handler - 指定要移除的事件处理函数或者事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [useCapture=false] - 指定是移除捕获阶段(`true`)还是冒泡阶段(`false`)的事件侦听器。\n     * @example\n     * /// 使用不用类型的 useCapture 值移除侦听器。\n     * dispatcher.removeEventListener(type, handler, false);\n     * dispatcher.removeEventListener(type, handler, { \"useCapture\": true });\n     * \n     * /// 分别移除不用阶段的侦听器。\n     * const dispatcher = new EventDispatcher();\n     * \n     * function captureHandler( evt ) {\n     *     console.log(\"capture\");\n     * }\n     * \n     * dispatcher.addEventListener(\"custom\", captureHandler, true);\n     * dispatcher.removeEventListener(\"custom\", captureHandler, false); // 这里并不会移除 captureHandler 侦听器。\n     * dispatcher.hasEventListener(\"custom\"); // true\n     * dispatcher.removeEventListener(\"custom\", captureHandler, true); // 这里才会移除 captureHandler 侦听器。\n     * dispatcher.hasEventListener(\"custom\"); // false\n     * @since 1.0.0\n     ",
                    "start": 8183,
                    "end": 9452,
                    "loc": {
                      "start": {
                        "line": 195,
                        "column": 4
                      },
                      "end": {
                        "line": 224,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 9457,
                "end": 10653,
                "loc": {
                  "start": {
                    "line": 225,
                    "column": 4
                  },
                  "end": {
                    "line": 257,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 9457,
                  "end": 9476,
                  "loc": {
                    "start": {
                      "line": 225,
                      "column": 4
                    },
                    "end": {
                      "line": 225,
                      "column": 23
                    },
                    "identifierName": "removeEventListener"
                  },
                  "name": "removeEventListener",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9478,
                    "end": 9482,
                    "loc": {
                      "start": {
                        "line": 225,
                        "column": 25
                      },
                      "end": {
                        "line": 225,
                        "column": 29
                      },
                      "identifierName": "type"
                    },
                    "name": "type"
                  },
                  {
                    "type": "Identifier",
                    "start": 9484,
                    "end": 9491,
                    "loc": {
                      "start": {
                        "line": 225,
                        "column": 31
                      },
                      "end": {
                        "line": 225,
                        "column": 38
                      },
                      "identifierName": "handler"
                    },
                    "name": "handler"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 9493,
                    "end": 9511,
                    "loc": {
                      "start": {
                        "line": 225,
                        "column": 40
                      },
                      "end": {
                        "line": 225,
                        "column": 58
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 9493,
                      "end": 9503,
                      "loc": {
                        "start": {
                          "line": 225,
                          "column": 40
                        },
                        "end": {
                          "line": 225,
                          "column": 50
                        },
                        "identifierName": "useCapture"
                      },
                      "name": "useCapture"
                    },
                    "right": {
                      "type": "BooleanLiteral",
                      "start": 9506,
                      "end": 9511,
                      "loc": {
                        "start": {
                          "line": 225,
                          "column": 53
                        },
                        "end": {
                          "line": 225,
                          "column": 58
                        }
                      },
                      "value": false
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9514,
                  "end": 10653,
                  "loc": {
                    "start": {
                      "line": 225,
                      "column": 61
                    },
                    "end": {
                      "line": 257,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 9524,
                      "end": 9591,
                      "loc": {
                        "start": {
                          "line": 226,
                          "column": 8
                        },
                        "end": {
                          "line": 228,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 9529,
                        "end": 9557,
                        "loc": {
                          "start": {
                            "line": 226,
                            "column": 13
                          },
                          "end": {
                            "line": 226,
                            "column": 41
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 9530,
                          "end": 9557,
                          "loc": {
                            "start": {
                              "line": 226,
                              "column": 14
                            },
                            "end": {
                              "line": 226,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9530,
                            "end": 9551,
                            "loc": {
                              "start": {
                                "line": 226,
                                "column": 14
                              },
                              "end": {
                                "line": 226,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9530,
                              "end": 9534,
                              "loc": {
                                "start": {
                                  "line": 226,
                                  "column": 14
                                },
                                "end": {
                                  "line": 226,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9535,
                              "end": 9551,
                              "loc": {
                                "start": {
                                  "line": 226,
                                  "column": 19
                                },
                                "end": {
                                  "line": 226,
                                  "column": 35
                                },
                                "identifierName": "hasEventListener"
                              },
                              "name": "hasEventListener"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9552,
                              "end": 9556,
                              "loc": {
                                "start": {
                                  "line": 226,
                                  "column": 36
                                },
                                "end": {
                                  "line": 226,
                                  "column": 40
                                },
                                "identifierName": "type"
                              },
                              "name": "type"
                            }
                          ]
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9560,
                        "end": 9591,
                        "loc": {
                          "start": {
                            "line": 226,
                            "column": 44
                          },
                          "end": {
                            "line": 228,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 9574,
                            "end": 9581,
                            "loc": {
                              "start": {
                                "line": 227,
                                "column": 12
                              },
                              "end": {
                                "line": 227,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 如果 `useCapture` 是一个 {@link IEventListenerOptions} 对象，则获取 `IEventListenerOptions.useCapture` 的值。\n         ",
                          "start": 9609,
                          "end": 9731,
                          "loc": {
                            "start": {
                              "line": 230,
                              "column": 8
                            },
                            "end": {
                              "line": 232,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 9740,
                      "end": 9965,
                      "loc": {
                        "start": {
                          "line": 233,
                          "column": 8
                        },
                        "end": {
                          "line": 237,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 9745,
                        "end": 9775,
                        "loc": {
                          "start": {
                            "line": 233,
                            "column": 13
                          },
                          "end": {
                            "line": 233,
                            "column": 43
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 9745,
                          "end": 9762,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 13
                            },
                            "end": {
                              "line": 233,
                              "column": 30
                            }
                          },
                          "operator": "typeof",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 9752,
                            "end": 9762,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 20
                              },
                              "end": {
                                "line": 233,
                                "column": 30
                              },
                              "identifierName": "useCapture"
                            },
                            "name": "useCapture",
                            "leadingComments": null
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          },
                          "leadingComments": null
                        },
                        "operator": "!=",
                        "right": {
                          "type": "StringLiteral",
                          "start": 9766,
                          "end": 9775,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 34
                            },
                            "end": {
                              "line": 233,
                              "column": 43
                            }
                          },
                          "extra": {
                            "rawValue": "boolean",
                            "raw": "\"boolean\""
                          },
                          "value": "boolean"
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9778,
                        "end": 9965,
                        "loc": {
                          "start": {
                            "line": 233,
                            "column": 46
                          },
                          "end": {
                            "line": 237,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 9841,
                            "end": 9868,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 12
                              },
                              "end": {
                                "line": 235,
                                "column": 39
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 9847,
                                "end": 9867,
                                "loc": {
                                  "start": {
                                    "line": 235,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 235,
                                    "column": 38
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 9847,
                                  "end": 9854,
                                  "loc": {
                                    "start": {
                                      "line": 235,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 235,
                                      "column": 25
                                    },
                                    "identifierName": "options"
                                  },
                                  "name": "options",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "Identifier",
                                  "start": 9857,
                                  "end": 9867,
                                  "loc": {
                                    "start": {
                                      "line": 235,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 235,
                                      "column": 38
                                    },
                                    "identifierName": "useCapture"
                                  },
                                  "name": "useCapture"
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "const",
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @type {IEventListenerOptions} ",
                                "start": 9792,
                                "end": 9828,
                                "loc": {
                                  "start": {
                                    "line": 234,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 234,
                                    "column": 48
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 9881,
                            "end": 9955,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 12
                              },
                              "end": {
                                "line": 236,
                                "column": 86
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 9881,
                              "end": 9954,
                              "loc": {
                                "start": {
                                  "line": 236,
                                  "column": 12
                                },
                                "end": {
                                  "line": 236,
                                  "column": 85
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 9881,
                                "end": 9891,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 22
                                  },
                                  "identifierName": "useCapture"
                                },
                                "name": "useCapture"
                              },
                              "right": {
                                "type": "ConditionalExpression",
                                "start": 9895,
                                "end": 9953,
                                "loc": {
                                  "start": {
                                    "line": 236,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 236,
                                    "column": 84
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 9895,
                                  "end": 9924,
                                  "loc": {
                                    "start": {
                                      "line": 236,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 55
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9895,
                                    "end": 9913,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 44
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9895,
                                      "end": 9902,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 33
                                        },
                                        "identifierName": "options"
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9903,
                                      "end": 9913,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 44
                                        },
                                        "identifierName": "useCapture"
                                      },
                                      "name": "useCapture"
                                    },
                                    "computed": false
                                  },
                                  "operator": "!==",
                                  "right": {
                                    "type": "UnaryExpression",
                                    "start": 9918,
                                    "end": 9924,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 55
                                      }
                                    },
                                    "operator": "void",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 9923,
                                      "end": 9924,
                                      "loc": {
                                        "start": {
                                          "line": 236,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 236,
                                          "column": 55
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "MemberExpression",
                                  "start": 9927,
                                  "end": 9945,
                                  "loc": {
                                    "start": {
                                      "line": 236,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 76
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9927,
                                    "end": 9934,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 65
                                      },
                                      "identifierName": "options"
                                    },
                                    "name": "options"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9935,
                                    "end": 9945,
                                    "loc": {
                                      "start": {
                                        "line": 236,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 236,
                                        "column": 76
                                      },
                                      "identifierName": "useCapture"
                                    },
                                    "name": "useCapture"
                                  },
                                  "computed": false
                                },
                                "alternate": {
                                  "type": "BooleanLiteral",
                                  "start": 9948,
                                  "end": 9953,
                                  "loc": {
                                    "start": {
                                      "line": 236,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 236,
                                      "column": 84
                                    }
                                  },
                                  "value": false
                                },
                                "extra": {
                                  "parenthesized": true,
                                  "parenStart": 9894
                                }
                              }
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 如果 `useCapture` 是一个 {@link IEventListenerOptions} 对象，则获取 `IEventListenerOptions.useCapture` 的值。\n         ",
                          "start": 9609,
                          "end": 9731,
                          "loc": {
                            "start": {
                              "line": 230,
                              "column": 8
                            },
                            "end": {
                              "line": 232,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 在事件派发过程中修改侦听器列表会导致派发顺序错误，因此这里需要拷贝侦听器列表的副本。\n         * @see {@link EventDispatcher#addEventListener}\n         ",
                          "start": 9983,
                          "end": 10109,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 8
                            },
                            "end": {
                              "line": 242,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 10118,
                      "end": 10295,
                      "loc": {
                        "start": {
                          "line": 243,
                          "column": 8
                        },
                        "end": {
                          "line": 246,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 10123,
                        "end": 10150,
                        "loc": {
                          "start": {
                            "line": 243,
                            "column": 13
                          },
                          "end": {
                            "line": 243,
                            "column": 40
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 10123,
                          "end": 10144,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 13
                            },
                            "end": {
                              "line": 243,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10123,
                            "end": 10127,
                            "loc": {
                              "start": {
                                "line": 243,
                                "column": 13
                              },
                              "end": {
                                "line": 243,
                                "column": 17
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10128,
                            "end": 10144,
                            "loc": {
                              "start": {
                                "line": 243,
                                "column": 18
                              },
                              "end": {
                                "line": 243,
                                "column": 34
                              },
                              "identifierName": "_listenerLockers"
                            },
                            "name": "_listenerLockers"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 10145,
                          "end": 10149,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 35
                            },
                            "end": {
                              "line": 243,
                              "column": 39
                            },
                            "identifierName": "type"
                          },
                          "name": "type"
                        },
                        "computed": true,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 10153,
                        "end": 10295,
                        "loc": {
                          "start": {
                            "line": 243,
                            "column": 43
                          },
                          "end": {
                            "line": 246,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 10167,
                            "end": 10203,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 12
                              },
                              "end": {
                                "line": 244,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 10167,
                              "end": 10202,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 12
                                },
                                "end": {
                                  "line": 244,
                                  "column": 47
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 10167,
                                "end": 10194,
                                "loc": {
                                  "start": {
                                    "line": 244,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 244,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10167,
                                  "end": 10188,
                                  "loc": {
                                    "start": {
                                      "line": 244,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 244,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10167,
                                    "end": 10171,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10172,
                                    "end": 10188,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 33
                                      },
                                      "identifierName": "_listenerLockers"
                                    },
                                    "name": "_listenerLockers"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10189,
                                  "end": 10193,
                                  "loc": {
                                    "start": {
                                      "line": 244,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 244,
                                      "column": 38
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "BooleanLiteral",
                                "start": 10197,
                                "end": 10202,
                                "loc": {
                                  "start": {
                                    "line": 244,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 244,
                                    "column": 47
                                  }
                                },
                                "value": false
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 10216,
                            "end": 10285,
                            "loc": {
                              "start": {
                                "line": 245,
                                "column": 12
                              },
                              "end": {
                                "line": 245,
                                "column": 81
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 10216,
                              "end": 10284,
                              "loc": {
                                "start": {
                                  "line": 245,
                                  "column": 12
                                },
                                "end": {
                                  "line": 245,
                                  "column": 80
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 10216,
                                "end": 10244,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 245,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10216,
                                  "end": 10238,
                                  "loc": {
                                    "start": {
                                      "line": 245,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 245,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 10216,
                                    "end": 10220,
                                    "loc": {
                                      "start": {
                                        "line": 245,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 245,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10221,
                                    "end": 10238,
                                    "loc": {
                                      "start": {
                                        "line": 245,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 245,
                                        "column": 34
                                      },
                                      "identifierName": "_listenerRegister"
                                    },
                                    "name": "_listenerRegister"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10239,
                                  "end": 10243,
                                  "loc": {
                                    "start": {
                                      "line": 245,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 245,
                                      "column": 39
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 10247,
                                "end": 10284,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 245,
                                    "column": 80
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10247,
                                  "end": 10281,
                                  "loc": {
                                    "start": {
                                      "line": 245,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 245,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10247,
                                    "end": 10275,
                                    "loc": {
                                      "start": {
                                        "line": 245,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 245,
                                        "column": 71
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 10247,
                                      "end": 10269,
                                      "loc": {
                                        "start": {
                                          "line": 245,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 245,
                                          "column": 65
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 10247,
                                        "end": 10251,
                                        "loc": {
                                          "start": {
                                            "line": 245,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 245,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10252,
                                        "end": 10269,
                                        "loc": {
                                          "start": {
                                            "line": 245,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 245,
                                            "column": 65
                                          },
                                          "identifierName": "_listenerRegister"
                                        },
                                        "name": "_listenerRegister"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10270,
                                      "end": 10274,
                                      "loc": {
                                        "start": {
                                          "line": 245,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 245,
                                          "column": 70
                                        },
                                        "identifierName": "type"
                                      },
                                      "name": "type"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10276,
                                    "end": 10281,
                                    "loc": {
                                      "start": {
                                        "line": 245,
                                        "column": 72
                                      },
                                      "end": {
                                        "line": 245,
                                        "column": 77
                                      },
                                      "identifierName": "slice"
                                    },
                                    "name": "slice"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NumericLiteral",
                                    "start": 10282,
                                    "end": 10283,
                                    "loc": {
                                      "start": {
                                        "line": 245,
                                        "column": 78
                                      },
                                      "end": {
                                        "line": 245,
                                        "column": 79
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 在事件派发过程中修改侦听器列表会导致派发顺序错误，因此这里需要拷贝侦听器列表的副本。\n         * @see {@link EventDispatcher#addEventListener}\n         ",
                          "start": 9983,
                          "end": 10109,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 8
                            },
                            "end": {
                              "line": 242,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 10313,
                      "end": 10647,
                      "loc": {
                        "start": {
                          "line": 248,
                          "column": 8
                        },
                        "end": {
                          "line": 256,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 10319,
                        "end": 10366,
                        "loc": {
                          "start": {
                            "line": 248,
                            "column": 14
                          },
                          "end": {
                            "line": 248,
                            "column": 61
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 10323,
                            "end": 10328,
                            "loc": {
                              "start": {
                                "line": 248,
                                "column": 18
                              },
                              "end": {
                                "line": 248,
                                "column": 23
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 10323,
                              "end": 10324,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 18
                                },
                                "end": {
                                  "line": 248,
                                  "column": 19
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "NumericLiteral",
                              "start": 10327,
                              "end": 10328,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 22
                                },
                                "end": {
                                  "line": 248,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 10330,
                            "end": 10366,
                            "loc": {
                              "start": {
                                "line": 248,
                                "column": 25
                              },
                              "end": {
                                "line": 248,
                                "column": 61
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 10330,
                              "end": 10335,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 25
                                },
                                "end": {
                                  "line": 248,
                                  "column": 30
                                },
                                "identifierName": "items"
                              },
                              "name": "items"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 10338,
                              "end": 10366,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 33
                                },
                                "end": {
                                  "line": 248,
                                  "column": 61
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 10338,
                                "end": 10360,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 10338,
                                  "end": 10342,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 37
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10343,
                                  "end": 10360,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 55
                                    },
                                    "identifierName": "_listenerRegister"
                                  },
                                  "name": "_listenerRegister"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10361,
                                "end": 10365,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 60
                                  },
                                  "identifierName": "type"
                                },
                                "name": "type"
                              },
                              "computed": true
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 10368,
                        "end": 10384,
                        "loc": {
                          "start": {
                            "line": 248,
                            "column": 63
                          },
                          "end": {
                            "line": 248,
                            "column": 79
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 10368,
                          "end": 10369,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 63
                            },
                            "end": {
                              "line": 248,
                              "column": 64
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 10372,
                          "end": 10384,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 67
                            },
                            "end": {
                              "line": 248,
                              "column": 79
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 10372,
                            "end": 10377,
                            "loc": {
                              "start": {
                                "line": 248,
                                "column": 67
                              },
                              "end": {
                                "line": 248,
                                "column": 72
                              },
                              "identifierName": "items"
                            },
                            "name": "items"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10378,
                            "end": 10384,
                            "loc": {
                              "start": {
                                "line": 248,
                                "column": 73
                              },
                              "end": {
                                "line": 248,
                                "column": 79
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 10386,
                        "end": 10389,
                        "loc": {
                          "start": {
                            "line": 248,
                            "column": 81
                          },
                          "end": {
                            "line": 248,
                            "column": 84
                          }
                        },
                        "operator": "++",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 10388,
                          "end": 10389,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 83
                            },
                            "end": {
                              "line": 248,
                              "column": 84
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 10392,
                        "end": 10647,
                        "loc": {
                          "start": {
                            "line": 248,
                            "column": 87
                          },
                          "end": {
                            "line": 256,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 10481,
                            "end": 10637,
                            "loc": {
                              "start": {
                                "line": 252,
                                "column": 12
                              },
                              "end": {
                                "line": 255,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 10486,
                              "end": 10560,
                              "loc": {
                                "start": {
                                  "line": 252,
                                  "column": 17
                                },
                                "end": {
                                  "line": 252,
                                  "column": 91
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 10486,
                                "end": 10514,
                                "loc": {
                                  "start": {
                                    "line": 252,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 252,
                                    "column": 45
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 10486,
                                  "end": 10493,
                                  "loc": {
                                    "start": {
                                      "line": 252,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 252,
                                      "column": 24
                                    },
                                    "identifierName": "handler"
                                  },
                                  "name": "handler",
                                  "leadingComments": null
                                },
                                "operator": "===",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 10498,
                                  "end": 10514,
                                  "loc": {
                                    "start": {
                                      "line": 252,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 252,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10498,
                                    "end": 10506,
                                    "loc": {
                                      "start": {
                                        "line": 252,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 252,
                                        "column": 37
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10498,
                                      "end": 10503,
                                      "loc": {
                                        "start": {
                                          "line": 252,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 252,
                                          "column": 34
                                        },
                                        "identifierName": "items"
                                      },
                                      "name": "items"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10504,
                                      "end": 10505,
                                      "loc": {
                                        "start": {
                                          "line": 252,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 252,
                                          "column": 36
                                        },
                                        "identifierName": "i"
                                      },
                                      "name": "i"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10507,
                                    "end": 10514,
                                    "loc": {
                                      "start": {
                                        "line": 252,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 252,
                                        "column": 45
                                      },
                                      "identifierName": "handler"
                                    },
                                    "name": "handler"
                                  },
                                  "computed": false
                                },
                                "leadingComments": null
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 10518,
                                "end": 10560,
                                "loc": {
                                  "start": {
                                    "line": 252,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 252,
                                    "column": 91
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 10518,
                                  "end": 10528,
                                  "loc": {
                                    "start": {
                                      "line": 252,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 252,
                                      "column": 59
                                    },
                                    "identifierName": "useCapture"
                                  },
                                  "name": "useCapture"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 10533,
                                  "end": 10560,
                                  "loc": {
                                    "start": {
                                      "line": 252,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 252,
                                      "column": 91
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10533,
                                    "end": 10549,
                                    "loc": {
                                      "start": {
                                        "line": 252,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 252,
                                        "column": 80
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 10533,
                                      "end": 10541,
                                      "loc": {
                                        "start": {
                                          "line": 252,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 252,
                                          "column": 72
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10533,
                                        "end": 10538,
                                        "loc": {
                                          "start": {
                                            "line": 252,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 252,
                                            "column": 69
                                          },
                                          "identifierName": "items"
                                        },
                                        "name": "items"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10539,
                                        "end": 10540,
                                        "loc": {
                                          "start": {
                                            "line": 252,
                                            "column": 70
                                          },
                                          "end": {
                                            "line": 252,
                                            "column": 71
                                          },
                                          "identifierName": "i"
                                        },
                                        "name": "i"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10542,
                                      "end": 10549,
                                      "loc": {
                                        "start": {
                                          "line": 252,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 252,
                                          "column": 80
                                        },
                                        "identifierName": "options"
                                      },
                                      "name": "options"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10550,
                                    "end": 10560,
                                    "loc": {
                                      "start": {
                                        "line": 252,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 252,
                                        "column": 91
                                      },
                                      "identifierName": "useCapture"
                                    },
                                    "name": "useCapture"
                                  },
                                  "computed": false
                                }
                              },
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 10563,
                              "end": 10637,
                              "loc": {
                                "start": {
                                  "line": 252,
                                  "column": 94
                                },
                                "end": {
                                  "line": 255,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 10581,
                                  "end": 10600,
                                  "loc": {
                                    "start": {
                                      "line": 253,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 253,
                                      "column": 35
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 10581,
                                    "end": 10599,
                                    "loc": {
                                      "start": {
                                        "line": 253,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 253,
                                        "column": 34
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 10581,
                                      "end": 10593,
                                      "loc": {
                                        "start": {
                                          "line": 253,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 253,
                                          "column": 28
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10581,
                                        "end": 10586,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 21
                                          },
                                          "identifierName": "items"
                                        },
                                        "name": "items"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10587,
                                        "end": 10593,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 28
                                          },
                                          "identifierName": "splice"
                                        },
                                        "name": "splice"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 10594,
                                        "end": 10595,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 30
                                          },
                                          "identifierName": "i"
                                        },
                                        "name": "i"
                                      },
                                      {
                                        "type": "NumericLiteral",
                                        "start": 10597,
                                        "end": 10598,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 33
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "BreakStatement",
                                  "start": 10617,
                                  "end": 10623,
                                  "loc": {
                                    "start": {
                                      "line": 254,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 254,
                                      "column": 22
                                    }
                                  },
                                  "label": null
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "*\n             * 只有完全相同（使用 === 对比）的侦听器才会被移除。\n             ",
                                "start": 10406,
                                "end": 10468,
                                "loc": {
                                  "start": {
                                    "line": 249,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 251,
                                    "column": 15
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 移除一个事件侦听器。\n     * \n     * 第三个参数 `useCapture` 可以是一个 {@link Boolean} 类型的值，或者是一个 {@link IEventListenerOptions} 类型的值。\n     * \n     * 只有完全相同（使用 === 对比）的侦听器才会被移除。因此使用 `useCapture=false` 并不会移除**捕获阶段**的侦听器。\n     * 同理 `useCapture=true` 也不会移除**冒泡阶段**的侦听器。\n     * \n     * @param {String|Symbol} type - 事件类型。\n     * @param {Function|IEventListener} handler - 指定要移除的事件处理函数或者事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [useCapture=false] - 指定是移除捕获阶段(`true`)还是冒泡阶段(`false`)的事件侦听器。\n     * @example\n     * /// 使用不用类型的 useCapture 值移除侦听器。\n     * dispatcher.removeEventListener(type, handler, false);\n     * dispatcher.removeEventListener(type, handler, { \"useCapture\": true });\n     * \n     * /// 分别移除不用阶段的侦听器。\n     * const dispatcher = new EventDispatcher();\n     * \n     * function captureHandler( evt ) {\n     *     console.log(\"capture\");\n     * }\n     * \n     * dispatcher.addEventListener(\"custom\", captureHandler, true);\n     * dispatcher.removeEventListener(\"custom\", captureHandler, false); // 这里并不会移除 captureHandler 侦听器。\n     * dispatcher.hasEventListener(\"custom\"); // true\n     * dispatcher.removeEventListener(\"custom\", captureHandler, true); // 这里才会移除 captureHandler 侦听器。\n     * dispatcher.hasEventListener(\"custom\"); // false\n     * @since 1.0.0\n     ",
                    "start": 8183,
                    "end": 9452,
                    "loc": {
                      "start": {
                        "line": 195,
                        "column": 4
                      },
                      "end": {
                        "line": 224,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 检查是否注册了指定类型的事件侦听器。\n     * @param {String|Symbol} type - 事件类型。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, false);\n     * \n     * console.log(dispatcher.hasEventListener(\"custom\")); // true\n     * console.log(dispatcher.hasEventListener(\"notexists\")); // false\n     * @returns {Boolean} - 如果存在指定类型的侦听器则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
                    "start": 10663,
                    "end": 11107,
                    "loc": {
                      "start": {
                        "line": 259,
                        "column": 4
                      },
                      "end": {
                        "line": 270,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 11112,
                "end": 11237,
                "loc": {
                  "start": {
                    "line": 271,
                    "column": 4
                  },
                  "end": {
                    "line": 273,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 11112,
                  "end": 11128,
                  "loc": {
                    "start": {
                      "line": 271,
                      "column": 4
                    },
                    "end": {
                      "line": 271,
                      "column": 20
                    },
                    "identifierName": "hasEventListener"
                  },
                  "name": "hasEventListener",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11130,
                    "end": 11134,
                    "loc": {
                      "start": {
                        "line": 271,
                        "column": 22
                      },
                      "end": {
                        "line": 271,
                        "column": 26
                      },
                      "identifierName": "type"
                    },
                    "name": "type"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11137,
                  "end": 11237,
                  "loc": {
                    "start": {
                      "line": 271,
                      "column": 29
                    },
                    "end": {
                      "line": 273,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 11147,
                      "end": 11231,
                      "loc": {
                        "start": {
                          "line": 272,
                          "column": 8
                        },
                        "end": {
                          "line": 272,
                          "column": 92
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 11155,
                        "end": 11229,
                        "loc": {
                          "start": {
                            "line": 272,
                            "column": 16
                          },
                          "end": {
                            "line": 272,
                            "column": 90
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 11155,
                          "end": 11185,
                          "loc": {
                            "start": {
                              "line": 272,
                              "column": 16
                            },
                            "end": {
                              "line": 272,
                              "column": 46
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "UnaryExpression",
                            "start": 11156,
                            "end": 11185,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 17
                              },
                              "end": {
                                "line": 272,
                                "column": 46
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 11157,
                              "end": 11185,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 18
                                },
                                "end": {
                                  "line": 272,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 11157,
                                "end": 11179,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11157,
                                  "end": 11161,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11162,
                                  "end": 11179,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 40
                                    },
                                    "identifierName": "_listenerRegister"
                                  },
                                  "name": "_listenerRegister"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11180,
                                "end": 11184,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 45
                                  },
                                  "identifierName": "type"
                                },
                                "name": "type"
                              },
                              "computed": true
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 11189,
                          "end": 11229,
                          "loc": {
                            "start": {
                              "line": 272,
                              "column": 50
                            },
                            "end": {
                              "line": 272,
                              "column": 90
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 11189,
                            "end": 11224,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 50
                              },
                              "end": {
                                "line": 272,
                                "column": 85
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 11189,
                              "end": 11217,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 50
                                },
                                "end": {
                                  "line": 272,
                                  "column": 78
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 11189,
                                "end": 11211,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 72
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11189,
                                  "end": 11193,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 54
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11194,
                                  "end": 11211,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 72
                                    },
                                    "identifierName": "_listenerRegister"
                                  },
                                  "name": "_listenerRegister"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11212,
                                "end": 11216,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 77
                                  },
                                  "identifierName": "type"
                                },
                                "name": "type"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11218,
                              "end": 11224,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 79
                                },
                                "end": {
                                  "line": 272,
                                  "column": 85
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": ">=",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 11228,
                            "end": 11229,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 89
                              },
                              "end": {
                                "line": 272,
                                "column": 90
                              }
                            },
                            "extra": {
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "value": 1
                          }
                        },
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 11154
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 检查是否注册了指定类型的事件侦听器。\n     * @param {String|Symbol} type - 事件类型。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, false);\n     * \n     * console.log(dispatcher.hasEventListener(\"custom\")); // true\n     * console.log(dispatcher.hasEventListener(\"notexists\")); // false\n     * @returns {Boolean} - 如果存在指定类型的侦听器则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
                    "start": 10663,
                    "end": 11107,
                    "loc": {
                      "start": {
                        "line": 259,
                        "column": 4
                      },
                      "end": {
                        "line": 270,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 派发一个事件对象到目标对象的事件流中。\n     * @param {Event|String|Symbol} event - 指定派发的事件对象。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * \n     * dispatcher.dispatchEvent(new Event(\"custom\", false, false)); // 派发一个不冒泡的事件。\n     * dispatcher.dispatchEvent(new Event(\"custom\", true, false)); // 派发一个参与冒泡的事件。\n     * @returns {Boolean} - 如果事件传递到了当前目标对象，并且没有被取消默认行为。则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
                    "start": 11247,
                    "end": 11679,
                    "loc": {
                      "start": {
                        "line": 275,
                        "column": 4
                      },
                      "end": {
                        "line": 285,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 11684,
                "end": 14409,
                "loc": {
                  "start": {
                    "line": 286,
                    "column": 4
                  },
                  "end": {
                    "line": 374,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 11684,
                  "end": 11697,
                  "loc": {
                    "start": {
                      "line": 286,
                      "column": 4
                    },
                    "end": {
                      "line": 286,
                      "column": 17
                    },
                    "identifierName": "dispatchEvent"
                  },
                  "name": "dispatchEvent",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11699,
                    "end": 11704,
                    "loc": {
                      "start": {
                        "line": 286,
                        "column": 19
                      },
                      "end": {
                        "line": 286,
                        "column": 24
                      },
                      "identifierName": "event"
                    },
                    "name": "event"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11707,
                  "end": 14409,
                  "loc": {
                    "start": {
                      "line": 286,
                      "column": 27
                    },
                    "end": {
                      "line": 374,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 11717,
                      "end": 11826,
                      "loc": {
                        "start": {
                          "line": 287,
                          "column": 8
                        },
                        "end": {
                          "line": 289,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 11722,
                        "end": 11774,
                        "loc": {
                          "start": {
                            "line": 287,
                            "column": 13
                          },
                          "end": {
                            "line": 287,
                            "column": 65
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 11722,
                          "end": 11746,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 13
                            },
                            "end": {
                              "line": 287,
                              "column": 37
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 11722,
                            "end": 11734,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 13
                              },
                              "end": {
                                "line": 287,
                                "column": 25
                              }
                            },
                            "operator": "typeof",
                            "prefix": true,
                            "argument": {
                              "type": "Identifier",
                              "start": 11729,
                              "end": 11734,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 20
                                },
                                "end": {
                                  "line": 287,
                                  "column": 25
                                },
                                "identifierName": "event"
                              },
                              "name": "event"
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          },
                          "operator": "==",
                          "right": {
                            "type": "StringLiteral",
                            "start": 11738,
                            "end": 11746,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 29
                              },
                              "end": {
                                "line": 287,
                                "column": 37
                              }
                            },
                            "extra": {
                              "rawValue": "string",
                              "raw": "\"string\""
                            },
                            "value": "string"
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 11750,
                          "end": 11774,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 41
                            },
                            "end": {
                              "line": 287,
                              "column": 65
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 11750,
                            "end": 11762,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 41
                              },
                              "end": {
                                "line": 287,
                                "column": 53
                              }
                            },
                            "operator": "typeof",
                            "prefix": true,
                            "argument": {
                              "type": "Identifier",
                              "start": 11757,
                              "end": 11762,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 48
                                },
                                "end": {
                                  "line": 287,
                                  "column": 53
                                },
                                "identifierName": "event"
                              },
                              "name": "event"
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          },
                          "operator": "==",
                          "right": {
                            "type": "StringLiteral",
                            "start": 11766,
                            "end": 11774,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 57
                              },
                              "end": {
                                "line": 287,
                                "column": 65
                              }
                            },
                            "extra": {
                              "rawValue": "symbol",
                              "raw": "\"symbol\""
                            },
                            "value": "symbol"
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 11777,
                        "end": 11826,
                        "loc": {
                          "start": {
                            "line": 287,
                            "column": 68
                          },
                          "end": {
                            "line": 289,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 11791,
                            "end": 11816,
                            "loc": {
                              "start": {
                                "line": 288,
                                "column": 12
                              },
                              "end": {
                                "line": 288,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 11791,
                              "end": 11815,
                              "loc": {
                                "start": {
                                  "line": 288,
                                  "column": 12
                                },
                                "end": {
                                  "line": 288,
                                  "column": 36
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 11791,
                                "end": 11796,
                                "loc": {
                                  "start": {
                                    "line": 288,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 288,
                                    "column": 17
                                  },
                                  "identifierName": "event"
                                },
                                "name": "event"
                              },
                              "right": {
                                "type": "NewExpression",
                                "start": 11799,
                                "end": 11815,
                                "loc": {
                                  "start": {
                                    "line": 288,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 288,
                                    "column": 36
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 11803,
                                  "end": 11808,
                                  "loc": {
                                    "start": {
                                      "line": 288,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 288,
                                      "column": 29
                                    },
                                    "identifierName": "Event"
                                  },
                                  "name": "Event"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 11809,
                                    "end": 11814,
                                    "loc": {
                                      "start": {
                                        "line": 288,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 288,
                                        "column": 35
                                      },
                                      "identifierName": "event"
                                    },
                                    "name": "event"
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "/ 该事件对象已经被派发过一次！",
                          "start": 11844,
                          "end": 11862,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 8
                            },
                            "end": {
                              "line": 291,
                              "column": 26
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 11871,
                      "end": 11989,
                      "loc": {
                        "start": {
                          "line": 292,
                          "column": 8
                        },
                        "end": {
                          "line": 294,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 11876,
                        "end": 11928,
                        "loc": {
                          "start": {
                            "line": 292,
                            "column": 13
                          },
                          "end": {
                            "line": 292,
                            "column": 65
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 11876,
                          "end": 11888,
                          "loc": {
                            "start": {
                              "line": 292,
                              "column": 13
                            },
                            "end": {
                              "line": 292,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11876,
                            "end": 11881,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 13
                              },
                              "end": {
                                "line": 292,
                                "column": 18
                              },
                              "identifierName": "event"
                            },
                            "name": "event",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11882,
                            "end": 11888,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 19
                              },
                              "end": {
                                "line": 292,
                                "column": 25
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 11892,
                          "end": 11928,
                          "loc": {
                            "start": {
                              "line": 292,
                              "column": 29
                            },
                            "end": {
                              "line": 292,
                              "column": 65
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 11892,
                            "end": 11908,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 29
                              },
                              "end": {
                                "line": 292,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 11892,
                              "end": 11897,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 29
                                },
                                "end": {
                                  "line": 292,
                                  "column": 34
                                },
                                "identifierName": "event"
                              },
                              "name": "event"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11898,
                              "end": 11908,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 35
                                },
                                "end": {
                                  "line": 292,
                                  "column": 45
                                },
                                "identifierName": "eventPhase"
                              },
                              "name": "eventPhase"
                            },
                            "computed": false
                          },
                          "operator": "!==",
                          "right": {
                            "type": "MemberExpression",
                            "start": 11913,
                            "end": 11928,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 50
                              },
                              "end": {
                                "line": 292,
                                "column": 65
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 11913,
                              "end": 11923,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 50
                                },
                                "end": {
                                  "line": 292,
                                  "column": 60
                                },
                                "identifierName": "EventPhase"
                              },
                              "name": "EventPhase"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11924,
                              "end": 11928,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 61
                                },
                                "end": {
                                  "line": 292,
                                  "column": 65
                                },
                                "identifierName": "NONE"
                              },
                              "name": "NONE"
                            },
                            "computed": false
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 11931,
                        "end": 11989,
                        "loc": {
                          "start": {
                            "line": 292,
                            "column": 68
                          },
                          "end": {
                            "line": 294,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 11945,
                            "end": 11979,
                            "loc": {
                              "start": {
                                "line": 293,
                                "column": 12
                              },
                              "end": {
                                "line": 293,
                                "column": 46
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 11951,
                              "end": 11978,
                              "loc": {
                                "start": {
                                  "line": 293,
                                  "column": 18
                                },
                                "end": {
                                  "line": 293,
                                  "column": 45
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 11955,
                                "end": 11960,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 27
                                  },
                                  "identifierName": "Error"
                                },
                                "name": "Error"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 11961,
                                  "end": 11977,
                                  "loc": {
                                    "start": {
                                      "line": 293,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 293,
                                      "column": 44
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "同一个事件对象不能派发多次！",
                                    "raw": "\"同一个事件对象不能派发多次！\""
                                  },
                                  "value": "同一个事件对象不能派发多次！"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "/ 该事件对象已经被派发过一次！",
                          "start": 11844,
                          "end": 11862,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 8
                            },
                            "end": {
                              "line": 291,
                              "column": 26
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 12007,
                      "end": 12046,
                      "loc": {
                        "start": {
                          "line": 296,
                          "column": 8
                        },
                        "end": {
                          "line": 296,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12007,
                        "end": 12045,
                        "loc": {
                          "start": {
                            "line": 296,
                            "column": 8
                          },
                          "end": {
                            "line": 296,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 12007,
                          "end": 12020,
                          "loc": {
                            "start": {
                              "line": 296,
                              "column": 8
                            },
                            "end": {
                              "line": 296,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12007,
                            "end": 12012,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 8
                              },
                              "end": {
                                "line": 296,
                                "column": 13
                              },
                              "identifierName": "event"
                            },
                            "name": "event"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12013,
                            "end": 12020,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 14
                              },
                              "end": {
                                "line": 296,
                                "column": 21
                              },
                              "identifierName": "_target"
                            },
                            "name": "_target"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 12023,
                          "end": 12045,
                          "loc": {
                            "start": {
                              "line": 296,
                              "column": 24
                            },
                            "end": {
                              "line": 296,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12023,
                            "end": 12027,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 24
                              },
                              "end": {
                                "line": 296,
                                "column": 28
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12028,
                            "end": 12045,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 29
                              },
                              "end": {
                                "line": 296,
                                "column": 46
                              },
                              "identifierName": "_targetDispatcher"
                            },
                            "name": "_targetDispatcher"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " 设置事件目标对象。",
                          "start": 12047,
                          "end": 12059,
                          "loc": {
                            "start": {
                              "line": 296,
                              "column": 48
                            },
                            "end": {
                              "line": 296,
                              "column": 60
                            }
                          }
                        },
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 满足以下条件时，直接调度事件至目标阶段：\n         * \n         * 1) 事件不参与冒泡行为。\n         * 2) 目标对象没有加入显示对象列表。\n         ",
                          "start": 12077,
                          "end": 12191,
                          "loc": {
                            "start": {
                              "line": 298,
                              "column": 8
                            },
                            "end": {
                              "line": 303,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 12200,
                      "end": 12725,
                      "loc": {
                        "start": {
                          "line": 304,
                          "column": 8
                        },
                        "end": {
                          "line": 316,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12205,
                        "end": 12318,
                        "loc": {
                          "start": {
                            "line": 304,
                            "column": 13
                          },
                          "end": {
                            "line": 305,
                            "column": 73
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 12205,
                          "end": 12243,
                          "loc": {
                            "start": {
                              "line": 304,
                              "column": 13
                            },
                            "end": {
                              "line": 304,
                              "column": 51
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 12205,
                            "end": 12219,
                            "loc": {
                              "start": {
                                "line": 304,
                                "column": 13
                              },
                              "end": {
                                "line": 304,
                                "column": 27
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 12206,
                              "end": 12219,
                              "loc": {
                                "start": {
                                  "line": 304,
                                  "column": 14
                                },
                                "end": {
                                  "line": 304,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 12206,
                                "end": 12211,
                                "loc": {
                                  "start": {
                                    "line": 304,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 304,
                                    "column": 19
                                  },
                                  "identifierName": "event"
                                },
                                "name": "event",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12212,
                                "end": 12219,
                                "loc": {
                                  "start": {
                                    "line": 304,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 304,
                                    "column": 27
                                  },
                                  "identifierName": "bubbles"
                                },
                                "name": "bubbles"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            },
                            "leadingComments": null
                          },
                          "operator": "||",
                          "right": {
                            "type": "UnaryExpression",
                            "start": 12223,
                            "end": 12243,
                            "loc": {
                              "start": {
                                "line": 304,
                                "column": 31
                              },
                              "end": {
                                "line": 304,
                                "column": 51
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 12224,
                              "end": 12243,
                              "loc": {
                                "start": {
                                  "line": 304,
                                  "column": 32
                                },
                                "end": {
                                  "line": 304,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12224,
                                "end": 12236,
                                "loc": {
                                  "start": {
                                    "line": 304,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 304,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12224,
                                  "end": 12229,
                                  "loc": {
                                    "start": {
                                      "line": 304,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 304,
                                      "column": 37
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12230,
                                  "end": 12236,
                                  "loc": {
                                    "start": {
                                      "line": 304,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 304,
                                      "column": 44
                                    },
                                    "identifierName": "target"
                                  },
                                  "name": "target"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12237,
                                "end": 12243,
                                "loc": {
                                  "start": {
                                    "line": 304,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 304,
                                    "column": 51
                                  },
                                  "identifierName": "parent"
                                },
                                "name": "parent",
                                "leadingComments": null,
                                "trailingComments": null
                              },
                              "computed": false,
                              "trailingComments": null
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            },
                            "trailingComments": null
                          },
                          "leadingComments": null,
                          "trailingComments": [
                            {
                              "type": "CommentBlock",
                              "value": "< 防止根级别对象循环引用 >",
                              "start": 12257,
                              "end": 12276,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 12
                                },
                                "end": {
                                  "line": 305,
                                  "column": 31
                                }
                              }
                            }
                          ]
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 12281,
                          "end": 12317,
                          "loc": {
                            "start": {
                              "line": 305,
                              "column": 36
                            },
                            "end": {
                              "line": 305,
                              "column": 72
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12281,
                            "end": 12293,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 36
                              },
                              "end": {
                                "line": 305,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12281,
                              "end": 12286,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 36
                                },
                                "end": {
                                  "line": 305,
                                  "column": 41
                                },
                                "identifierName": "event"
                              },
                              "name": "event",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12287,
                              "end": 12293,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 42
                                },
                                "end": {
                                  "line": 305,
                                  "column": 48
                                },
                                "identifierName": "target"
                              },
                              "name": "target"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "operator": "===",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12298,
                            "end": 12317,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 53
                              },
                              "end": {
                                "line": 305,
                                "column": 72
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 12298,
                              "end": 12310,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 53
                                },
                                "end": {
                                  "line": 305,
                                  "column": 65
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 12298,
                                "end": 12303,
                                "loc": {
                                  "start": {
                                    "line": 305,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 305,
                                    "column": 58
                                  },
                                  "identifierName": "event"
                                },
                                "name": "event"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12304,
                                "end": 12310,
                                "loc": {
                                  "start": {
                                    "line": 305,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 305,
                                    "column": 65
                                  },
                                  "identifierName": "target"
                                },
                                "name": "target"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12311,
                              "end": 12317,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 66
                                },
                                "end": {
                                  "line": 305,
                                  "column": 72
                                },
                                "identifierName": "parent"
                              },
                              "name": "parent"
                            },
                            "computed": false
                          },
                          "leadingComments": [
                            {
                              "type": "CommentBlock",
                              "value": "< 防止根级别对象循环引用 >",
                              "start": 12257,
                              "end": 12276,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 12
                                },
                                "end": {
                                  "line": 305,
                                  "column": 31
                                }
                              }
                            }
                          ],
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 12280
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12321,
                        "end": 12725,
                        "loc": {
                          "start": {
                            "line": 305,
                            "column": 76
                          },
                          "end": {
                            "line": 316,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 12348,
                            "end": 12389,
                            "loc": {
                              "start": {
                                "line": 307,
                                "column": 12
                              },
                              "end": {
                                "line": 307,
                                "column": 53
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12348,
                              "end": 12388,
                              "loc": {
                                "start": {
                                  "line": 307,
                                  "column": 12
                                },
                                "end": {
                                  "line": 307,
                                  "column": 52
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 12348,
                                "end": 12365,
                                "loc": {
                                  "start": {
                                    "line": 307,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 307,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12348,
                                  "end": 12353,
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 17
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12354,
                                  "end": 12365,
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 29
                                    },
                                    "identifierName": "_eventPhase"
                                  },
                                  "name": "_eventPhase"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 12368,
                                "end": 12388,
                                "loc": {
                                  "start": {
                                    "line": 307,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 307,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12368,
                                  "end": 12378,
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 42
                                    },
                                    "identifierName": "EventPhase"
                                  },
                                  "name": "EventPhase"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12379,
                                  "end": 12388,
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 52
                                    },
                                    "identifierName": "AT_TARGET"
                                  },
                                  "name": "AT_TARGET"
                                },
                                "computed": false
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12402,
                            "end": 12438,
                            "loc": {
                              "start": {
                                "line": 308,
                                "column": 12
                              },
                              "end": {
                                "line": 308,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12402,
                              "end": 12437,
                              "loc": {
                                "start": {
                                  "line": 308,
                                  "column": 12
                                },
                                "end": {
                                  "line": 308,
                                  "column": 47
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 12402,
                                "end": 12422,
                                "loc": {
                                  "start": {
                                    "line": 308,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 308,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12402,
                                  "end": 12407,
                                  "loc": {
                                    "start": {
                                      "line": 308,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 308,
                                      "column": 17
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12408,
                                  "end": 12422,
                                  "loc": {
                                    "start": {
                                      "line": 308,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 308,
                                      "column": 32
                                    },
                                    "identifierName": "_currentTarget"
                                  },
                                  "name": "_currentTarget"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 12425,
                                "end": 12437,
                                "loc": {
                                  "start": {
                                    "line": 308,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 308,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12425,
                                  "end": 12430,
                                  "loc": {
                                    "start": {
                                      "line": 308,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 308,
                                      "column": 40
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12431,
                                  "end": 12437,
                                  "loc": {
                                    "start": {
                                      "line": 308,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 308,
                                      "column": 47
                                    },
                                    "identifierName": "target"
                                  },
                                  "name": "target"
                                },
                                "computed": false
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 12464,
                            "end": 12592,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 12
                              },
                              "end": {
                                "line": 312,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 12469,
                              "end": 12509,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 17
                                },
                                "end": {
                                  "line": 310,
                                  "column": 57
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 12469,
                                "end": 12488,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12469,
                                  "end": 12474,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 22
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12475,
                                  "end": 12488,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 36
                                    },
                                    "identifierName": "currentTarget"
                                  },
                                  "name": "currentTarget"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12489,
                                "end": 12509,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 310,
                                    "column": 57
                                  },
                                  "identifierName": "_dispatchToListeners"
                                },
                                "name": "_dispatchToListeners"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 12512,
                              "end": 12592,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 60
                                },
                                "end": {
                                  "line": 312,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 12530,
                                  "end": 12578,
                                  "loc": {
                                    "start": {
                                      "line": 311,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 311,
                                      "column": 64
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 12530,
                                    "end": 12577,
                                    "loc": {
                                      "start": {
                                        "line": 311,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 311,
                                        "column": 63
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 12530,
                                      "end": 12570,
                                      "loc": {
                                        "start": {
                                          "line": 311,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 311,
                                          "column": 56
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 12530,
                                        "end": 12549,
                                        "loc": {
                                          "start": {
                                            "line": 311,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 311,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 12530,
                                          "end": 12535,
                                          "loc": {
                                            "start": {
                                              "line": 311,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 311,
                                              "column": 21
                                            },
                                            "identifierName": "event"
                                          },
                                          "name": "event"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 12536,
                                          "end": 12549,
                                          "loc": {
                                            "start": {
                                              "line": 311,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 311,
                                              "column": 35
                                            },
                                            "identifierName": "currentTarget"
                                          },
                                          "name": "currentTarget"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 12550,
                                        "end": 12570,
                                        "loc": {
                                          "start": {
                                            "line": 311,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 311,
                                            "column": 56
                                          },
                                          "identifierName": "_dispatchToListeners"
                                        },
                                        "name": "_dispatchToListeners"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 12571,
                                        "end": 12576,
                                        "loc": {
                                          "start": {
                                            "line": 311,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 311,
                                            "column": 62
                                          },
                                          "identifierName": "event"
                                        },
                                        "name": "event"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12618,
                            "end": 12646,
                            "loc": {
                              "start": {
                                "line": 314,
                                "column": 12
                              },
                              "end": {
                                "line": 314,
                                "column": 40
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12618,
                              "end": 12645,
                              "loc": {
                                "start": {
                                  "line": 314,
                                  "column": 12
                                },
                                "end": {
                                  "line": 314,
                                  "column": 39
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 12618,
                                "end": 12638,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12618,
                                  "end": 12623,
                                  "loc": {
                                    "start": {
                                      "line": 314,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 314,
                                      "column": 17
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12624,
                                  "end": 12638,
                                  "loc": {
                                    "start": {
                                      "line": 314,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 314,
                                      "column": 32
                                    },
                                    "identifierName": "_currentTarget"
                                  },
                                  "name": "_currentTarget"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "NullLiteral",
                                "start": 12641,
                                "end": 12645,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 39
                                  }
                                }
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " 事件派发完成后，删除事件对当前目标的引用。",
                                "start": 12647,
                                "end": 12671,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 65
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 12684,
                            "end": 12715,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 12
                              },
                              "end": {
                                "line": 315,
                                "column": 43
                              }
                            },
                            "argument": {
                              "type": "UnaryExpression",
                              "start": 12691,
                              "end": 12714,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 19
                                },
                                "end": {
                                  "line": 315,
                                  "column": 42
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 12692,
                                "end": 12714,
                                "loc": {
                                  "start": {
                                    "line": 315,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 315,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12692,
                                  "end": 12697,
                                  "loc": {
                                    "start": {
                                      "line": 315,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 315,
                                      "column": 25
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12698,
                                  "end": 12714,
                                  "loc": {
                                    "start": {
                                      "line": 315,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 315,
                                      "column": 42
                                    },
                                    "identifierName": "defaultPrevented"
                                  },
                                  "name": "defaultPrevented"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " 事件派发完成后，删除事件对当前目标的引用。",
                                "start": 12647,
                                "end": 12671,
                                "loc": {
                                  "start": {
                                    "line": 314,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 314,
                                    "column": 65
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " 设置事件目标对象。",
                          "start": 12047,
                          "end": 12059,
                          "loc": {
                            "start": {
                              "line": 296,
                              "column": 48
                            },
                            "end": {
                              "line": 296,
                              "column": 60
                            }
                          }
                        },
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 满足以下条件时，直接调度事件至目标阶段：\n         * \n         * 1) 事件不参与冒泡行为。\n         * 2) 目标对象没有加入显示对象列表。\n         ",
                          "start": 12077,
                          "end": 12191,
                          "loc": {
                            "start": {
                              "line": 298,
                              "column": 8
                            },
                            "end": {
                              "line": 303,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 查找事件传递路径。\n         ",
                          "start": 12743,
                          "end": 12779,
                          "loc": {
                            "start": {
                              "line": 318,
                              "column": 8
                            },
                            "end": {
                              "line": 320,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12788,
                      "end": 12814,
                      "loc": {
                        "start": {
                          "line": 321,
                          "column": 8
                        },
                        "end": {
                          "line": 321,
                          "column": 34
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12792,
                          "end": 12813,
                          "loc": {
                            "start": {
                              "line": 321,
                              "column": 12
                            },
                            "end": {
                              "line": 321,
                              "column": 33
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12792,
                            "end": 12798,
                            "loc": {
                              "start": {
                                "line": 321,
                                "column": 12
                              },
                              "end": {
                                "line": 321,
                                "column": 18
                              },
                              "identifierName": "target"
                            },
                            "name": "target",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 12801,
                            "end": 12813,
                            "loc": {
                              "start": {
                                "line": 321,
                                "column": 21
                              },
                              "end": {
                                "line": 321,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12801,
                              "end": 12806,
                              "loc": {
                                "start": {
                                  "line": 321,
                                  "column": 21
                                },
                                "end": {
                                  "line": 321,
                                  "column": 26
                                },
                                "identifierName": "event"
                              },
                              "name": "event"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12807,
                              "end": 12813,
                              "loc": {
                                "start": {
                                  "line": 321,
                                  "column": 27
                                },
                                "end": {
                                  "line": 321,
                                  "column": 33
                                },
                                "identifierName": "target"
                              },
                              "name": "target"
                            },
                            "computed": false
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "let",
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 查找事件传递路径。\n         ",
                          "start": 12743,
                          "end": 12779,
                          "loc": {
                            "start": {
                              "line": 318,
                              "column": 8
                            },
                            "end": {
                              "line": 320,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12823,
                      "end": 12843,
                      "loc": {
                        "start": {
                          "line": 322,
                          "column": 8
                        },
                        "end": {
                          "line": 322,
                          "column": 28
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12827,
                          "end": 12842,
                          "loc": {
                            "start": {
                              "line": 322,
                              "column": 12
                            },
                            "end": {
                              "line": 322,
                              "column": 27
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12827,
                            "end": 12831,
                            "loc": {
                              "start": {
                                "line": 322,
                                "column": 12
                              },
                              "end": {
                                "line": 322,
                                "column": 16
                              },
                              "identifierName": "path"
                            },
                            "name": "path"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 12834,
                            "end": 12842,
                            "loc": {
                              "start": {
                                "line": 322,
                                "column": 19
                              },
                              "end": {
                                "line": 322,
                                "column": 27
                              }
                            },
                            "elements": [
                              {
                                "type": "Identifier",
                                "start": 12835,
                                "end": 12841,
                                "loc": {
                                  "start": {
                                    "line": 322,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 322,
                                    "column": 26
                                  },
                                  "identifierName": "target"
                                },
                                "name": "target"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "WhileStatement",
                      "start": 12861,
                      "end": 12950,
                      "loc": {
                        "start": {
                          "line": 324,
                          "column": 8
                        },
                        "end": {
                          "line": 324,
                          "column": 97
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12868,
                        "end": 12909,
                        "loc": {
                          "start": {
                            "line": 324,
                            "column": 15
                          },
                          "end": {
                            "line": 324,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 12868,
                          "end": 12881,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 15
                            },
                            "end": {
                              "line": 324,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 12868,
                            "end": 12874,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 15
                              },
                              "end": {
                                "line": 324,
                                "column": 21
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12875,
                            "end": 12881,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 22
                              },
                              "end": {
                                "line": 324,
                                "column": 28
                              },
                              "identifierName": "parent"
                            },
                            "name": "parent"
                          },
                          "computed": false
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 12885,
                          "end": 12909,
                          "loc": {
                            "start": {
                              "line": 324,
                              "column": 32
                            },
                            "end": {
                              "line": 324,
                              "column": 56
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 12885,
                            "end": 12891,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 32
                              },
                              "end": {
                                "line": 324,
                                "column": 38
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "operator": "!==",
                          "right": {
                            "type": "MemberExpression",
                            "start": 12896,
                            "end": 12909,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 43
                              },
                              "end": {
                                "line": 324,
                                "column": 56
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 12896,
                              "end": 12902,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 43
                                },
                                "end": {
                                  "line": 324,
                                  "column": 49
                                },
                                "identifierName": "target"
                              },
                              "name": "target"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12903,
                              "end": 12909,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 50
                                },
                                "end": {
                                  "line": 324,
                                  "column": 56
                                },
                                "identifierName": "parent"
                              },
                              "name": "parent"
                            },
                            "computed": false
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 12912,
                        "end": 12950,
                        "loc": {
                          "start": {
                            "line": 324,
                            "column": 59
                          },
                          "end": {
                            "line": 324,
                            "column": 97
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 12914,
                            "end": 12948,
                            "loc": {
                              "start": {
                                "line": 324,
                                "column": 61
                              },
                              "end": {
                                "line": 324,
                                "column": 95
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 12914,
                              "end": 12947,
                              "loc": {
                                "start": {
                                  "line": 324,
                                  "column": 61
                                },
                                "end": {
                                  "line": 324,
                                  "column": 94
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 12914,
                                "end": 12923,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 70
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 12914,
                                  "end": 12918,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 65
                                    },
                                    "identifierName": "path"
                                  },
                                  "name": "path"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12919,
                                  "end": 12923,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 70
                                    },
                                    "identifierName": "push"
                                  },
                                  "name": "push"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "AssignmentExpression",
                                  "start": 12924,
                                  "end": 12946,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 71
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 93
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 12924,
                                    "end": 12930,
                                    "loc": {
                                      "start": {
                                        "line": 324,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 324,
                                        "column": 77
                                      },
                                      "identifierName": "target"
                                    },
                                    "name": "target"
                                  },
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 12933,
                                    "end": 12946,
                                    "loc": {
                                      "start": {
                                        "line": 324,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 324,
                                        "column": 93
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 12933,
                                      "end": 12939,
                                      "loc": {
                                        "start": {
                                          "line": 324,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 324,
                                          "column": 86
                                        },
                                        "identifierName": "target"
                                      },
                                      "name": "target"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 12940,
                                      "end": 12946,
                                      "loc": {
                                        "start": {
                                          "line": 324,
                                          "column": 87
                                        },
                                        "end": {
                                          "line": 324,
                                          "column": 93
                                        },
                                        "identifierName": "parent"
                                      },
                                      "name": "parent"
                                    },
                                    "computed": false
                                  }
                                }
                              ]
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 捕获阶段。\n         ",
                          "start": 12968,
                          "end": 13000,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 8
                            },
                            "end": {
                              "line": 328,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13009,
                      "end": 13056,
                      "loc": {
                        "start": {
                          "line": 329,
                          "column": 8
                        },
                        "end": {
                          "line": 329,
                          "column": 55
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13009,
                        "end": 13055,
                        "loc": {
                          "start": {
                            "line": 329,
                            "column": 8
                          },
                          "end": {
                            "line": 329,
                            "column": 54
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13009,
                          "end": 13026,
                          "loc": {
                            "start": {
                              "line": 329,
                              "column": 8
                            },
                            "end": {
                              "line": 329,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13009,
                            "end": 13014,
                            "loc": {
                              "start": {
                                "line": 329,
                                "column": 8
                              },
                              "end": {
                                "line": 329,
                                "column": 13
                              },
                              "identifierName": "event"
                            },
                            "name": "event",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13015,
                            "end": 13026,
                            "loc": {
                              "start": {
                                "line": 329,
                                "column": 14
                              },
                              "end": {
                                "line": 329,
                                "column": 25
                              },
                              "identifierName": "_eventPhase"
                            },
                            "name": "_eventPhase"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13029,
                          "end": 13055,
                          "loc": {
                            "start": {
                              "line": 329,
                              "column": 28
                            },
                            "end": {
                              "line": 329,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13029,
                            "end": 13039,
                            "loc": {
                              "start": {
                                "line": 329,
                                "column": 28
                              },
                              "end": {
                                "line": 329,
                                "column": 38
                              },
                              "identifierName": "EventPhase"
                            },
                            "name": "EventPhase"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13040,
                            "end": 13055,
                            "loc": {
                              "start": {
                                "line": 329,
                                "column": 39
                              },
                              "end": {
                                "line": 329,
                                "column": 54
                              },
                              "identifierName": "CAPTURING_PHASE"
                            },
                            "name": "CAPTURING_PHASE"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 捕获阶段。\n         ",
                          "start": 12968,
                          "end": 13000,
                          "loc": {
                            "start": {
                              "line": 326,
                              "column": 8
                            },
                            "end": {
                              "line": 328,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 13074,
                      "end": 13355,
                      "loc": {
                        "start": {
                          "line": 331,
                          "column": 8
                        },
                        "end": {
                          "line": 337,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 13080,
                        "end": 13103,
                        "loc": {
                          "start": {
                            "line": 331,
                            "column": 14
                          },
                          "end": {
                            "line": 331,
                            "column": 37
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 13084,
                            "end": 13103,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 18
                              },
                              "end": {
                                "line": 331,
                                "column": 37
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 13084,
                              "end": 13085,
                              "loc": {
                                "start": {
                                  "line": 331,
                                  "column": 18
                                },
                                "end": {
                                  "line": 331,
                                  "column": 19
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "BinaryExpression",
                              "start": 13088,
                              "end": 13103,
                              "loc": {
                                "start": {
                                  "line": 331,
                                  "column": 22
                                },
                                "end": {
                                  "line": 331,
                                  "column": 37
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 13088,
                                "end": 13099,
                                "loc": {
                                  "start": {
                                    "line": 331,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 331,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13088,
                                  "end": 13092,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 26
                                    },
                                    "identifierName": "path"
                                  },
                                  "name": "path"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13093,
                                  "end": 13099,
                                  "loc": {
                                    "start": {
                                      "line": 331,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 331,
                                      "column": 33
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              },
                              "operator": "-",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 13102,
                                "end": 13103,
                                "loc": {
                                  "start": {
                                    "line": 331,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 331,
                                    "column": 37
                                  }
                                },
                                "extra": {
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                "value": 1
                              }
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 13105,
                        "end": 13138,
                        "loc": {
                          "start": {
                            "line": 331,
                            "column": 39
                          },
                          "end": {
                            "line": 331,
                            "column": 72
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 13105,
                          "end": 13111,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 39
                            },
                            "end": {
                              "line": 331,
                              "column": 45
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 13105,
                            "end": 13106,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 39
                              },
                              "end": {
                                "line": 331,
                                "column": 40
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "operator": ">=",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 13110,
                            "end": 13111,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 44
                              },
                              "end": {
                                "line": 331,
                                "column": 45
                              }
                            },
                            "extra": {
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "value": 1
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 13115,
                          "end": 13138,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 49
                            },
                            "end": {
                              "line": 331,
                              "column": 72
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 13116,
                            "end": 13138,
                            "loc": {
                              "start": {
                                "line": 331,
                                "column": 50
                              },
                              "end": {
                                "line": 331,
                                "column": 72
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 13116,
                              "end": 13121,
                              "loc": {
                                "start": {
                                  "line": 331,
                                  "column": 50
                                },
                                "end": {
                                  "line": 331,
                                  "column": 55
                                },
                                "identifierName": "event"
                              },
                              "name": "event"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 13122,
                              "end": 13138,
                              "loc": {
                                "start": {
                                  "line": 331,
                                  "column": 56
                                },
                                "end": {
                                  "line": 331,
                                  "column": 72
                                },
                                "identifierName": "_stopPropagation"
                              },
                              "name": "_stopPropagation"
                            },
                            "computed": false
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 13140,
                        "end": 13143,
                        "loc": {
                          "start": {
                            "line": 331,
                            "column": 74
                          },
                          "end": {
                            "line": 331,
                            "column": 77
                          }
                        },
                        "operator": "--",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 13142,
                          "end": 13143,
                          "loc": {
                            "start": {
                              "line": 331,
                              "column": 76
                            },
                            "end": {
                              "line": 331,
                              "column": 77
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 13146,
                        "end": 13355,
                        "loc": {
                          "start": {
                            "line": 331,
                            "column": 80
                          },
                          "end": {
                            "line": 337,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 13160,
                            "end": 13191,
                            "loc": {
                              "start": {
                                "line": 332,
                                "column": 12
                              },
                              "end": {
                                "line": 332,
                                "column": 43
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 13160,
                              "end": 13190,
                              "loc": {
                                "start": {
                                  "line": 332,
                                  "column": 12
                                },
                                "end": {
                                  "line": 332,
                                  "column": 42
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 13160,
                                "end": 13180,
                                "loc": {
                                  "start": {
                                    "line": 332,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 332,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13160,
                                  "end": 13165,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 17
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13166,
                                  "end": 13180,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 32
                                    },
                                    "identifierName": "_currentTarget"
                                  },
                                  "name": "_currentTarget"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 13183,
                                "end": 13190,
                                "loc": {
                                  "start": {
                                    "line": 332,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 332,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13183,
                                  "end": 13187,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 39
                                    },
                                    "identifierName": "path"
                                  },
                                  "name": "path"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13188,
                                  "end": 13189,
                                  "loc": {
                                    "start": {
                                      "line": 332,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 332,
                                      "column": 41
                                    },
                                    "identifierName": "i"
                                  },
                                  "name": "i"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 13217,
                            "end": 13345,
                            "loc": {
                              "start": {
                                "line": 334,
                                "column": 12
                              },
                              "end": {
                                "line": 336,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 13222,
                              "end": 13262,
                              "loc": {
                                "start": {
                                  "line": 334,
                                  "column": 17
                                },
                                "end": {
                                  "line": 334,
                                  "column": 57
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 13222,
                                "end": 13241,
                                "loc": {
                                  "start": {
                                    "line": 334,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 334,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13222,
                                  "end": 13227,
                                  "loc": {
                                    "start": {
                                      "line": 334,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 334,
                                      "column": 22
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13228,
                                  "end": 13241,
                                  "loc": {
                                    "start": {
                                      "line": 334,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 334,
                                      "column": 36
                                    },
                                    "identifierName": "currentTarget"
                                  },
                                  "name": "currentTarget"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 13242,
                                "end": 13262,
                                "loc": {
                                  "start": {
                                    "line": 334,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 334,
                                    "column": 57
                                  },
                                  "identifierName": "_dispatchToListeners"
                                },
                                "name": "_dispatchToListeners"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 13265,
                              "end": 13345,
                              "loc": {
                                "start": {
                                  "line": 334,
                                  "column": 60
                                },
                                "end": {
                                  "line": 336,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 13283,
                                  "end": 13331,
                                  "loc": {
                                    "start": {
                                      "line": 335,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 335,
                                      "column": 64
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 13283,
                                    "end": 13330,
                                    "loc": {
                                      "start": {
                                        "line": 335,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 335,
                                        "column": 63
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 13283,
                                      "end": 13323,
                                      "loc": {
                                        "start": {
                                          "line": 335,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 335,
                                          "column": 56
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 13283,
                                        "end": 13302,
                                        "loc": {
                                          "start": {
                                            "line": 335,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 335,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 13283,
                                          "end": 13288,
                                          "loc": {
                                            "start": {
                                              "line": 335,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 335,
                                              "column": 21
                                            },
                                            "identifierName": "event"
                                          },
                                          "name": "event"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 13289,
                                          "end": 13302,
                                          "loc": {
                                            "start": {
                                              "line": 335,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 335,
                                              "column": 35
                                            },
                                            "identifierName": "currentTarget"
                                          },
                                          "name": "currentTarget"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 13303,
                                        "end": 13323,
                                        "loc": {
                                          "start": {
                                            "line": 335,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 335,
                                            "column": 56
                                          },
                                          "identifierName": "_dispatchToListeners"
                                        },
                                        "name": "_dispatchToListeners"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 13324,
                                        "end": 13329,
                                        "loc": {
                                          "start": {
                                            "line": 335,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 335,
                                            "column": 62
                                          },
                                          "identifierName": "event"
                                        },
                                        "name": "event"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 13373,
                      "end": 13496,
                      "loc": {
                        "start": {
                          "line": 339,
                          "column": 8
                        },
                        "end": {
                          "line": 342,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 13378,
                        "end": 13400,
                        "loc": {
                          "start": {
                            "line": 339,
                            "column": 13
                          },
                          "end": {
                            "line": 339,
                            "column": 35
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 13378,
                          "end": 13383,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 13
                            },
                            "end": {
                              "line": 339,
                              "column": 18
                            },
                            "identifierName": "event"
                          },
                          "name": "event"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 13384,
                          "end": 13400,
                          "loc": {
                            "start": {
                              "line": 339,
                              "column": 19
                            },
                            "end": {
                              "line": 339,
                              "column": 35
                            },
                            "identifierName": "_stopPropagation"
                          },
                          "name": "_stopPropagation"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 13403,
                        "end": 13496,
                        "loc": {
                          "start": {
                            "line": 339,
                            "column": 38
                          },
                          "end": {
                            "line": 342,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 13432,
                            "end": 13460,
                            "loc": {
                              "start": {
                                "line": 340,
                                "column": 12
                              },
                              "end": {
                                "line": 340,
                                "column": 40
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 13432,
                              "end": 13459,
                              "loc": {
                                "start": {
                                  "line": 340,
                                  "column": 12
                                },
                                "end": {
                                  "line": 340,
                                  "column": 39
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 13432,
                                "end": 13452,
                                "loc": {
                                  "start": {
                                    "line": 340,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 340,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13432,
                                  "end": 13437,
                                  "loc": {
                                    "start": {
                                      "line": 340,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 340,
                                      "column": 17
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13438,
                                  "end": 13452,
                                  "loc": {
                                    "start": {
                                      "line": 340,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 340,
                                      "column": 32
                                    },
                                    "identifierName": "_currentTarget"
                                  },
                                  "name": "_currentTarget"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "NullLiteral",
                                "start": 13455,
                                "end": 13459,
                                "loc": {
                                  "start": {
                                    "line": 340,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 340,
                                    "column": 39
                                  }
                                }
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " 事件在捕获阶段被中断。",
                                "start": 13405,
                                "end": 13419,
                                "loc": {
                                  "start": {
                                    "line": 339,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 339,
                                    "column": 54
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 13473,
                            "end": 13486,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 12
                              },
                              "end": {
                                "line": 341,
                                "column": 25
                              }
                            },
                            "argument": {
                              "type": "BooleanLiteral",
                              "start": 13480,
                              "end": 13485,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 19
                                },
                                "end": {
                                  "line": 341,
                                  "column": 24
                                }
                              },
                              "value": false
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 目标阶段。\n         ",
                          "start": 13514,
                          "end": 13546,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 8
                            },
                            "end": {
                              "line": 346,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13555,
                      "end": 13596,
                      "loc": {
                        "start": {
                          "line": 347,
                          "column": 8
                        },
                        "end": {
                          "line": 347,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13555,
                        "end": 13595,
                        "loc": {
                          "start": {
                            "line": 347,
                            "column": 8
                          },
                          "end": {
                            "line": 347,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13555,
                          "end": 13572,
                          "loc": {
                            "start": {
                              "line": 347,
                              "column": 8
                            },
                            "end": {
                              "line": 347,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13555,
                            "end": 13560,
                            "loc": {
                              "start": {
                                "line": 347,
                                "column": 8
                              },
                              "end": {
                                "line": 347,
                                "column": 13
                              },
                              "identifierName": "event"
                            },
                            "name": "event",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13561,
                            "end": 13572,
                            "loc": {
                              "start": {
                                "line": 347,
                                "column": 14
                              },
                              "end": {
                                "line": 347,
                                "column": 25
                              },
                              "identifierName": "_eventPhase"
                            },
                            "name": "_eventPhase"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13575,
                          "end": 13595,
                          "loc": {
                            "start": {
                              "line": 347,
                              "column": 28
                            },
                            "end": {
                              "line": 347,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13575,
                            "end": 13585,
                            "loc": {
                              "start": {
                                "line": 347,
                                "column": 28
                              },
                              "end": {
                                "line": 347,
                                "column": 38
                              },
                              "identifierName": "EventPhase"
                            },
                            "name": "EventPhase"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13586,
                            "end": 13595,
                            "loc": {
                              "start": {
                                "line": 347,
                                "column": 39
                              },
                              "end": {
                                "line": 347,
                                "column": 48
                              },
                              "identifierName": "AT_TARGET"
                            },
                            "name": "AT_TARGET"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 目标阶段。\n         ",
                          "start": 13514,
                          "end": 13546,
                          "loc": {
                            "start": {
                              "line": 344,
                              "column": 8
                            },
                            "end": {
                              "line": 346,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13605,
                      "end": 13636,
                      "loc": {
                        "start": {
                          "line": 348,
                          "column": 8
                        },
                        "end": {
                          "line": 348,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13605,
                        "end": 13635,
                        "loc": {
                          "start": {
                            "line": 348,
                            "column": 8
                          },
                          "end": {
                            "line": 348,
                            "column": 38
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13605,
                          "end": 13625,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 8
                            },
                            "end": {
                              "line": 348,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13605,
                            "end": 13610,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 8
                              },
                              "end": {
                                "line": 348,
                                "column": 13
                              },
                              "identifierName": "event"
                            },
                            "name": "event"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13611,
                            "end": 13625,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 14
                              },
                              "end": {
                                "line": 348,
                                "column": 28
                              },
                              "identifierName": "_currentTarget"
                            },
                            "name": "_currentTarget"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13628,
                          "end": 13635,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 31
                            },
                            "end": {
                              "line": 348,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13628,
                            "end": 13632,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 31
                              },
                              "end": {
                                "line": 348,
                                "column": 35
                              },
                              "identifierName": "path"
                            },
                            "name": "path"
                          },
                          "property": {
                            "type": "NumericLiteral",
                            "start": 13633,
                            "end": 13634,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 36
                              },
                              "end": {
                                "line": 348,
                                "column": 37
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          },
                          "computed": true
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 13654,
                      "end": 13774,
                      "loc": {
                        "start": {
                          "line": 350,
                          "column": 8
                        },
                        "end": {
                          "line": 352,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 13659,
                        "end": 13699,
                        "loc": {
                          "start": {
                            "line": 350,
                            "column": 13
                          },
                          "end": {
                            "line": 350,
                            "column": 53
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 13659,
                          "end": 13678,
                          "loc": {
                            "start": {
                              "line": 350,
                              "column": 13
                            },
                            "end": {
                              "line": 350,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13659,
                            "end": 13664,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 13
                              },
                              "end": {
                                "line": 350,
                                "column": 18
                              },
                              "identifierName": "event"
                            },
                            "name": "event"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13665,
                            "end": 13678,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 19
                              },
                              "end": {
                                "line": 350,
                                "column": 32
                              },
                              "identifierName": "currentTarget"
                            },
                            "name": "currentTarget"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 13679,
                          "end": 13699,
                          "loc": {
                            "start": {
                              "line": 350,
                              "column": 33
                            },
                            "end": {
                              "line": 350,
                              "column": 53
                            },
                            "identifierName": "_dispatchToListeners"
                          },
                          "name": "_dispatchToListeners"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 13702,
                        "end": 13774,
                        "loc": {
                          "start": {
                            "line": 350,
                            "column": 56
                          },
                          "end": {
                            "line": 352,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 13716,
                            "end": 13764,
                            "loc": {
                              "start": {
                                "line": 351,
                                "column": 12
                              },
                              "end": {
                                "line": 351,
                                "column": 60
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 13716,
                              "end": 13763,
                              "loc": {
                                "start": {
                                  "line": 351,
                                  "column": 12
                                },
                                "end": {
                                  "line": 351,
                                  "column": 59
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 13716,
                                "end": 13756,
                                "loc": {
                                  "start": {
                                    "line": 351,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 351,
                                    "column": 52
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 13716,
                                  "end": 13735,
                                  "loc": {
                                    "start": {
                                      "line": 351,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 351,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 13716,
                                    "end": 13721,
                                    "loc": {
                                      "start": {
                                        "line": 351,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 351,
                                        "column": 17
                                      },
                                      "identifierName": "event"
                                    },
                                    "name": "event"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 13722,
                                    "end": 13735,
                                    "loc": {
                                      "start": {
                                        "line": 351,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 351,
                                        "column": 31
                                      },
                                      "identifierName": "currentTarget"
                                    },
                                    "name": "currentTarget"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13736,
                                  "end": 13756,
                                  "loc": {
                                    "start": {
                                      "line": 351,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 351,
                                      "column": 52
                                    },
                                    "identifierName": "_dispatchToListeners"
                                  },
                                  "name": "_dispatchToListeners"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 13757,
                                  "end": 13762,
                                  "loc": {
                                    "start": {
                                      "line": 351,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 351,
                                      "column": 58
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 13792,
                      "end": 13918,
                      "loc": {
                        "start": {
                          "line": 354,
                          "column": 8
                        },
                        "end": {
                          "line": 357,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 13797,
                        "end": 13819,
                        "loc": {
                          "start": {
                            "line": 354,
                            "column": 13
                          },
                          "end": {
                            "line": 354,
                            "column": 35
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 13797,
                          "end": 13802,
                          "loc": {
                            "start": {
                              "line": 354,
                              "column": 13
                            },
                            "end": {
                              "line": 354,
                              "column": 18
                            },
                            "identifierName": "event"
                          },
                          "name": "event"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 13803,
                          "end": 13819,
                          "loc": {
                            "start": {
                              "line": 354,
                              "column": 19
                            },
                            "end": {
                              "line": 354,
                              "column": 35
                            },
                            "identifierName": "_stopPropagation"
                          },
                          "name": "_stopPropagation"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 13822,
                        "end": 13918,
                        "loc": {
                          "start": {
                            "line": 354,
                            "column": 38
                          },
                          "end": {
                            "line": 357,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 13836,
                            "end": 13864,
                            "loc": {
                              "start": {
                                "line": 355,
                                "column": 12
                              },
                              "end": {
                                "line": 355,
                                "column": 40
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 13836,
                              "end": 13863,
                              "loc": {
                                "start": {
                                  "line": 355,
                                  "column": 12
                                },
                                "end": {
                                  "line": 355,
                                  "column": 39
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 13836,
                                "end": 13856,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13836,
                                  "end": 13841,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 17
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13842,
                                  "end": 13856,
                                  "loc": {
                                    "start": {
                                      "line": 355,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 355,
                                      "column": 32
                                    },
                                    "identifierName": "_currentTarget"
                                  },
                                  "name": "_currentTarget"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "NullLiteral",
                                "start": 13859,
                                "end": 13863,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 39
                                  }
                                }
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 13877,
                            "end": 13908,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 12
                              },
                              "end": {
                                "line": 356,
                                "column": 43
                              }
                            },
                            "argument": {
                              "type": "UnaryExpression",
                              "start": 13884,
                              "end": 13907,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 19
                                },
                                "end": {
                                  "line": 356,
                                  "column": 42
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 13885,
                                "end": 13907,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 13885,
                                  "end": 13890,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 25
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 13891,
                                  "end": 13907,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 42
                                    },
                                    "identifierName": "defaultPrevented"
                                  },
                                  "name": "defaultPrevented"
                                },
                                "computed": false
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 冒泡阶段。\n         ",
                          "start": 13936,
                          "end": 13968,
                          "loc": {
                            "start": {
                              "line": 359,
                              "column": 8
                            },
                            "end": {
                              "line": 361,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 13977,
                      "end": 14023,
                      "loc": {
                        "start": {
                          "line": 362,
                          "column": 8
                        },
                        "end": {
                          "line": 362,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 13977,
                        "end": 14022,
                        "loc": {
                          "start": {
                            "line": 362,
                            "column": 8
                          },
                          "end": {
                            "line": 362,
                            "column": 53
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 13977,
                          "end": 13994,
                          "loc": {
                            "start": {
                              "line": 362,
                              "column": 8
                            },
                            "end": {
                              "line": 362,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13977,
                            "end": 13982,
                            "loc": {
                              "start": {
                                "line": 362,
                                "column": 8
                              },
                              "end": {
                                "line": 362,
                                "column": 13
                              },
                              "identifierName": "event"
                            },
                            "name": "event",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 13983,
                            "end": 13994,
                            "loc": {
                              "start": {
                                "line": 362,
                                "column": 14
                              },
                              "end": {
                                "line": 362,
                                "column": 25
                              },
                              "identifierName": "_eventPhase"
                            },
                            "name": "_eventPhase"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 13997,
                          "end": 14022,
                          "loc": {
                            "start": {
                              "line": 362,
                              "column": 28
                            },
                            "end": {
                              "line": 362,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 13997,
                            "end": 14007,
                            "loc": {
                              "start": {
                                "line": 362,
                                "column": 28
                              },
                              "end": {
                                "line": 362,
                                "column": 38
                              },
                              "identifierName": "EventPhase"
                            },
                            "name": "EventPhase"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14008,
                            "end": 14022,
                            "loc": {
                              "start": {
                                "line": 362,
                                "column": 39
                              },
                              "end": {
                                "line": 362,
                                "column": 53
                              },
                              "identifierName": "BUBBLING_PHASE"
                            },
                            "name": "BUBBLING_PHASE"
                          },
                          "computed": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 冒泡阶段。\n         ",
                          "start": 13936,
                          "end": 13968,
                          "loc": {
                            "start": {
                              "line": 359,
                              "column": 8
                            },
                            "end": {
                              "line": 361,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 14041,
                      "end": 14317,
                      "loc": {
                        "start": {
                          "line": 364,
                          "column": 8
                        },
                        "end": {
                          "line": 370,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 14047,
                        "end": 14056,
                        "loc": {
                          "start": {
                            "line": 364,
                            "column": 14
                          },
                          "end": {
                            "line": 364,
                            "column": 23
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 14051,
                            "end": 14056,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 18
                              },
                              "end": {
                                "line": 364,
                                "column": 23
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 14051,
                              "end": 14052,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 18
                                },
                                "end": {
                                  "line": 364,
                                  "column": 19
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "NumericLiteral",
                              "start": 14055,
                              "end": 14056,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 22
                                },
                                "end": {
                                  "line": 364,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "value": 1
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 14058,
                        "end": 14100,
                        "loc": {
                          "start": {
                            "line": 364,
                            "column": 25
                          },
                          "end": {
                            "line": 364,
                            "column": 67
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 14058,
                          "end": 14073,
                          "loc": {
                            "start": {
                              "line": 364,
                              "column": 25
                            },
                            "end": {
                              "line": 364,
                              "column": 40
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 14058,
                            "end": 14059,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 25
                              },
                              "end": {
                                "line": 364,
                                "column": 26
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "operator": "<",
                          "right": {
                            "type": "MemberExpression",
                            "start": 14062,
                            "end": 14073,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 29
                              },
                              "end": {
                                "line": 364,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14062,
                              "end": 14066,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 29
                                },
                                "end": {
                                  "line": 364,
                                  "column": 33
                                },
                                "identifierName": "path"
                              },
                              "name": "path"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14067,
                              "end": 14073,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 34
                                },
                                "end": {
                                  "line": 364,
                                  "column": 40
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 14077,
                          "end": 14100,
                          "loc": {
                            "start": {
                              "line": 364,
                              "column": 44
                            },
                            "end": {
                              "line": 364,
                              "column": 67
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 14078,
                            "end": 14100,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 45
                              },
                              "end": {
                                "line": 364,
                                "column": 67
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14078,
                              "end": 14083,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 45
                                },
                                "end": {
                                  "line": 364,
                                  "column": 50
                                },
                                "identifierName": "event"
                              },
                              "name": "event"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14084,
                              "end": 14100,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 51
                                },
                                "end": {
                                  "line": 364,
                                  "column": 67
                                },
                                "identifierName": "_stopPropagation"
                              },
                              "name": "_stopPropagation"
                            },
                            "computed": false
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 14102,
                        "end": 14105,
                        "loc": {
                          "start": {
                            "line": 364,
                            "column": 69
                          },
                          "end": {
                            "line": 364,
                            "column": 72
                          }
                        },
                        "operator": "++",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 14104,
                          "end": 14105,
                          "loc": {
                            "start": {
                              "line": 364,
                              "column": 71
                            },
                            "end": {
                              "line": 364,
                              "column": 72
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 14108,
                        "end": 14317,
                        "loc": {
                          "start": {
                            "line": 364,
                            "column": 75
                          },
                          "end": {
                            "line": 370,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 14122,
                            "end": 14153,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 12
                              },
                              "end": {
                                "line": 365,
                                "column": 43
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 14122,
                              "end": 14152,
                              "loc": {
                                "start": {
                                  "line": 365,
                                  "column": 12
                                },
                                "end": {
                                  "line": 365,
                                  "column": 42
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 14122,
                                "end": 14142,
                                "loc": {
                                  "start": {
                                    "line": 365,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 365,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 14122,
                                  "end": 14127,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 17
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14128,
                                  "end": 14142,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 32
                                    },
                                    "identifierName": "_currentTarget"
                                  },
                                  "name": "_currentTarget"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 14145,
                                "end": 14152,
                                "loc": {
                                  "start": {
                                    "line": 365,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 365,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 14145,
                                  "end": 14149,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 39
                                    },
                                    "identifierName": "path"
                                  },
                                  "name": "path"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14150,
                                  "end": 14151,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 41
                                    },
                                    "identifierName": "i"
                                  },
                                  "name": "i"
                                },
                                "computed": true
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 14179,
                            "end": 14307,
                            "loc": {
                              "start": {
                                "line": 367,
                                "column": 12
                              },
                              "end": {
                                "line": 369,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 14184,
                              "end": 14224,
                              "loc": {
                                "start": {
                                  "line": 367,
                                  "column": 17
                                },
                                "end": {
                                  "line": 367,
                                  "column": 57
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 14184,
                                "end": 14203,
                                "loc": {
                                  "start": {
                                    "line": 367,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 367,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 14184,
                                  "end": 14189,
                                  "loc": {
                                    "start": {
                                      "line": 367,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 367,
                                      "column": 22
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14190,
                                  "end": 14203,
                                  "loc": {
                                    "start": {
                                      "line": 367,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 367,
                                      "column": 36
                                    },
                                    "identifierName": "currentTarget"
                                  },
                                  "name": "currentTarget"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14204,
                                "end": 14224,
                                "loc": {
                                  "start": {
                                    "line": 367,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 367,
                                    "column": 57
                                  },
                                  "identifierName": "_dispatchToListeners"
                                },
                                "name": "_dispatchToListeners"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 14227,
                              "end": 14307,
                              "loc": {
                                "start": {
                                  "line": 367,
                                  "column": 60
                                },
                                "end": {
                                  "line": 369,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 14245,
                                  "end": 14293,
                                  "loc": {
                                    "start": {
                                      "line": 368,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 368,
                                      "column": 64
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 14245,
                                    "end": 14292,
                                    "loc": {
                                      "start": {
                                        "line": 368,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 368,
                                        "column": 63
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 14245,
                                      "end": 14285,
                                      "loc": {
                                        "start": {
                                          "line": 368,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 368,
                                          "column": 56
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 14245,
                                        "end": 14264,
                                        "loc": {
                                          "start": {
                                            "line": 368,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 368,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 14245,
                                          "end": 14250,
                                          "loc": {
                                            "start": {
                                              "line": 368,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 368,
                                              "column": 21
                                            },
                                            "identifierName": "event"
                                          },
                                          "name": "event"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 14251,
                                          "end": 14264,
                                          "loc": {
                                            "start": {
                                              "line": 368,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 368,
                                              "column": 35
                                            },
                                            "identifierName": "currentTarget"
                                          },
                                          "name": "currentTarget"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 14265,
                                        "end": 14285,
                                        "loc": {
                                          "start": {
                                            "line": 368,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 368,
                                            "column": 56
                                          },
                                          "identifierName": "_dispatchToListeners"
                                        },
                                        "name": "_dispatchToListeners"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 14286,
                                        "end": 14291,
                                        "loc": {
                                          "start": {
                                            "line": 368,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 368,
                                            "column": 62
                                          },
                                          "identifierName": "event"
                                        },
                                        "name": "event"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14335,
                      "end": 14363,
                      "loc": {
                        "start": {
                          "line": 372,
                          "column": 8
                        },
                        "end": {
                          "line": 372,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14335,
                        "end": 14362,
                        "loc": {
                          "start": {
                            "line": 372,
                            "column": 8
                          },
                          "end": {
                            "line": 372,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14335,
                          "end": 14355,
                          "loc": {
                            "start": {
                              "line": 372,
                              "column": 8
                            },
                            "end": {
                              "line": 372,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14335,
                            "end": 14340,
                            "loc": {
                              "start": {
                                "line": 372,
                                "column": 8
                              },
                              "end": {
                                "line": 372,
                                "column": 13
                              },
                              "identifierName": "event"
                            },
                            "name": "event"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14341,
                            "end": 14355,
                            "loc": {
                              "start": {
                                "line": 372,
                                "column": 14
                              },
                              "end": {
                                "line": 372,
                                "column": 28
                              },
                              "identifierName": "_currentTarget"
                            },
                            "name": "_currentTarget"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NullLiteral",
                          "start": 14358,
                          "end": 14362,
                          "loc": {
                            "start": {
                              "line": 372,
                              "column": 31
                            },
                            "end": {
                              "line": 372,
                              "column": 35
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 14372,
                      "end": 14403,
                      "loc": {
                        "start": {
                          "line": 373,
                          "column": 8
                        },
                        "end": {
                          "line": 373,
                          "column": 39
                        }
                      },
                      "argument": {
                        "type": "UnaryExpression",
                        "start": 14379,
                        "end": 14402,
                        "loc": {
                          "start": {
                            "line": 373,
                            "column": 15
                          },
                          "end": {
                            "line": 373,
                            "column": 38
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 14380,
                          "end": 14402,
                          "loc": {
                            "start": {
                              "line": 373,
                              "column": 16
                            },
                            "end": {
                              "line": 373,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 14380,
                            "end": 14385,
                            "loc": {
                              "start": {
                                "line": 373,
                                "column": 16
                              },
                              "end": {
                                "line": 373,
                                "column": 21
                              },
                              "identifierName": "event"
                            },
                            "name": "event"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 14386,
                            "end": 14402,
                            "loc": {
                              "start": {
                                "line": 373,
                                "column": 22
                              },
                              "end": {
                                "line": 373,
                                "column": 38
                              },
                              "identifierName": "defaultPrevented"
                            },
                            "name": "defaultPrevented"
                          },
                          "computed": false
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 派发一个事件对象到目标对象的事件流中。\n     * @param {Event|String|Symbol} event - 指定派发的事件对象。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * \n     * dispatcher.dispatchEvent(new Event(\"custom\", false, false)); // 派发一个不冒泡的事件。\n     * dispatcher.dispatchEvent(new Event(\"custom\", true, false)); // 派发一个参与冒泡的事件。\n     * @returns {Boolean} - 如果事件传递到了当前目标对象，并且没有被取消默认行为。则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
                    "start": 11247,
                    "end": 11679,
                    "loc": {
                      "start": {
                        "line": 275,
                        "column": 4
                      },
                      "end": {
                        "line": 285,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 执行所有的侦听器。\n     * @param {Event} event - 指定派发的事件对象。\n     ",
                    "start": 14419,
                    "end": 14488,
                    "loc": {
                      "start": {
                        "line": 376,
                        "column": 4
                      },
                      "end": {
                        "line": 379,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 14493,
                "end": 15930,
                "loc": {
                  "start": {
                    "line": 380,
                    "column": 4
                  },
                  "end": {
                    "line": 425,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 14493,
                  "end": 14513,
                  "loc": {
                    "start": {
                      "line": 380,
                      "column": 4
                    },
                    "end": {
                      "line": 380,
                      "column": 24
                    },
                    "identifierName": "_dispatchToListeners"
                  },
                  "name": "_dispatchToListeners",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 14515,
                    "end": 14520,
                    "loc": {
                      "start": {
                        "line": 380,
                        "column": 26
                      },
                      "end": {
                        "line": 380,
                        "column": 31
                      },
                      "identifierName": "event"
                    },
                    "name": "event"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 14523,
                  "end": 15930,
                  "loc": {
                    "start": {
                      "line": 380,
                      "column": 34
                    },
                    "end": {
                      "line": 425,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 14533,
                      "end": 14606,
                      "loc": {
                        "start": {
                          "line": 381,
                          "column": 8
                        },
                        "end": {
                          "line": 383,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 14538,
                        "end": 14572,
                        "loc": {
                          "start": {
                            "line": 381,
                            "column": 13
                          },
                          "end": {
                            "line": 381,
                            "column": 47
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 14539,
                          "end": 14572,
                          "loc": {
                            "start": {
                              "line": 381,
                              "column": 14
                            },
                            "end": {
                              "line": 381,
                              "column": 47
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 14539,
                            "end": 14560,
                            "loc": {
                              "start": {
                                "line": 381,
                                "column": 14
                              },
                              "end": {
                                "line": 381,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14539,
                              "end": 14543,
                              "loc": {
                                "start": {
                                  "line": 381,
                                  "column": 14
                                },
                                "end": {
                                  "line": 381,
                                  "column": 18
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14544,
                              "end": 14560,
                              "loc": {
                                "start": {
                                  "line": 381,
                                  "column": 19
                                },
                                "end": {
                                  "line": 381,
                                  "column": 35
                                },
                                "identifierName": "hasEventListener"
                              },
                              "name": "hasEventListener"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 14561,
                              "end": 14571,
                              "loc": {
                                "start": {
                                  "line": 381,
                                  "column": 36
                                },
                                "end": {
                                  "line": 381,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 14561,
                                "end": 14566,
                                "loc": {
                                  "start": {
                                    "line": 381,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 41
                                  },
                                  "identifierName": "event"
                                },
                                "name": "event"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 14567,
                                "end": 14571,
                                "loc": {
                                  "start": {
                                    "line": 381,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 381,
                                    "column": 46
                                  },
                                  "identifierName": "type"
                                },
                                "name": "type"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 14575,
                        "end": 14606,
                        "loc": {
                          "start": {
                            "line": 381,
                            "column": 50
                          },
                          "end": {
                            "line": 383,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 14589,
                            "end": 14596,
                            "loc": {
                              "start": {
                                "line": 382,
                                "column": 12
                              },
                              "end": {
                                "line": 382,
                                "column": 19
                              }
                            },
                            "argument": null
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 锁定侦听器列表。\n         ",
                          "start": 14624,
                          "end": 14659,
                          "loc": {
                            "start": {
                              "line": 385,
                              "column": 8
                            },
                            "end": {
                              "line": 387,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 14668,
                      "end": 14709,
                      "loc": {
                        "start": {
                          "line": 388,
                          "column": 8
                        },
                        "end": {
                          "line": 388,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 14668,
                        "end": 14708,
                        "loc": {
                          "start": {
                            "line": 388,
                            "column": 8
                          },
                          "end": {
                            "line": 388,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 14668,
                          "end": 14701,
                          "loc": {
                            "start": {
                              "line": 388,
                              "column": 8
                            },
                            "end": {
                              "line": 388,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 14668,
                            "end": 14689,
                            "loc": {
                              "start": {
                                "line": 388,
                                "column": 8
                              },
                              "end": {
                                "line": 388,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 14668,
                              "end": 14672,
                              "loc": {
                                "start": {
                                  "line": 388,
                                  "column": 8
                                },
                                "end": {
                                  "line": 388,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14673,
                              "end": 14689,
                              "loc": {
                                "start": {
                                  "line": 388,
                                  "column": 13
                                },
                                "end": {
                                  "line": 388,
                                  "column": 29
                                },
                                "identifierName": "_listenerLockers"
                              },
                              "name": "_listenerLockers"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "MemberExpression",
                            "start": 14690,
                            "end": 14700,
                            "loc": {
                              "start": {
                                "line": 388,
                                "column": 30
                              },
                              "end": {
                                "line": 388,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14690,
                              "end": 14695,
                              "loc": {
                                "start": {
                                  "line": 388,
                                  "column": 30
                                },
                                "end": {
                                  "line": 388,
                                  "column": 35
                                },
                                "identifierName": "event"
                              },
                              "name": "event"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14696,
                              "end": 14700,
                              "loc": {
                                "start": {
                                  "line": 388,
                                  "column": 36
                                },
                                "end": {
                                  "line": 388,
                                  "column": 40
                                },
                                "identifierName": "type"
                              },
                              "name": "type"
                            },
                            "computed": false
                          },
                          "computed": true,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 14704,
                          "end": 14708,
                          "loc": {
                            "start": {
                              "line": 388,
                              "column": 44
                            },
                            "end": {
                              "line": 388,
                              "column": 48
                            }
                          },
                          "value": true
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 锁定侦听器列表。\n         ",
                          "start": 14624,
                          "end": 14659,
                          "loc": {
                            "start": {
                              "line": 385,
                              "column": 8
                            },
                            "end": {
                              "line": 387,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 执行侦听器\n         ",
                          "start": 14727,
                          "end": 14759,
                          "loc": {
                            "start": {
                              "line": 390,
                              "column": 8
                            },
                            "end": {
                              "line": 392,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ForStatement",
                      "start": 14768,
                      "end": 15820,
                      "loc": {
                        "start": {
                          "line": 393,
                          "column": 8
                        },
                        "end": {
                          "line": 419,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 14774,
                        "end": 14827,
                        "loc": {
                          "start": {
                            "line": 393,
                            "column": 14
                          },
                          "end": {
                            "line": 393,
                            "column": 67
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 14778,
                            "end": 14783,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 18
                              },
                              "end": {
                                "line": 393,
                                "column": 23
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 14778,
                              "end": 14779,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 18
                                },
                                "end": {
                                  "line": 393,
                                  "column": 19
                                },
                                "identifierName": "i"
                              },
                              "name": "i",
                              "leadingComments": null
                            },
                            "init": {
                              "type": "NumericLiteral",
                              "start": 14782,
                              "end": 14783,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 22
                                },
                                "end": {
                                  "line": 393,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            },
                            "leadingComments": null
                          },
                          {
                            "type": "VariableDeclarator",
                            "start": 14785,
                            "end": 14827,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 25
                              },
                              "end": {
                                "line": 393,
                                "column": 67
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 14785,
                              "end": 14790,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 25
                                },
                                "end": {
                                  "line": 393,
                                  "column": 30
                                },
                                "identifierName": "items"
                              },
                              "name": "items"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 14793,
                              "end": 14827,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 33
                                },
                                "end": {
                                  "line": 393,
                                  "column": 67
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 14793,
                                "end": 14815,
                                "loc": {
                                  "start": {
                                    "line": 393,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 393,
                                    "column": 55
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 14793,
                                  "end": 14797,
                                  "loc": {
                                    "start": {
                                      "line": 393,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 393,
                                      "column": 37
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14798,
                                  "end": 14815,
                                  "loc": {
                                    "start": {
                                      "line": 393,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 393,
                                      "column": 55
                                    },
                                    "identifierName": "_listenerRegister"
                                  },
                                  "name": "_listenerRegister"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "MemberExpression",
                                "start": 14816,
                                "end": 14826,
                                "loc": {
                                  "start": {
                                    "line": 393,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 393,
                                    "column": 66
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 14816,
                                  "end": 14821,
                                  "loc": {
                                    "start": {
                                      "line": 393,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 393,
                                      "column": 61
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 14822,
                                  "end": 14826,
                                  "loc": {
                                    "start": {
                                      "line": 393,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 393,
                                      "column": 66
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                },
                                "computed": false
                              },
                              "computed": true
                            }
                          }
                        ],
                        "kind": "let",
                        "leadingComments": null
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 14829,
                        "end": 14881,
                        "loc": {
                          "start": {
                            "line": 393,
                            "column": 69
                          },
                          "end": {
                            "line": 393,
                            "column": 121
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 14829,
                          "end": 14845,
                          "loc": {
                            "start": {
                              "line": 393,
                              "column": 69
                            },
                            "end": {
                              "line": 393,
                              "column": 85
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 14829,
                            "end": 14830,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 69
                              },
                              "end": {
                                "line": 393,
                                "column": 70
                              },
                              "identifierName": "i"
                            },
                            "name": "i"
                          },
                          "operator": "<",
                          "right": {
                            "type": "MemberExpression",
                            "start": 14833,
                            "end": 14845,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 73
                              },
                              "end": {
                                "line": 393,
                                "column": 85
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14833,
                              "end": 14838,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 73
                                },
                                "end": {
                                  "line": 393,
                                  "column": 78
                                },
                                "identifierName": "items"
                              },
                              "name": "items"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14839,
                              "end": 14845,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 79
                                },
                                "end": {
                                  "line": 393,
                                  "column": 85
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 14849,
                          "end": 14881,
                          "loc": {
                            "start": {
                              "line": 393,
                              "column": 89
                            },
                            "end": {
                              "line": 393,
                              "column": 121
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 14850,
                            "end": 14881,
                            "loc": {
                              "start": {
                                "line": 393,
                                "column": 90
                              },
                              "end": {
                                "line": 393,
                                "column": 121
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 14850,
                              "end": 14855,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 90
                                },
                                "end": {
                                  "line": 393,
                                  "column": 95
                                },
                                "identifierName": "event"
                              },
                              "name": "event"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 14856,
                              "end": 14881,
                              "loc": {
                                "start": {
                                  "line": 393,
                                  "column": 96
                                },
                                "end": {
                                  "line": 393,
                                  "column": 121
                                },
                                "identifierName": "_stopImmediatePropagation"
                              },
                              "name": "_stopImmediatePropagation"
                            },
                            "computed": false
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 14883,
                        "end": 14886,
                        "loc": {
                          "start": {
                            "line": 393,
                            "column": 123
                          },
                          "end": {
                            "line": 393,
                            "column": 126
                          }
                        },
                        "operator": "++",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 14885,
                          "end": 14886,
                          "loc": {
                            "start": {
                              "line": 393,
                              "column": 125
                            },
                            "end": {
                              "line": 393,
                              "column": 126
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 14889,
                        "end": 15820,
                        "loc": {
                          "start": {
                            "line": 393,
                            "column": 129
                          },
                          "end": {
                            "line": 419,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 14944,
                            "end": 14970,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 12
                              },
                              "end": {
                                "line": 395,
                                "column": 38
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 14950,
                                "end": 14969,
                                "loc": {
                                  "start": {
                                    "line": 395,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 395,
                                    "column": 37
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 14950,
                                  "end": 14958,
                                  "loc": {
                                    "start": {
                                      "line": 395,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 395,
                                      "column": 26
                                    },
                                    "identifierName": "listener"
                                  },
                                  "name": "listener",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 14961,
                                  "end": 14969,
                                  "loc": {
                                    "start": {
                                      "line": 395,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 395,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 14961,
                                    "end": 14966,
                                    "loc": {
                                      "start": {
                                        "line": 395,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 395,
                                        "column": 34
                                      },
                                      "identifierName": "items"
                                    },
                                    "name": "items"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 14967,
                                    "end": 14968,
                                    "loc": {
                                      "start": {
                                        "line": 395,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 395,
                                        "column": 36
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "const",
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "* @type {EventListener} ",
                                "start": 14903,
                                "end": 14931,
                                "loc": {
                                  "start": {
                                    "line": 394,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 394,
                                    "column": 40
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "SwitchStatement",
                            "start": 14996,
                            "end": 15579,
                            "loc": {
                              "start": {
                                "line": 397,
                                "column": 12
                              },
                              "end": {
                                "line": 411,
                                "column": 13
                              }
                            },
                            "discriminant": {
                              "type": "MemberExpression",
                              "start": 15004,
                              "end": 15020,
                              "loc": {
                                "start": {
                                  "line": 397,
                                  "column": 20
                                },
                                "end": {
                                  "line": 397,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 15004,
                                "end": 15009,
                                "loc": {
                                  "start": {
                                    "line": 397,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 397,
                                    "column": 25
                                  },
                                  "identifierName": "event"
                                },
                                "name": "event"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15010,
                                "end": 15020,
                                "loc": {
                                  "start": {
                                    "line": 397,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 397,
                                    "column": 36
                                  },
                                  "identifierName": "eventPhase"
                                },
                                "name": "eventPhase"
                              },
                              "computed": false
                            },
                            "cases": [
                              {
                                "type": "SwitchCase",
                                "start": 15041,
                                "end": 15189,
                                "loc": {
                                  "start": {
                                    "line": 398,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 400,
                                    "column": 26
                                  }
                                },
                                "consequent": [
                                  {
                                    "type": "IfStatement",
                                    "start": 15095,
                                    "end": 15162,
                                    "loc": {
                                      "start": {
                                        "line": 399,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 399,
                                        "column": 87
                                      }
                                    },
                                    "test": {
                                      "type": "MemberExpression",
                                      "start": 15100,
                                      "end": 15127,
                                      "loc": {
                                        "start": {
                                          "line": 399,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 399,
                                          "column": 52
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 15100,
                                        "end": 15116,
                                        "loc": {
                                          "start": {
                                            "line": 399,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 399,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 15100,
                                          "end": 15108,
                                          "loc": {
                                            "start": {
                                              "line": 399,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 399,
                                              "column": 33
                                            },
                                            "identifierName": "listener"
                                          },
                                          "name": "listener"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15109,
                                          "end": 15116,
                                          "loc": {
                                            "start": {
                                              "line": 399,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 399,
                                              "column": 41
                                            },
                                            "identifierName": "options"
                                          },
                                          "name": "options"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 15117,
                                        "end": 15127,
                                        "loc": {
                                          "start": {
                                            "line": 399,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 399,
                                            "column": 52
                                          },
                                          "identifierName": "useCapture"
                                        },
                                        "name": "useCapture"
                                      },
                                      "computed": false
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 15130,
                                      "end": 15162,
                                      "loc": {
                                        "start": {
                                          "line": 399,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 399,
                                          "column": 87
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 15132,
                                          "end": 15160,
                                          "loc": {
                                            "start": {
                                              "line": 399,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 399,
                                              "column": 85
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 15132,
                                            "end": 15159,
                                            "loc": {
                                              "start": {
                                                "line": 399,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 399,
                                                "column": 84
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 15132,
                                              "end": 15152,
                                              "loc": {
                                                "start": {
                                                  "line": 399,
                                                  "column": 57
                                                },
                                                "end": {
                                                  "line": 399,
                                                  "column": 77
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 15132,
                                                "end": 15140,
                                                "loc": {
                                                  "start": {
                                                    "line": 399,
                                                    "column": 57
                                                  },
                                                  "end": {
                                                    "line": 399,
                                                    "column": 65
                                                  },
                                                  "identifierName": "listener"
                                                },
                                                "name": "listener"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 15141,
                                                "end": 15152,
                                                "loc": {
                                                  "start": {
                                                    "line": 399,
                                                    "column": 66
                                                  },
                                                  "end": {
                                                    "line": 399,
                                                    "column": 77
                                                  },
                                                  "identifierName": "handleEvent"
                                                },
                                                "name": "handleEvent"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 15153,
                                                "end": 15158,
                                                "loc": {
                                                  "start": {
                                                    "line": 399,
                                                    "column": 78
                                                  },
                                                  "end": {
                                                    "line": 399,
                                                    "column": 83
                                                  },
                                                  "identifierName": "event"
                                                },
                                                "name": "event"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "BreakStatement",
                                    "start": 15183,
                                    "end": 15189,
                                    "loc": {
                                      "start": {
                                        "line": 400,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 400,
                                        "column": 26
                                      }
                                    },
                                    "label": null
                                  }
                                ],
                                "test": {
                                  "type": "MemberExpression",
                                  "start": 15046,
                                  "end": 15072,
                                  "loc": {
                                    "start": {
                                      "line": 398,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 398,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15046,
                                    "end": 15056,
                                    "loc": {
                                      "start": {
                                        "line": 398,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 398,
                                        "column": 31
                                      },
                                      "identifierName": "EventPhase"
                                    },
                                    "name": "EventPhase"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15057,
                                    "end": 15072,
                                    "loc": {
                                      "start": {
                                        "line": 398,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 398,
                                        "column": 47
                                      },
                                      "identifierName": "CAPTURING_PHASE"
                                    },
                                    "name": "CAPTURING_PHASE"
                                  },
                                  "computed": false
                                }
                              },
                              {
                                "type": "SwitchCase",
                                "start": 15227,
                                "end": 15330,
                                "loc": {
                                  "start": {
                                    "line": 402,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 404,
                                    "column": 26
                                  }
                                },
                                "consequent": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 15275,
                                    "end": 15303,
                                    "loc": {
                                      "start": {
                                        "line": 403,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 403,
                                        "column": 48
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 15275,
                                      "end": 15302,
                                      "loc": {
                                        "start": {
                                          "line": 403,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 403,
                                          "column": 47
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 15275,
                                        "end": 15295,
                                        "loc": {
                                          "start": {
                                            "line": 403,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 403,
                                            "column": 40
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 15275,
                                          "end": 15283,
                                          "loc": {
                                            "start": {
                                              "line": 403,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 403,
                                              "column": 28
                                            },
                                            "identifierName": "listener"
                                          },
                                          "name": "listener"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15284,
                                          "end": 15295,
                                          "loc": {
                                            "start": {
                                              "line": 403,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 403,
                                              "column": 40
                                            },
                                            "identifierName": "handleEvent"
                                          },
                                          "name": "handleEvent"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 15296,
                                          "end": 15301,
                                          "loc": {
                                            "start": {
                                              "line": 403,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 403,
                                              "column": 46
                                            },
                                            "identifierName": "event"
                                          },
                                          "name": "event"
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "BreakStatement",
                                    "start": 15324,
                                    "end": 15330,
                                    "loc": {
                                      "start": {
                                        "line": 404,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 404,
                                        "column": 26
                                      }
                                    },
                                    "label": null
                                  }
                                ],
                                "test": {
                                  "type": "MemberExpression",
                                  "start": 15232,
                                  "end": 15252,
                                  "loc": {
                                    "start": {
                                      "line": 402,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 402,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15232,
                                    "end": 15242,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 31
                                      },
                                      "identifierName": "EventPhase"
                                    },
                                    "name": "EventPhase"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15243,
                                    "end": 15252,
                                    "loc": {
                                      "start": {
                                        "line": 402,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 402,
                                        "column": 41
                                      },
                                      "identifierName": "AT_TARGET"
                                    },
                                    "name": "AT_TARGET"
                                  },
                                  "computed": false
                                }
                              },
                              {
                                "type": "SwitchCase",
                                "start": 15368,
                                "end": 15516,
                                "loc": {
                                  "start": {
                                    "line": 406,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 408,
                                    "column": 26
                                  }
                                },
                                "consequent": [
                                  {
                                    "type": "IfStatement",
                                    "start": 15421,
                                    "end": 15489,
                                    "loc": {
                                      "start": {
                                        "line": 407,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 407,
                                        "column": 88
                                      }
                                    },
                                    "test": {
                                      "type": "UnaryExpression",
                                      "start": 15426,
                                      "end": 15454,
                                      "loc": {
                                        "start": {
                                          "line": 407,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 407,
                                          "column": 53
                                        }
                                      },
                                      "operator": "!",
                                      "prefix": true,
                                      "argument": {
                                        "type": "MemberExpression",
                                        "start": 15427,
                                        "end": 15454,
                                        "loc": {
                                          "start": {
                                            "line": 407,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 407,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15427,
                                          "end": 15443,
                                          "loc": {
                                            "start": {
                                              "line": 407,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 407,
                                              "column": 42
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 15427,
                                            "end": 15435,
                                            "loc": {
                                              "start": {
                                                "line": 407,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 407,
                                                "column": 34
                                              },
                                              "identifierName": "listener"
                                            },
                                            "name": "listener"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15436,
                                            "end": 15443,
                                            "loc": {
                                              "start": {
                                                "line": 407,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 407,
                                                "column": 42
                                              },
                                              "identifierName": "options"
                                            },
                                            "name": "options"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15444,
                                          "end": 15454,
                                          "loc": {
                                            "start": {
                                              "line": 407,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 407,
                                              "column": 53
                                            },
                                            "identifierName": "useCapture"
                                          },
                                          "name": "useCapture"
                                        },
                                        "computed": false
                                      },
                                      "extra": {
                                        "parenthesizedArgument": false
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 15457,
                                      "end": 15489,
                                      "loc": {
                                        "start": {
                                          "line": 407,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 407,
                                          "column": 88
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 15459,
                                          "end": 15487,
                                          "loc": {
                                            "start": {
                                              "line": 407,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 407,
                                              "column": 86
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 15459,
                                            "end": 15486,
                                            "loc": {
                                              "start": {
                                                "line": 407,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 407,
                                                "column": 85
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 15459,
                                              "end": 15479,
                                              "loc": {
                                                "start": {
                                                  "line": 407,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 407,
                                                  "column": 78
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 15459,
                                                "end": 15467,
                                                "loc": {
                                                  "start": {
                                                    "line": 407,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 407,
                                                    "column": 66
                                                  },
                                                  "identifierName": "listener"
                                                },
                                                "name": "listener"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 15468,
                                                "end": 15479,
                                                "loc": {
                                                  "start": {
                                                    "line": 407,
                                                    "column": 67
                                                  },
                                                  "end": {
                                                    "line": 407,
                                                    "column": 78
                                                  },
                                                  "identifierName": "handleEvent"
                                                },
                                                "name": "handleEvent"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 15480,
                                                "end": 15485,
                                                "loc": {
                                                  "start": {
                                                    "line": 407,
                                                    "column": 79
                                                  },
                                                  "end": {
                                                    "line": 407,
                                                    "column": 84
                                                  },
                                                  "identifierName": "event"
                                                },
                                                "name": "event"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "BreakStatement",
                                    "start": 15510,
                                    "end": 15516,
                                    "loc": {
                                      "start": {
                                        "line": 408,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 408,
                                        "column": 26
                                      }
                                    },
                                    "label": null
                                  }
                                ],
                                "test": {
                                  "type": "MemberExpression",
                                  "start": 15373,
                                  "end": 15398,
                                  "loc": {
                                    "start": {
                                      "line": 406,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 406,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15373,
                                    "end": 15383,
                                    "loc": {
                                      "start": {
                                        "line": 406,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 406,
                                        "column": 31
                                      },
                                      "identifierName": "EventPhase"
                                    },
                                    "name": "EventPhase"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15384,
                                    "end": 15398,
                                    "loc": {
                                      "start": {
                                        "line": 406,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 406,
                                        "column": 46
                                      },
                                      "identifierName": "BUBBLING_PHASE"
                                    },
                                    "name": "BUBBLING_PHASE"
                                  },
                                  "computed": false
                                }
                              },
                              {
                                "type": "SwitchCase",
                                "start": 15550,
                                "end": 15565,
                                "loc": {
                                  "start": {
                                    "line": 410,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 410,
                                    "column": 31
                                  }
                                },
                                "consequent": [
                                  {
                                    "type": "BreakStatement",
                                    "start": 15559,
                                    "end": 15565,
                                    "loc": {
                                      "start": {
                                        "line": 410,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 410,
                                        "column": 31
                                      }
                                    },
                                    "label": null
                                  }
                                ],
                                "test": null
                              }
                            ],
                            "trailingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "*\n             * 自动移除一次性的侦听器。\n             ",
                                "start": 15605,
                                "end": 15652,
                                "loc": {
                                  "start": {
                                    "line": 413,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 415,
                                    "column": 15
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 15665,
                            "end": 15810,
                            "loc": {
                              "start": {
                                "line": 416,
                                "column": 12
                              },
                              "end": {
                                "line": 418,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 15670,
                              "end": 15691,
                              "loc": {
                                "start": {
                                  "line": 416,
                                  "column": 17
                                },
                                "end": {
                                  "line": 416,
                                  "column": 38
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 15670,
                                "end": 15686,
                                "loc": {
                                  "start": {
                                    "line": 416,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 416,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 15670,
                                  "end": 15678,
                                  "loc": {
                                    "start": {
                                      "line": 416,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 416,
                                      "column": 25
                                    },
                                    "identifierName": "listener"
                                  },
                                  "name": "listener",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15679,
                                  "end": 15686,
                                  "loc": {
                                    "start": {
                                      "line": 416,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 416,
                                      "column": 33
                                    },
                                    "identifierName": "options"
                                  },
                                  "name": "options"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 15687,
                                "end": 15691,
                                "loc": {
                                  "start": {
                                    "line": 416,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 416,
                                    "column": 38
                                  },
                                  "identifierName": "once"
                                },
                                "name": "once"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 15694,
                              "end": 15810,
                              "loc": {
                                "start": {
                                  "line": 416,
                                  "column": 41
                                },
                                "end": {
                                  "line": 418,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 15712,
                                  "end": 15796,
                                  "loc": {
                                    "start": {
                                      "line": 417,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 417,
                                      "column": 100
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 15712,
                                    "end": 15795,
                                    "loc": {
                                      "start": {
                                        "line": 417,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 417,
                                        "column": 99
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 15712,
                                      "end": 15736,
                                      "loc": {
                                        "start": {
                                          "line": 417,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 417,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 15712,
                                        "end": 15716,
                                        "loc": {
                                          "start": {
                                            "line": 417,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 417,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 15717,
                                        "end": 15736,
                                        "loc": {
                                          "start": {
                                            "line": 417,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 417,
                                            "column": 40
                                          },
                                          "identifierName": "removeEventListener"
                                        },
                                        "name": "removeEventListener"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 15737,
                                        "end": 15747,
                                        "loc": {
                                          "start": {
                                            "line": 417,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 417,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 15737,
                                          "end": 15742,
                                          "loc": {
                                            "start": {
                                              "line": 417,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 417,
                                              "column": 46
                                            },
                                            "identifierName": "event"
                                          },
                                          "name": "event"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15743,
                                          "end": 15747,
                                          "loc": {
                                            "start": {
                                              "line": 417,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 417,
                                              "column": 51
                                            },
                                            "identifierName": "type"
                                          },
                                          "name": "type"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 15749,
                                        "end": 15765,
                                        "loc": {
                                          "start": {
                                            "line": 417,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 417,
                                            "column": 69
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 15749,
                                          "end": 15757,
                                          "loc": {
                                            "start": {
                                              "line": 417,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 417,
                                              "column": 61
                                            },
                                            "identifierName": "listener"
                                          },
                                          "name": "listener"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15758,
                                          "end": 15765,
                                          "loc": {
                                            "start": {
                                              "line": 417,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 417,
                                              "column": 69
                                            },
                                            "identifierName": "handler"
                                          },
                                          "name": "handler"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 15767,
                                        "end": 15794,
                                        "loc": {
                                          "start": {
                                            "line": 417,
                                            "column": 71
                                          },
                                          "end": {
                                            "line": 417,
                                            "column": 98
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 15767,
                                          "end": 15783,
                                          "loc": {
                                            "start": {
                                              "line": 417,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 417,
                                              "column": 87
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 15767,
                                            "end": 15775,
                                            "loc": {
                                              "start": {
                                                "line": 417,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 417,
                                                "column": 79
                                              },
                                              "identifierName": "listener"
                                            },
                                            "name": "listener"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 15776,
                                            "end": 15783,
                                            "loc": {
                                              "start": {
                                                "line": 417,
                                                "column": 80
                                              },
                                              "end": {
                                                "line": 417,
                                                "column": 87
                                              },
                                              "identifierName": "options"
                                            },
                                            "name": "options"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15784,
                                          "end": 15794,
                                          "loc": {
                                            "start": {
                                              "line": 417,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 417,
                                              "column": 98
                                            },
                                            "identifierName": "useCapture"
                                          },
                                          "name": "useCapture"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "*\n             * 自动移除一次性的侦听器。\n             ",
                                "start": 15605,
                                "end": 15652,
                                "loc": {
                                  "start": {
                                    "line": 413,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 415,
                                    "column": 15
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 执行侦听器\n         ",
                          "start": 14727,
                          "end": 14759,
                          "loc": {
                            "start": {
                              "line": 390,
                              "column": 8
                            },
                            "end": {
                              "line": 392,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 解锁侦听器列表。\n         ",
                          "start": 15838,
                          "end": 15873,
                          "loc": {
                            "start": {
                              "line": 421,
                              "column": 8
                            },
                            "end": {
                              "line": 423,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 15882,
                      "end": 15924,
                      "loc": {
                        "start": {
                          "line": 424,
                          "column": 8
                        },
                        "end": {
                          "line": 424,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 15882,
                        "end": 15923,
                        "loc": {
                          "start": {
                            "line": 424,
                            "column": 8
                          },
                          "end": {
                            "line": 424,
                            "column": 49
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 15882,
                          "end": 15915,
                          "loc": {
                            "start": {
                              "line": 424,
                              "column": 8
                            },
                            "end": {
                              "line": 424,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 15882,
                            "end": 15903,
                            "loc": {
                              "start": {
                                "line": 424,
                                "column": 8
                              },
                              "end": {
                                "line": 424,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 15882,
                              "end": 15886,
                              "loc": {
                                "start": {
                                  "line": 424,
                                  "column": 8
                                },
                                "end": {
                                  "line": 424,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15887,
                              "end": 15903,
                              "loc": {
                                "start": {
                                  "line": 424,
                                  "column": 13
                                },
                                "end": {
                                  "line": 424,
                                  "column": 29
                                },
                                "identifierName": "_listenerLockers"
                              },
                              "name": "_listenerLockers"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "MemberExpression",
                            "start": 15904,
                            "end": 15914,
                            "loc": {
                              "start": {
                                "line": 424,
                                "column": 30
                              },
                              "end": {
                                "line": 424,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 15904,
                              "end": 15909,
                              "loc": {
                                "start": {
                                  "line": 424,
                                  "column": 30
                                },
                                "end": {
                                  "line": 424,
                                  "column": 35
                                },
                                "identifierName": "event"
                              },
                              "name": "event"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 15910,
                              "end": 15914,
                              "loc": {
                                "start": {
                                  "line": 424,
                                  "column": 36
                                },
                                "end": {
                                  "line": 424,
                                  "column": 40
                                },
                                "identifierName": "type"
                              },
                              "name": "type"
                            },
                            "computed": false
                          },
                          "computed": true,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "BooleanLiteral",
                          "start": 15918,
                          "end": 15923,
                          "loc": {
                            "start": {
                              "line": 424,
                              "column": 44
                            },
                            "end": {
                              "line": 424,
                              "column": 49
                            }
                          },
                          "value": false
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * 解锁侦听器列表。\n         ",
                          "start": 15838,
                          "end": 15873,
                          "loc": {
                            "start": {
                              "line": 421,
                              "column": 8
                            },
                            "end": {
                              "line": 423,
                              "column": 11
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 执行所有的侦听器。\n     * @param {Event} event - 指定派发的事件对象。\n     ",
                    "start": 14419,
                    "end": 14488,
                    "loc": {
                      "start": {
                        "line": 376,
                        "column": 4
                      },
                      "end": {
                        "line": 379,
                        "column": 7
                      }
                    }
                  }
                ]
              }
            ],
            "leadingComments": [
              {
                "type": "CommentBlock",
                "value": "< implements IEventDispatcher >",
                "start": 2784,
                "end": 2819,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 37
                  },
                  "end": {
                    "line": 50,
                    "column": 72
                  }
                }
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * 定义所有具备事件派发功能对象的基类。\n * @implements {IEventDispatcher}\n * @since 1.0.0\n ",
              "start": 2667,
              "end": 2746,
              "loc": {
                "start": {
                  "line": 45,
                  "column": 0
                },
                "end": {
                  "line": 49,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * 定义所有具备事件派发功能对象的基类。\n * @implements {IEventDispatcher}\n * @since 1.0.0\n ",
            "start": 2667,
            "end": 2746,
            "loc": {
              "start": {
                "line": 45,
                "column": 0
              },
              "end": {
                "line": 49,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": "/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
      "start": 0,
      "end": 78,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ @Copyright ~2018 ☜Samlv9☞ and other contributors",
      "start": 79,
      "end": 131,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 52
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ @MIT-LICENSE | 1.0.0 | https://api.guless.com/",
      "start": 132,
      "end": 182,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 50
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
      "start": 183,
      "end": 261,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|",
      "start": 262,
      "end": 313,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|",
      "start": 314,
      "end": 365,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|     　 へ　　　 ／|    ",
      "start": 366,
      "end": 435,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/      _______     _______         ______      }|      /　│　　 ／ ／",
      "start": 436,
      "end": 502,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 66
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/     /  ___  |   |_   __ \\      .' ____ '.    }|     │　Z ＿,＜　／　　 /`ヽ",
      "start": 503,
      "end": 574,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 71
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |  (__ \\_|     | |__) |     | (____) |    }|     │　　　　　ヽ　　 /　　〉",
      "start": 575,
      "end": 645,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 70
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/     '.___`-.      |  __ /      '_.____. |    }|      Y　　　　　`　 /　　/",
      "start": 646,
      "end": 716,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 70
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |`\\____) |    _| |  \\ \\_    | \\____| |    }|    ｲ●　､　●　　⊂⊃〈　　/",
      "start": 717,
      "end": 786,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |_______.'   |____| |___|    \\______,'    }|    ()　 v　　　　|　＼〈",
      "start": 787,
      "end": 855,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |=========================================\\|    　>ｰ ､_　 ィ　 │ ／／",
      "start": 856,
      "end": 926,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 70
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |> LESS IS MORE                           ||     / へ　　 /　ﾉ＜|＼＼",
      "start": 927,
      "end": 996,
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    `=========================================/|    ヽ_ﾉ　　(_／　 │／／",
      "start": 997,
      "end": 1065,
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 16,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|     7　　　　　　  |／",
      "start": 1066,
      "end": 1133,
      "loc": {
        "start": {
          "line": 17,
          "column": 0
        },
        "end": {
          "line": 17,
          "column": 67
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|     ＞―r￣￣`ｰ―＿`",
      "start": 1134,
      "end": 1200,
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 66
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|",
      "start": 1201,
      "end": 1252,
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 19,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|",
      "start": 1253,
      "end": 1304,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 20,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ Permission is hereby granted, free of charge, to any person obtaining a copy",
      "start": 1305,
      "end": 1385,
      "loc": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 21,
          "column": 80
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ of this software and associated documentation files (the \"Software\"), to deal",
      "start": 1386,
      "end": 1467,
      "loc": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 22,
          "column": 81
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ in the Software without restriction, including without limitation the rights",
      "start": 1468,
      "end": 1548,
      "loc": {
        "start": {
          "line": 23,
          "column": 0
        },
        "end": {
          "line": 23,
          "column": 80
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
      "start": 1549,
      "end": 1626,
      "loc": {
        "start": {
          "line": 24,
          "column": 0
        },
        "end": {
          "line": 24,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ copies of the Software, and to permit persons to whom the Software is",
      "start": 1627,
      "end": 1700,
      "loc": {
        "start": {
          "line": 25,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 73
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ furnished to do so, subject to the following conditions:",
      "start": 1701,
      "end": 1761,
      "loc": {
        "start": {
          "line": 26,
          "column": 0
        },
        "end": {
          "line": 26,
          "column": 60
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/",
      "start": 1762,
      "end": 1765,
      "loc": {
        "start": {
          "line": 27,
          "column": 0
        },
        "end": {
          "line": 27,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ The above copyright notice and this permission notice shall be included in all",
      "start": 1766,
      "end": 1848,
      "loc": {
        "start": {
          "line": 28,
          "column": 0
        },
        "end": {
          "line": 28,
          "column": 82
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ copies or substantial portions of the Software.",
      "start": 1849,
      "end": 1900,
      "loc": {
        "start": {
          "line": 29,
          "column": 0
        },
        "end": {
          "line": 29,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/",
      "start": 1901,
      "end": 1904,
      "loc": {
        "start": {
          "line": 30,
          "column": 0
        },
        "end": {
          "line": 30,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
      "start": 1905,
      "end": 1983,
      "loc": {
        "start": {
          "line": 31,
          "column": 0
        },
        "end": {
          "line": 31,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
      "start": 1984,
      "end": 2060,
      "loc": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 32,
          "column": 76
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
      "start": 2061,
      "end": 2140,
      "loc": {
        "start": {
          "line": 33,
          "column": 0
        },
        "end": {
          "line": 33,
          "column": 79
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
      "start": 2141,
      "end": 2215,
      "loc": {
        "start": {
          "line": 34,
          "column": 0
        },
        "end": {
          "line": 34,
          "column": 74
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
      "start": 2216,
      "end": 2297,
      "loc": {
        "start": {
          "line": 35,
          "column": 0
        },
        "end": {
          "line": 35,
          "column": 81
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN",
      "start": 2298,
      "end": 2375,
      "loc": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 36,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ THE SOFTWARE.",
      "start": 2376,
      "end": 2393,
      "loc": {
        "start": {
          "line": 37,
          "column": 0
        },
        "end": {
          "line": 37,
          "column": 17
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * 定义所有具备事件派发功能对象的基类。\n * @implements {IEventDispatcher}\n * @since 1.0.0\n ",
      "start": 2667,
      "end": 2746,
      "loc": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 49,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "< implements IEventDispatcher >",
      "start": 2784,
      "end": 2819,
      "loc": {
        "start": {
          "line": 50,
          "column": 37
        },
        "end": {
          "line": 50,
          "column": 72
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 创建一个事件派发器。\n     * @param {IEventDispatcher} [target=null] - 指定派发器的代理目标对象。\n     * @since 1.0.0\n     ",
      "start": 2826,
      "end": 2938,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {IEventDispatcher}\n         ",
      "start": 2982,
      "end": 3033,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type { {[type:String|Symbol]:Array<EventListener>} }\n         ",
      "start": 3102,
      "end": 3182,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 64,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type { {type:String|Symbol}: Boolean }\n         ",
      "start": 3237,
      "end": 3303,
      "loc": {
        "start": {
          "line": 67,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* 事件代理 ",
      "start": 3357,
      "end": 3368,
      "loc": {
        "start": {
          "line": 72,
          "column": 8
        },
        "end": {
          "line": 72,
          "column": 19
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 注册一个事件侦听器。\n     * \n     * 如果浏览器支持 {@link Symbol} 类型，则事件类型可以使用 {@link Symbol} 对象，这样可以防止\n     * 你的事件被其他人意外的移除。\n     * \n     * 事件侦听器可以注册到派发事件的任何一个阶段，**捕获阶段**和**冒泡阶段**的侦听器是相互独立的。\n     * 因此使用不同的 `useCapture` 值将注册不同的侦听器。同样移除的时候，也需要指定不同的 `useCapture` 值。 \n     * \n     * 事件处理函数默认的作用域为派发器（`EventDispatcher`）对象或者其代理的对象，通过设置 `options.scope` \n     * 可以为事件处理函数指定作用域。但是如果注册的是一个实现了 {@link IEventListener} 接口的对象，则直接\n     * 调用其 `handleEvent()` 方法处理事件，并且作用域始终指向该 `IEventListener` 对象。\n     * \n     * 通过指定 `options.once` 选项，可以指定侦听器在执行后，是否自动从列表中移除。\n     * \n     * 优先级高（`options.priority`）的侦听器会在派发事件时优先调用。相同优先级的情况会按照注册的先后\n     * 顺序调用侦听器。分别使用不同的优先级注册相同的侦听器时，以最后一次注册的侦听器为准。\n     * \n     * @param {String|Symbol} type - 事件类型。\n     * @param {Function|IEventListener} handler - 指定事件处理函数或者是一个事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [options=false] - 指定侦听器配置选项。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * \n     * /// 在冒泡阶段注册侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {});\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, false);\n     * \n     * /// 在捕获阶段注册侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, true);\n     * \n     * /// 指定事件处理函数的作用域。\n     * const target = {};\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     console.log(target === this); // true\n     * }, { \"scope\": target });\n     * \n     * /// 注册一次性的侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     /// 该函数执行后，将自动从列表中移除。\n     * }, { \"once\": true });\n     * \n     * /// 尽管该侦听器后注册的，但是因为具有较高的优先级，所以会先被调用。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     console.log(1);\n     * }, { \"priority\": 1 });\n     * \n     * /// 相同的侦听器使用不用的优先级多次注册，以最后一次注册的优先级为准。\n     * const handler = ( evt ) => {};\n     * dispatcher.addEventListener(\"custom\", handler, { \"priority\": 1 });\n     * dispatcher.addEventListener(\"custom\", handler, { \"priority\": 2 }); // 只会注册一个优先级为 2 的侦听器。\n     * @see {@link IEventListenerOptions}\n     * @since 1.0.0\n     ",
      "start": 4210,
      "end": 6235,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 139,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 在事件派发过程中修改侦听器列表会导致派发顺序错误，因此这里需要拷贝侦听器列表的副本。\n         * \n         * @example\n         * const dispatcher = new EventDispatcher();\n         * dispatcher.addEventListener(\"custom\", () => { // 如果不锁定侦听器列表的化，这里将产生一个死循环。\n         *     console.log(1}; \n         *     dispatcher.addEventListener(\"custom\", () => {}, { \"priority\": 1 });\n         * });\n         * dispatcher.dispatchEvent(new Event(\"custom\", false, false));\n         ",
      "start": 6506,
      "end": 6947,
      "loc": {
        "start": {
          "line": 147,
          "column": 8
        },
        "end": {
          "line": 157,
          "column": 11
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ 移除重复的事件侦听器。",
      "start": 7151,
      "end": 7166,
      "loc": {
        "start": {
          "line": 163,
          "column": 8
        },
        "end": {
          "line": 163,
          "column": 23
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ 没有为 type 类型的事件注册侦听器。",
      "start": 7262,
      "end": 7286,
      "loc": {
        "start": {
          "line": 166,
          "column": 8
        },
        "end": {
          "line": 166,
          "column": 32
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ 为 type 类型已经注册的侦听器列表。",
      "start": 7435,
      "end": 7459,
      "loc": {
        "start": {
          "line": 172,
          "column": 8
        },
        "end": {
          "line": 172,
          "column": 32
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 一般情况下，我们注册的侦听器的优先级都是默认的 0。因此这里可以先对比插入的侦听器的优先级是否为最低的优先级。\n         * 如果是则直接放入列表末尾。从而减少为插入侦听器而遍历列表的次数。\n         ",
      "start": 7529,
      "end": 7655,
      "loc": {
        "start": {
          "line": 175,
          "column": 8
        },
        "end": {
          "line": 178,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 按照侦听器注册的顺序以及侦听器优先级的大小插入列表。\n         * - 1, 优先越高的侦听器放到列表的前面。\n         * - 2, 相同优先级的情况，先注册的侦听器放到列表的前面。\n         ",
      "start": 7824,
      "end": 7951,
      "loc": {
        "start": {
          "line": 184,
          "column": 8
        },
        "end": {
          "line": 188,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 移除一个事件侦听器。\n     * \n     * 第三个参数 `useCapture` 可以是一个 {@link Boolean} 类型的值，或者是一个 {@link IEventListenerOptions} 类型的值。\n     * \n     * 只有完全相同（使用 === 对比）的侦听器才会被移除。因此使用 `useCapture=false` 并不会移除**捕获阶段**的侦听器。\n     * 同理 `useCapture=true` 也不会移除**冒泡阶段**的侦听器。\n     * \n     * @param {String|Symbol} type - 事件类型。\n     * @param {Function|IEventListener} handler - 指定要移除的事件处理函数或者事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [useCapture=false] - 指定是移除捕获阶段(`true`)还是冒泡阶段(`false`)的事件侦听器。\n     * @example\n     * /// 使用不用类型的 useCapture 值移除侦听器。\n     * dispatcher.removeEventListener(type, handler, false);\n     * dispatcher.removeEventListener(type, handler, { \"useCapture\": true });\n     * \n     * /// 分别移除不用阶段的侦听器。\n     * const dispatcher = new EventDispatcher();\n     * \n     * function captureHandler( evt ) {\n     *     console.log(\"capture\");\n     * }\n     * \n     * dispatcher.addEventListener(\"custom\", captureHandler, true);\n     * dispatcher.removeEventListener(\"custom\", captureHandler, false); // 这里并不会移除 captureHandler 侦听器。\n     * dispatcher.hasEventListener(\"custom\"); // true\n     * dispatcher.removeEventListener(\"custom\", captureHandler, true); // 这里才会移除 captureHandler 侦听器。\n     * dispatcher.hasEventListener(\"custom\"); // false\n     * @since 1.0.0\n     ",
      "start": 8183,
      "end": 9452,
      "loc": {
        "start": {
          "line": 195,
          "column": 4
        },
        "end": {
          "line": 224,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 如果 `useCapture` 是一个 {@link IEventListenerOptions} 对象，则获取 `IEventListenerOptions.useCapture` 的值。\n         ",
      "start": 9609,
      "end": 9731,
      "loc": {
        "start": {
          "line": 230,
          "column": 8
        },
        "end": {
          "line": 232,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @type {IEventListenerOptions} ",
      "start": 9792,
      "end": 9828,
      "loc": {
        "start": {
          "line": 234,
          "column": 12
        },
        "end": {
          "line": 234,
          "column": 48
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 在事件派发过程中修改侦听器列表会导致派发顺序错误，因此这里需要拷贝侦听器列表的副本。\n         * @see {@link EventDispatcher#addEventListener}\n         ",
      "start": 9983,
      "end": 10109,
      "loc": {
        "start": {
          "line": 239,
          "column": 8
        },
        "end": {
          "line": 242,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n             * 只有完全相同（使用 === 对比）的侦听器才会被移除。\n             ",
      "start": 10406,
      "end": 10468,
      "loc": {
        "start": {
          "line": 249,
          "column": 12
        },
        "end": {
          "line": 251,
          "column": 15
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 检查是否注册了指定类型的事件侦听器。\n     * @param {String|Symbol} type - 事件类型。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, false);\n     * \n     * console.log(dispatcher.hasEventListener(\"custom\")); // true\n     * console.log(dispatcher.hasEventListener(\"notexists\")); // false\n     * @returns {Boolean} - 如果存在指定类型的侦听器则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
      "start": 10663,
      "end": 11107,
      "loc": {
        "start": {
          "line": 259,
          "column": 4
        },
        "end": {
          "line": 270,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 派发一个事件对象到目标对象的事件流中。\n     * @param {Event|String|Symbol} event - 指定派发的事件对象。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * \n     * dispatcher.dispatchEvent(new Event(\"custom\", false, false)); // 派发一个不冒泡的事件。\n     * dispatcher.dispatchEvent(new Event(\"custom\", true, false)); // 派发一个参与冒泡的事件。\n     * @returns {Boolean} - 如果事件传递到了当前目标对象，并且没有被取消默认行为。则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
      "start": 11247,
      "end": 11679,
      "loc": {
        "start": {
          "line": 275,
          "column": 4
        },
        "end": {
          "line": 285,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ 该事件对象已经被派发过一次！",
      "start": 11844,
      "end": 11862,
      "loc": {
        "start": {
          "line": 291,
          "column": 8
        },
        "end": {
          "line": 291,
          "column": 26
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " 设置事件目标对象。",
      "start": 12047,
      "end": 12059,
      "loc": {
        "start": {
          "line": 296,
          "column": 48
        },
        "end": {
          "line": 296,
          "column": 60
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 满足以下条件时，直接调度事件至目标阶段：\n         * \n         * 1) 事件不参与冒泡行为。\n         * 2) 目标对象没有加入显示对象列表。\n         ",
      "start": 12077,
      "end": 12191,
      "loc": {
        "start": {
          "line": 298,
          "column": 8
        },
        "end": {
          "line": 303,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "< 防止根级别对象循环引用 >",
      "start": 12257,
      "end": 12276,
      "loc": {
        "start": {
          "line": 305,
          "column": 12
        },
        "end": {
          "line": 305,
          "column": 31
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " 事件派发完成后，删除事件对当前目标的引用。",
      "start": 12647,
      "end": 12671,
      "loc": {
        "start": {
          "line": 314,
          "column": 41
        },
        "end": {
          "line": 314,
          "column": 65
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 查找事件传递路径。\n         ",
      "start": 12743,
      "end": 12779,
      "loc": {
        "start": {
          "line": 318,
          "column": 8
        },
        "end": {
          "line": 320,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 捕获阶段。\n         ",
      "start": 12968,
      "end": 13000,
      "loc": {
        "start": {
          "line": 326,
          "column": 8
        },
        "end": {
          "line": 328,
          "column": 11
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " 事件在捕获阶段被中断。",
      "start": 13405,
      "end": 13419,
      "loc": {
        "start": {
          "line": 339,
          "column": 40
        },
        "end": {
          "line": 339,
          "column": 54
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 目标阶段。\n         ",
      "start": 13514,
      "end": 13546,
      "loc": {
        "start": {
          "line": 344,
          "column": 8
        },
        "end": {
          "line": 346,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 冒泡阶段。\n         ",
      "start": 13936,
      "end": 13968,
      "loc": {
        "start": {
          "line": 359,
          "column": 8
        },
        "end": {
          "line": 361,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 执行所有的侦听器。\n     * @param {Event} event - 指定派发的事件对象。\n     ",
      "start": 14419,
      "end": 14488,
      "loc": {
        "start": {
          "line": 376,
          "column": 4
        },
        "end": {
          "line": 379,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 锁定侦听器列表。\n         ",
      "start": 14624,
      "end": 14659,
      "loc": {
        "start": {
          "line": 385,
          "column": 8
        },
        "end": {
          "line": 387,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 执行侦听器\n         ",
      "start": 14727,
      "end": 14759,
      "loc": {
        "start": {
          "line": 390,
          "column": 8
        },
        "end": {
          "line": 392,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @type {EventListener} ",
      "start": 14903,
      "end": 14931,
      "loc": {
        "start": {
          "line": 394,
          "column": 12
        },
        "end": {
          "line": 394,
          "column": 40
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n             * 自动移除一次性的侦听器。\n             ",
      "start": 15605,
      "end": 15652,
      "loc": {
        "start": {
          "line": 413,
          "column": 12
        },
        "end": {
          "line": 415,
          "column": 15
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 解锁侦听器列表。\n         ",
      "start": 15838,
      "end": 15873,
      "loc": {
        "start": {
          "line": 421,
          "column": 8
        },
        "end": {
          "line": 423,
          "column": 11
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentLine",
      "value": "/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
      "start": 0,
      "end": 78,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ @Copyright ~2018 ☜Samlv9☞ and other contributors",
      "start": 79,
      "end": 131,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 52
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ @MIT-LICENSE | 1.0.0 | https://api.guless.com/",
      "start": 132,
      "end": 182,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 50
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
      "start": 183,
      "end": 261,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|",
      "start": 262,
      "end": 313,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|",
      "start": 314,
      "end": 365,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|     　 へ　　　 ／|    ",
      "start": 366,
      "end": 435,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/      _______     _______         ______      }|      /　│　　 ／ ／",
      "start": 436,
      "end": 502,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 66
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/     /  ___  |   |_   __ \\      .' ____ '.    }|     │　Z ＿,＜　／　　 /`ヽ",
      "start": 503,
      "end": 574,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 71
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |  (__ \\_|     | |__) |     | (____) |    }|     │　　　　　ヽ　　 /　　〉",
      "start": 575,
      "end": 645,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 70
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/     '.___`-.      |  __ /      '_.____. |    }|      Y　　　　　`　 /　　/",
      "start": 646,
      "end": 716,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 70
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |`\\____) |    _| |  \\ \\_    | \\____| |    }|    ｲ●　､　●　　⊂⊃〈　　/",
      "start": 717,
      "end": 786,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |_______.'   |____| |___|    \\______,'    }|    ()　 v　　　　|　＼〈",
      "start": 787,
      "end": 855,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |=========================================\\|    　>ｰ ､_　 ィ　 │ ／／",
      "start": 856,
      "end": 926,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 70
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    |> LESS IS MORE                           ||     / へ　　 /　ﾉ＜|＼＼",
      "start": 927,
      "end": 996,
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/    `=========================================/|    ヽ_ﾉ　　(_／　 │／／",
      "start": 997,
      "end": 1065,
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 16,
          "column": 68
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|     7　　　　　　  |／",
      "start": 1066,
      "end": 1133,
      "loc": {
        "start": {
          "line": 17,
          "column": 0
        },
        "end": {
          "line": 17,
          "column": 67
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|     ＞―r￣￣`ｰ―＿`",
      "start": 1134,
      "end": 1200,
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 66
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|",
      "start": 1201,
      "end": 1252,
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 19,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/                                              }|",
      "start": 1253,
      "end": 1304,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 20,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ Permission is hereby granted, free of charge, to any person obtaining a copy",
      "start": 1305,
      "end": 1385,
      "loc": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 21,
          "column": 80
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ of this software and associated documentation files (the \"Software\"), to deal",
      "start": 1386,
      "end": 1467,
      "loc": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 22,
          "column": 81
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ in the Software without restriction, including without limitation the rights",
      "start": 1468,
      "end": 1548,
      "loc": {
        "start": {
          "line": 23,
          "column": 0
        },
        "end": {
          "line": 23,
          "column": 80
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
      "start": 1549,
      "end": 1626,
      "loc": {
        "start": {
          "line": 24,
          "column": 0
        },
        "end": {
          "line": 24,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ copies of the Software, and to permit persons to whom the Software is",
      "start": 1627,
      "end": 1700,
      "loc": {
        "start": {
          "line": 25,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 73
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ furnished to do so, subject to the following conditions:",
      "start": 1701,
      "end": 1761,
      "loc": {
        "start": {
          "line": 26,
          "column": 0
        },
        "end": {
          "line": 26,
          "column": 60
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/",
      "start": 1762,
      "end": 1765,
      "loc": {
        "start": {
          "line": 27,
          "column": 0
        },
        "end": {
          "line": 27,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ The above copyright notice and this permission notice shall be included in all",
      "start": 1766,
      "end": 1848,
      "loc": {
        "start": {
          "line": 28,
          "column": 0
        },
        "end": {
          "line": 28,
          "column": 82
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ copies or substantial portions of the Software.",
      "start": 1849,
      "end": 1900,
      "loc": {
        "start": {
          "line": 29,
          "column": 0
        },
        "end": {
          "line": 29,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/",
      "start": 1901,
      "end": 1904,
      "loc": {
        "start": {
          "line": 30,
          "column": 0
        },
        "end": {
          "line": 30,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
      "start": 1905,
      "end": 1983,
      "loc": {
        "start": {
          "line": 31,
          "column": 0
        },
        "end": {
          "line": 31,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
      "start": 1984,
      "end": 2060,
      "loc": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 32,
          "column": 76
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
      "start": 2061,
      "end": 2140,
      "loc": {
        "start": {
          "line": 33,
          "column": 0
        },
        "end": {
          "line": 33,
          "column": 79
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
      "start": 2141,
      "end": 2215,
      "loc": {
        "start": {
          "line": 34,
          "column": 0
        },
        "end": {
          "line": 34,
          "column": 74
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
      "start": 2216,
      "end": 2297,
      "loc": {
        "start": {
          "line": 35,
          "column": 0
        },
        "end": {
          "line": 35,
          "column": 81
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN",
      "start": 2298,
      "end": 2375,
      "loc": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 36,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ THE SOFTWARE.",
      "start": 2376,
      "end": 2393,
      "loc": {
        "start": {
          "line": 37,
          "column": 0
        },
        "end": {
          "line": 37,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 2394,
      "end": 2400,
      "loc": {
        "start": {
          "line": 38,
          "column": 0
        },
        "end": {
          "line": 38,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "IEventDispatcher",
      "start": 2401,
      "end": 2417,
      "loc": {
        "start": {
          "line": 38,
          "column": 7
        },
        "end": {
          "line": 38,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 2418,
      "end": 2422,
      "loc": {
        "start": {
          "line": 38,
          "column": 24
        },
        "end": {
          "line": 38,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./IEventDispatcher",
      "start": 2423,
      "end": 2443,
      "loc": {
        "start": {
          "line": 38,
          "column": 29
        },
        "end": {
          "line": 38,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2443,
      "end": 2444,
      "loc": {
        "start": {
          "line": 38,
          "column": 49
        },
        "end": {
          "line": 38,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 2445,
      "end": 2451,
      "loc": {
        "start": {
          "line": 39,
          "column": 0
        },
        "end": {
          "line": 39,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "IEventListener",
      "start": 2452,
      "end": 2466,
      "loc": {
        "start": {
          "line": 39,
          "column": 7
        },
        "end": {
          "line": 39,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 2467,
      "end": 2471,
      "loc": {
        "start": {
          "line": 39,
          "column": 22
        },
        "end": {
          "line": 39,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./IEventListener",
      "start": 2472,
      "end": 2490,
      "loc": {
        "start": {
          "line": 39,
          "column": 27
        },
        "end": {
          "line": 39,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2490,
      "end": 2491,
      "loc": {
        "start": {
          "line": 39,
          "column": 45
        },
        "end": {
          "line": 39,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 2492,
      "end": 2498,
      "loc": {
        "start": {
          "line": 40,
          "column": 0
        },
        "end": {
          "line": 40,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "IEventListenerOptions",
      "start": 2499,
      "end": 2520,
      "loc": {
        "start": {
          "line": 40,
          "column": 7
        },
        "end": {
          "line": 40,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 2521,
      "end": 2525,
      "loc": {
        "start": {
          "line": 40,
          "column": 29
        },
        "end": {
          "line": 40,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./IEventListenerOptions",
      "start": 2526,
      "end": 2551,
      "loc": {
        "start": {
          "line": 40,
          "column": 34
        },
        "end": {
          "line": 40,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2551,
      "end": 2552,
      "loc": {
        "start": {
          "line": 40,
          "column": 59
        },
        "end": {
          "line": 40,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 2553,
      "end": 2559,
      "loc": {
        "start": {
          "line": 41,
          "column": 0
        },
        "end": {
          "line": 41,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Event",
      "start": 2560,
      "end": 2565,
      "loc": {
        "start": {
          "line": 41,
          "column": 7
        },
        "end": {
          "line": 41,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 2566,
      "end": 2570,
      "loc": {
        "start": {
          "line": 41,
          "column": 13
        },
        "end": {
          "line": 41,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./Event",
      "start": 2571,
      "end": 2580,
      "loc": {
        "start": {
          "line": 41,
          "column": 18
        },
        "end": {
          "line": 41,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2580,
      "end": 2581,
      "loc": {
        "start": {
          "line": 41,
          "column": 27
        },
        "end": {
          "line": 41,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 2582,
      "end": 2588,
      "loc": {
        "start": {
          "line": 42,
          "column": 0
        },
        "end": {
          "line": 42,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventPhase",
      "start": 2589,
      "end": 2599,
      "loc": {
        "start": {
          "line": 42,
          "column": 7
        },
        "end": {
          "line": 42,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 2600,
      "end": 2604,
      "loc": {
        "start": {
          "line": 42,
          "column": 18
        },
        "end": {
          "line": 42,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./EventPhase",
      "start": 2605,
      "end": 2619,
      "loc": {
        "start": {
          "line": 42,
          "column": 23
        },
        "end": {
          "line": 42,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2619,
      "end": 2620,
      "loc": {
        "start": {
          "line": 42,
          "column": 37
        },
        "end": {
          "line": 42,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 2621,
      "end": 2627,
      "loc": {
        "start": {
          "line": 43,
          "column": 0
        },
        "end": {
          "line": 43,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventListener",
      "start": 2628,
      "end": 2641,
      "loc": {
        "start": {
          "line": 43,
          "column": 7
        },
        "end": {
          "line": 43,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 2642,
      "end": 2646,
      "loc": {
        "start": {
          "line": 43,
          "column": 21
        },
        "end": {
          "line": 43,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./EventListener",
      "start": 2647,
      "end": 2664,
      "loc": {
        "start": {
          "line": 43,
          "column": 26
        },
        "end": {
          "line": 43,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2664,
      "end": 2665,
      "loc": {
        "start": {
          "line": 43,
          "column": 43
        },
        "end": {
          "line": 43,
          "column": 44
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * 定义所有具备事件派发功能对象的基类。\n * @implements {IEventDispatcher}\n * @since 1.0.0\n ",
      "start": 2667,
      "end": 2746,
      "loc": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 49,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 2747,
      "end": 2753,
      "loc": {
        "start": {
          "line": 50,
          "column": 0
        },
        "end": {
          "line": 50,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 2754,
      "end": 2761,
      "loc": {
        "start": {
          "line": 50,
          "column": 7
        },
        "end": {
          "line": 50,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 2762,
      "end": 2767,
      "loc": {
        "start": {
          "line": 50,
          "column": 15
        },
        "end": {
          "line": 50,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventDispatcher",
      "start": 2768,
      "end": 2783,
      "loc": {
        "start": {
          "line": 50,
          "column": 21
        },
        "end": {
          "line": 50,
          "column": 36
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "< implements IEventDispatcher >",
      "start": 2784,
      "end": 2819,
      "loc": {
        "start": {
          "line": 50,
          "column": 37
        },
        "end": {
          "line": 50,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2820,
      "end": 2821,
      "loc": {
        "start": {
          "line": 50,
          "column": 73
        },
        "end": {
          "line": 50,
          "column": 74
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 创建一个事件派发器。\n     * @param {IEventDispatcher} [target=null] - 指定派发器的代理目标对象。\n     * @since 1.0.0\n     ",
      "start": 2826,
      "end": 2938,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 2943,
      "end": 2954,
      "loc": {
        "start": {
          "line": 56,
          "column": 4
        },
        "end": {
          "line": 56,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2954,
      "end": 2955,
      "loc": {
        "start": {
          "line": 56,
          "column": 15
        },
        "end": {
          "line": 56,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 2956,
      "end": 2962,
      "loc": {
        "start": {
          "line": 56,
          "column": 17
        },
        "end": {
          "line": 56,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2963,
      "end": 2964,
      "loc": {
        "start": {
          "line": 56,
          "column": 24
        },
        "end": {
          "line": 56,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 2965,
      "end": 2969,
      "loc": {
        "start": {
          "line": 56,
          "column": 26
        },
        "end": {
          "line": 56,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2970,
      "end": 2971,
      "loc": {
        "start": {
          "line": 56,
          "column": 31
        },
        "end": {
          "line": 56,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2972,
      "end": 2973,
      "loc": {
        "start": {
          "line": 56,
          "column": 33
        },
        "end": {
          "line": 56,
          "column": 34
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {IEventDispatcher}\n         ",
      "start": 2982,
      "end": 3033,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3042,
      "end": 3046,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3046,
      "end": 3047,
      "loc": {
        "start": {
          "line": 60,
          "column": 12
        },
        "end": {
          "line": 60,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 3047,
      "end": 3064,
      "loc": {
        "start": {
          "line": 60,
          "column": 13
        },
        "end": {
          "line": 60,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3065,
      "end": 3066,
      "loc": {
        "start": {
          "line": 60,
          "column": 31
        },
        "end": {
          "line": 60,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3067,
      "end": 3068,
      "loc": {
        "start": {
          "line": 60,
          "column": 33
        },
        "end": {
          "line": 60,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 3068,
      "end": 3074,
      "loc": {
        "start": {
          "line": 60,
          "column": 34
        },
        "end": {
          "line": 60,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3075,
      "end": 3077,
      "loc": {
        "start": {
          "line": 60,
          "column": 41
        },
        "end": {
          "line": 60,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3078,
      "end": 3082,
      "loc": {
        "start": {
          "line": 60,
          "column": 44
        },
        "end": {
          "line": 60,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3082,
      "end": 3083,
      "loc": {
        "start": {
          "line": 60,
          "column": 48
        },
        "end": {
          "line": 60,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3083,
      "end": 3084,
      "loc": {
        "start": {
          "line": 60,
          "column": 49
        },
        "end": {
          "line": 60,
          "column": 50
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type { {[type:String|Symbol]:Array<EventListener>} }\n         ",
      "start": 3102,
      "end": 3182,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 64,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3191,
      "end": 3195,
      "loc": {
        "start": {
          "line": 65,
          "column": 8
        },
        "end": {
          "line": 65,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3195,
      "end": 3196,
      "loc": {
        "start": {
          "line": 65,
          "column": 12
        },
        "end": {
          "line": 65,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 3196,
      "end": 3213,
      "loc": {
        "start": {
          "line": 65,
          "column": 13
        },
        "end": {
          "line": 65,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3214,
      "end": 3215,
      "loc": {
        "start": {
          "line": 65,
          "column": 31
        },
        "end": {
          "line": 65,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3216,
      "end": 3217,
      "loc": {
        "start": {
          "line": 65,
          "column": 33
        },
        "end": {
          "line": 65,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3217,
      "end": 3218,
      "loc": {
        "start": {
          "line": 65,
          "column": 34
        },
        "end": {
          "line": 65,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3218,
      "end": 3219,
      "loc": {
        "start": {
          "line": 65,
          "column": 35
        },
        "end": {
          "line": 65,
          "column": 36
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type { {type:String|Symbol}: Boolean }\n         ",
      "start": 3237,
      "end": 3303,
      "loc": {
        "start": {
          "line": 67,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3312,
      "end": 3316,
      "loc": {
        "start": {
          "line": 70,
          "column": 8
        },
        "end": {
          "line": 70,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3316,
      "end": 3317,
      "loc": {
        "start": {
          "line": 70,
          "column": 12
        },
        "end": {
          "line": 70,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerLockers",
      "start": 3317,
      "end": 3333,
      "loc": {
        "start": {
          "line": 70,
          "column": 13
        },
        "end": {
          "line": 70,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3334,
      "end": 3335,
      "loc": {
        "start": {
          "line": 70,
          "column": 30
        },
        "end": {
          "line": 70,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3336,
      "end": 3337,
      "loc": {
        "start": {
          "line": 70,
          "column": 32
        },
        "end": {
          "line": 70,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3337,
      "end": 3338,
      "loc": {
        "start": {
          "line": 70,
          "column": 33
        },
        "end": {
          "line": 70,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3338,
      "end": 3339,
      "loc": {
        "start": {
          "line": 70,
          "column": 34
        },
        "end": {
          "line": 70,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* 事件代理 ",
      "start": 3357,
      "end": 3368,
      "loc": {
        "start": {
          "line": 72,
          "column": 8
        },
        "end": {
          "line": 72,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3377,
      "end": 3379,
      "loc": {
        "start": {
          "line": 73,
          "column": 8
        },
        "end": {
          "line": 73,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3380,
      "end": 3381,
      "loc": {
        "start": {
          "line": 73,
          "column": 11
        },
        "end": {
          "line": 73,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3382,
      "end": 3386,
      "loc": {
        "start": {
          "line": 73,
          "column": 13
        },
        "end": {
          "line": 73,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 3387,
      "end": 3390,
      "loc": {
        "start": {
          "line": 73,
          "column": 18
        },
        "end": {
          "line": 73,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3391,
      "end": 3395,
      "loc": {
        "start": {
          "line": 73,
          "column": 22
        },
        "end": {
          "line": 73,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3395,
      "end": 3396,
      "loc": {
        "start": {
          "line": 73,
          "column": 26
        },
        "end": {
          "line": 73,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 3396,
      "end": 3413,
      "loc": {
        "start": {
          "line": 73,
          "column": 27
        },
        "end": {
          "line": 73,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3414,
      "end": 3415,
      "loc": {
        "start": {
          "line": 73,
          "column": 45
        },
        "end": {
          "line": 73,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3416,
      "end": 3417,
      "loc": {
        "start": {
          "line": 73,
          "column": 47
        },
        "end": {
          "line": 73,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3430,
      "end": 3432,
      "loc": {
        "start": {
          "line": 74,
          "column": 12
        },
        "end": {
          "line": 74,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3433,
      "end": 3434,
      "loc": {
        "start": {
          "line": 74,
          "column": 15
        },
        "end": {
          "line": 74,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3435,
      "end": 3439,
      "loc": {
        "start": {
          "line": 74,
          "column": 17
        },
        "end": {
          "line": 74,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3439,
      "end": 3440,
      "loc": {
        "start": {
          "line": 74,
          "column": 21
        },
        "end": {
          "line": 74,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 3440,
      "end": 3457,
      "loc": {
        "start": {
          "line": 74,
          "column": 22
        },
        "end": {
          "line": 74,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3457,
      "end": 3458,
      "loc": {
        "start": {
          "line": 74,
          "column": 39
        },
        "end": {
          "line": 74,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasEventListener",
      "start": 3458,
      "end": 3474,
      "loc": {
        "start": {
          "line": 74,
          "column": 40
        },
        "end": {
          "line": 74,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3475,
      "end": 3477,
      "loc": {
        "start": {
          "line": 74,
          "column": 57
        },
        "end": {
          "line": 74,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3478,
      "end": 3482,
      "loc": {
        "start": {
          "line": 74,
          "column": 60
        },
        "end": {
          "line": 74,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3482,
      "end": 3483,
      "loc": {
        "start": {
          "line": 74,
          "column": 64
        },
        "end": {
          "line": 74,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 3483,
      "end": 3500,
      "loc": {
        "start": {
          "line": 74,
          "column": 65
        },
        "end": {
          "line": 74,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3500,
      "end": 3501,
      "loc": {
        "start": {
          "line": 74,
          "column": 82
        },
        "end": {
          "line": 74,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addEventListener",
      "start": 3501,
      "end": 3517,
      "loc": {
        "start": {
          "line": 74,
          "column": 83
        },
        "end": {
          "line": 74,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3518,
      "end": 3520,
      "loc": {
        "start": {
          "line": 74,
          "column": 100
        },
        "end": {
          "line": 74,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3521,
      "end": 3525,
      "loc": {
        "start": {
          "line": 74,
          "column": 103
        },
        "end": {
          "line": 74,
          "column": 107
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3525,
      "end": 3526,
      "loc": {
        "start": {
          "line": 74,
          "column": 107
        },
        "end": {
          "line": 74,
          "column": 108
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 3526,
      "end": 3543,
      "loc": {
        "start": {
          "line": 74,
          "column": 108
        },
        "end": {
          "line": 74,
          "column": 125
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3543,
      "end": 3544,
      "loc": {
        "start": {
          "line": 74,
          "column": 125
        },
        "end": {
          "line": 74,
          "column": 126
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeEventListener",
      "start": 3544,
      "end": 3563,
      "loc": {
        "start": {
          "line": 74,
          "column": 126
        },
        "end": {
          "line": 74,
          "column": 145
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3564,
      "end": 3566,
      "loc": {
        "start": {
          "line": 74,
          "column": 146
        },
        "end": {
          "line": 74,
          "column": 148
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3567,
      "end": 3571,
      "loc": {
        "start": {
          "line": 74,
          "column": 149
        },
        "end": {
          "line": 74,
          "column": 153
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3571,
      "end": 3572,
      "loc": {
        "start": {
          "line": 74,
          "column": 153
        },
        "end": {
          "line": 74,
          "column": 154
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 3572,
      "end": 3589,
      "loc": {
        "start": {
          "line": 74,
          "column": 154
        },
        "end": {
          "line": 74,
          "column": 171
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3589,
      "end": 3590,
      "loc": {
        "start": {
          "line": 74,
          "column": 171
        },
        "end": {
          "line": 74,
          "column": 172
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dispatchEvent",
      "start": 3590,
      "end": 3603,
      "loc": {
        "start": {
          "line": 74,
          "column": 172
        },
        "end": {
          "line": 74,
          "column": 185
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3604,
      "end": 3605,
      "loc": {
        "start": {
          "line": 74,
          "column": 186
        },
        "end": {
          "line": 74,
          "column": 187
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3606,
      "end": 3607,
      "loc": {
        "start": {
          "line": 74,
          "column": 188
        },
        "end": {
          "line": 74,
          "column": 189
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 3624,
      "end": 3629,
      "loc": {
        "start": {
          "line": 75,
          "column": 16
        },
        "end": {
          "line": 75,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 3630,
      "end": 3633,
      "loc": {
        "start": {
          "line": 75,
          "column": 22
        },
        "end": {
          "line": 75,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TypeError",
      "start": 3634,
      "end": 3643,
      "loc": {
        "start": {
          "line": 75,
          "column": 26
        },
        "end": {
          "line": 75,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3643,
      "end": 3644,
      "loc": {
        "start": {
          "line": 75,
          "column": 35
        },
        "end": {
          "line": 75,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "无法为目标对象创建代理，因为其自身已经实现了一套事件系统。",
      "start": 3644,
      "end": 3675,
      "loc": {
        "start": {
          "line": 75,
          "column": 36
        },
        "end": {
          "line": 75,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3675,
      "end": 3676,
      "loc": {
        "start": {
          "line": 75,
          "column": 67
        },
        "end": {
          "line": 75,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3676,
      "end": 3677,
      "loc": {
        "start": {
          "line": 75,
          "column": 68
        },
        "end": {
          "line": 75,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3690,
      "end": 3691,
      "loc": {
        "start": {
          "line": 76,
          "column": 12
        },
        "end": {
          "line": 76,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3717,
      "end": 3721,
      "loc": {
        "start": {
          "line": 78,
          "column": 12
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3721,
      "end": 3722,
      "loc": {
        "start": {
          "line": 78,
          "column": 16
        },
        "end": {
          "line": 78,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 3722,
      "end": 3739,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3739,
      "end": 3740,
      "loc": {
        "start": {
          "line": 78,
          "column": 34
        },
        "end": {
          "line": 78,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addEventListener",
      "start": 3740,
      "end": 3756,
      "loc": {
        "start": {
          "line": 78,
          "column": 35
        },
        "end": {
          "line": 78,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3761,
      "end": 3762,
      "loc": {
        "start": {
          "line": 78,
          "column": 56
        },
        "end": {
          "line": 78,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3763,
      "end": 3767,
      "loc": {
        "start": {
          "line": 78,
          "column": 58
        },
        "end": {
          "line": 78,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3767,
      "end": 3768,
      "loc": {
        "start": {
          "line": 78,
          "column": 62
        },
        "end": {
          "line": 78,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addEventListener",
      "start": 3768,
      "end": 3784,
      "loc": {
        "start": {
          "line": 78,
          "column": 63
        },
        "end": {
          "line": 78,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3788,
      "end": 3789,
      "loc": {
        "start": {
          "line": 78,
          "column": 83
        },
        "end": {
          "line": 78,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 3789,
      "end": 3793,
      "loc": {
        "start": {
          "line": 78,
          "column": 84
        },
        "end": {
          "line": 78,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3793,
      "end": 3794,
      "loc": {
        "start": {
          "line": 78,
          "column": 88
        },
        "end": {
          "line": 78,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3794,
      "end": 3798,
      "loc": {
        "start": {
          "line": 78,
          "column": 89
        },
        "end": {
          "line": 78,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3798,
      "end": 3799,
      "loc": {
        "start": {
          "line": 78,
          "column": 93
        },
        "end": {
          "line": 78,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3799,
      "end": 3800,
      "loc": {
        "start": {
          "line": 78,
          "column": 94
        },
        "end": {
          "line": 78,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3813,
      "end": 3817,
      "loc": {
        "start": {
          "line": 79,
          "column": 12
        },
        "end": {
          "line": 79,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3817,
      "end": 3818,
      "loc": {
        "start": {
          "line": 79,
          "column": 16
        },
        "end": {
          "line": 79,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 3818,
      "end": 3835,
      "loc": {
        "start": {
          "line": 79,
          "column": 17
        },
        "end": {
          "line": 79,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3835,
      "end": 3836,
      "loc": {
        "start": {
          "line": 79,
          "column": 34
        },
        "end": {
          "line": 79,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeEventListener",
      "start": 3836,
      "end": 3855,
      "loc": {
        "start": {
          "line": 79,
          "column": 35
        },
        "end": {
          "line": 79,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3857,
      "end": 3858,
      "loc": {
        "start": {
          "line": 79,
          "column": 56
        },
        "end": {
          "line": 79,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3859,
      "end": 3863,
      "loc": {
        "start": {
          "line": 79,
          "column": 58
        },
        "end": {
          "line": 79,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3863,
      "end": 3864,
      "loc": {
        "start": {
          "line": 79,
          "column": 62
        },
        "end": {
          "line": 79,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeEventListener",
      "start": 3864,
      "end": 3883,
      "loc": {
        "start": {
          "line": 79,
          "column": 63
        },
        "end": {
          "line": 79,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3884,
      "end": 3885,
      "loc": {
        "start": {
          "line": 79,
          "column": 83
        },
        "end": {
          "line": 79,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 3885,
      "end": 3889,
      "loc": {
        "start": {
          "line": 79,
          "column": 84
        },
        "end": {
          "line": 79,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3889,
      "end": 3890,
      "loc": {
        "start": {
          "line": 79,
          "column": 88
        },
        "end": {
          "line": 79,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3890,
      "end": 3894,
      "loc": {
        "start": {
          "line": 79,
          "column": 89
        },
        "end": {
          "line": 79,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3894,
      "end": 3895,
      "loc": {
        "start": {
          "line": 79,
          "column": 93
        },
        "end": {
          "line": 79,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3895,
      "end": 3896,
      "loc": {
        "start": {
          "line": 79,
          "column": 94
        },
        "end": {
          "line": 79,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3909,
      "end": 3913,
      "loc": {
        "start": {
          "line": 80,
          "column": 12
        },
        "end": {
          "line": 80,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3913,
      "end": 3914,
      "loc": {
        "start": {
          "line": 80,
          "column": 16
        },
        "end": {
          "line": 80,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 3914,
      "end": 3931,
      "loc": {
        "start": {
          "line": 80,
          "column": 17
        },
        "end": {
          "line": 80,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3931,
      "end": 3932,
      "loc": {
        "start": {
          "line": 80,
          "column": 34
        },
        "end": {
          "line": 80,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasEventListener",
      "start": 3932,
      "end": 3948,
      "loc": {
        "start": {
          "line": 80,
          "column": 35
        },
        "end": {
          "line": 80,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3953,
      "end": 3954,
      "loc": {
        "start": {
          "line": 80,
          "column": 56
        },
        "end": {
          "line": 80,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3955,
      "end": 3959,
      "loc": {
        "start": {
          "line": 80,
          "column": 58
        },
        "end": {
          "line": 80,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3959,
      "end": 3960,
      "loc": {
        "start": {
          "line": 80,
          "column": 62
        },
        "end": {
          "line": 80,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasEventListener",
      "start": 3960,
      "end": 3976,
      "loc": {
        "start": {
          "line": 80,
          "column": 63
        },
        "end": {
          "line": 80,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3980,
      "end": 3981,
      "loc": {
        "start": {
          "line": 80,
          "column": 83
        },
        "end": {
          "line": 80,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 3981,
      "end": 3985,
      "loc": {
        "start": {
          "line": 80,
          "column": 84
        },
        "end": {
          "line": 80,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3985,
      "end": 3986,
      "loc": {
        "start": {
          "line": 80,
          "column": 88
        },
        "end": {
          "line": 80,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3986,
      "end": 3990,
      "loc": {
        "start": {
          "line": 80,
          "column": 89
        },
        "end": {
          "line": 80,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3990,
      "end": 3991,
      "loc": {
        "start": {
          "line": 80,
          "column": 93
        },
        "end": {
          "line": 80,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3991,
      "end": 3992,
      "loc": {
        "start": {
          "line": 80,
          "column": 94
        },
        "end": {
          "line": 80,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4005,
      "end": 4009,
      "loc": {
        "start": {
          "line": 81,
          "column": 12
        },
        "end": {
          "line": 81,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4009,
      "end": 4010,
      "loc": {
        "start": {
          "line": 81,
          "column": 16
        },
        "end": {
          "line": 81,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 4010,
      "end": 4027,
      "loc": {
        "start": {
          "line": 81,
          "column": 17
        },
        "end": {
          "line": 81,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4027,
      "end": 4028,
      "loc": {
        "start": {
          "line": 81,
          "column": 34
        },
        "end": {
          "line": 81,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dispatchEvent",
      "start": 4028,
      "end": 4041,
      "loc": {
        "start": {
          "line": 81,
          "column": 35
        },
        "end": {
          "line": 81,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4049,
      "end": 4050,
      "loc": {
        "start": {
          "line": 81,
          "column": 56
        },
        "end": {
          "line": 81,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4051,
      "end": 4055,
      "loc": {
        "start": {
          "line": 81,
          "column": 58
        },
        "end": {
          "line": 81,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4055,
      "end": 4056,
      "loc": {
        "start": {
          "line": 81,
          "column": 62
        },
        "end": {
          "line": 81,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dispatchEvent",
      "start": 4056,
      "end": 4069,
      "loc": {
        "start": {
          "line": 81,
          "column": 63
        },
        "end": {
          "line": 81,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4076,
      "end": 4077,
      "loc": {
        "start": {
          "line": 81,
          "column": 83
        },
        "end": {
          "line": 81,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 4077,
      "end": 4081,
      "loc": {
        "start": {
          "line": 81,
          "column": 84
        },
        "end": {
          "line": 81,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4081,
      "end": 4082,
      "loc": {
        "start": {
          "line": 81,
          "column": 88
        },
        "end": {
          "line": 81,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4082,
      "end": 4086,
      "loc": {
        "start": {
          "line": 81,
          "column": 89
        },
        "end": {
          "line": 81,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4086,
      "end": 4087,
      "loc": {
        "start": {
          "line": 81,
          "column": 93
        },
        "end": {
          "line": 81,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4087,
      "end": 4088,
      "loc": {
        "start": {
          "line": 81,
          "column": 94
        },
        "end": {
          "line": 81,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4101,
      "end": 4105,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4105,
      "end": 4106,
      "loc": {
        "start": {
          "line": 82,
          "column": 16
        },
        "end": {
          "line": 82,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 4106,
      "end": 4123,
      "loc": {
        "start": {
          "line": 82,
          "column": 17
        },
        "end": {
          "line": 82,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4123,
      "end": 4124,
      "loc": {
        "start": {
          "line": 82,
          "column": 34
        },
        "end": {
          "line": 82,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 4124,
      "end": 4144,
      "loc": {
        "start": {
          "line": 82,
          "column": 35
        },
        "end": {
          "line": 82,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4145,
      "end": 4146,
      "loc": {
        "start": {
          "line": 82,
          "column": 56
        },
        "end": {
          "line": 82,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4147,
      "end": 4151,
      "loc": {
        "start": {
          "line": 82,
          "column": 58
        },
        "end": {
          "line": 82,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4151,
      "end": 4152,
      "loc": {
        "start": {
          "line": 82,
          "column": 62
        },
        "end": {
          "line": 82,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 4152,
      "end": 4172,
      "loc": {
        "start": {
          "line": 82,
          "column": 63
        },
        "end": {
          "line": 82,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4172,
      "end": 4173,
      "loc": {
        "start": {
          "line": 82,
          "column": 83
        },
        "end": {
          "line": 82,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 4173,
      "end": 4177,
      "loc": {
        "start": {
          "line": 82,
          "column": 84
        },
        "end": {
          "line": 82,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4177,
      "end": 4178,
      "loc": {
        "start": {
          "line": 82,
          "column": 88
        },
        "end": {
          "line": 82,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4178,
      "end": 4182,
      "loc": {
        "start": {
          "line": 82,
          "column": 89
        },
        "end": {
          "line": 82,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4182,
      "end": 4183,
      "loc": {
        "start": {
          "line": 82,
          "column": 93
        },
        "end": {
          "line": 82,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4183,
      "end": 4184,
      "loc": {
        "start": {
          "line": 82,
          "column": 94
        },
        "end": {
          "line": 82,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4193,
      "end": 4194,
      "loc": {
        "start": {
          "line": 83,
          "column": 8
        },
        "end": {
          "line": 83,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4199,
      "end": 4200,
      "loc": {
        "start": {
          "line": 84,
          "column": 4
        },
        "end": {
          "line": 84,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 注册一个事件侦听器。\n     * \n     * 如果浏览器支持 {@link Symbol} 类型，则事件类型可以使用 {@link Symbol} 对象，这样可以防止\n     * 你的事件被其他人意外的移除。\n     * \n     * 事件侦听器可以注册到派发事件的任何一个阶段，**捕获阶段**和**冒泡阶段**的侦听器是相互独立的。\n     * 因此使用不同的 `useCapture` 值将注册不同的侦听器。同样移除的时候，也需要指定不同的 `useCapture` 值。 \n     * \n     * 事件处理函数默认的作用域为派发器（`EventDispatcher`）对象或者其代理的对象，通过设置 `options.scope` \n     * 可以为事件处理函数指定作用域。但是如果注册的是一个实现了 {@link IEventListener} 接口的对象，则直接\n     * 调用其 `handleEvent()` 方法处理事件，并且作用域始终指向该 `IEventListener` 对象。\n     * \n     * 通过指定 `options.once` 选项，可以指定侦听器在执行后，是否自动从列表中移除。\n     * \n     * 优先级高（`options.priority`）的侦听器会在派发事件时优先调用。相同优先级的情况会按照注册的先后\n     * 顺序调用侦听器。分别使用不同的优先级注册相同的侦听器时，以最后一次注册的侦听器为准。\n     * \n     * @param {String|Symbol} type - 事件类型。\n     * @param {Function|IEventListener} handler - 指定事件处理函数或者是一个事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [options=false] - 指定侦听器配置选项。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * \n     * /// 在冒泡阶段注册侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {});\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, false);\n     * \n     * /// 在捕获阶段注册侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, true);\n     * \n     * /// 指定事件处理函数的作用域。\n     * const target = {};\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     console.log(target === this); // true\n     * }, { \"scope\": target });\n     * \n     * /// 注册一次性的侦听器。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     /// 该函数执行后，将自动从列表中移除。\n     * }, { \"once\": true });\n     * \n     * /// 尽管该侦听器后注册的，但是因为具有较高的优先级，所以会先被调用。\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {\n     *     console.log(1);\n     * }, { \"priority\": 1 });\n     * \n     * /// 相同的侦听器使用不用的优先级多次注册，以最后一次注册的优先级为准。\n     * const handler = ( evt ) => {};\n     * dispatcher.addEventListener(\"custom\", handler, { \"priority\": 1 });\n     * dispatcher.addEventListener(\"custom\", handler, { \"priority\": 2 }); // 只会注册一个优先级为 2 的侦听器。\n     * @see {@link IEventListenerOptions}\n     * @since 1.0.0\n     ",
      "start": 4210,
      "end": 6235,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 139,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addEventListener",
      "start": 6240,
      "end": 6256,
      "loc": {
        "start": {
          "line": 140,
          "column": 4
        },
        "end": {
          "line": 140,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6256,
      "end": 6257,
      "loc": {
        "start": {
          "line": 140,
          "column": 20
        },
        "end": {
          "line": 140,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 6258,
      "end": 6262,
      "loc": {
        "start": {
          "line": 140,
          "column": 22
        },
        "end": {
          "line": 140,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6262,
      "end": 6263,
      "loc": {
        "start": {
          "line": 140,
          "column": 26
        },
        "end": {
          "line": 140,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 6264,
      "end": 6271,
      "loc": {
        "start": {
          "line": 140,
          "column": 28
        },
        "end": {
          "line": 140,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6271,
      "end": 6272,
      "loc": {
        "start": {
          "line": 140,
          "column": 35
        },
        "end": {
          "line": 140,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 6273,
      "end": 6280,
      "loc": {
        "start": {
          "line": 140,
          "column": 37
        },
        "end": {
          "line": 140,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6281,
      "end": 6282,
      "loc": {
        "start": {
          "line": 140,
          "column": 45
        },
        "end": {
          "line": 140,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 6283,
      "end": 6288,
      "loc": {
        "start": {
          "line": 140,
          "column": 47
        },
        "end": {
          "line": 140,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6289,
      "end": 6290,
      "loc": {
        "start": {
          "line": 140,
          "column": 53
        },
        "end": {
          "line": 140,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6291,
      "end": 6292,
      "loc": {
        "start": {
          "line": 140,
          "column": 55
        },
        "end": {
          "line": 140,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6301,
      "end": 6303,
      "loc": {
        "start": {
          "line": 141,
          "column": 8
        },
        "end": {
          "line": 141,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6304,
      "end": 6305,
      "loc": {
        "start": {
          "line": 141,
          "column": 11
        },
        "end": {
          "line": 141,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 6306,
      "end": 6307,
      "loc": {
        "start": {
          "line": 141,
          "column": 13
        },
        "end": {
          "line": 141,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 6307,
      "end": 6314,
      "loc": {
        "start": {
          "line": 141,
          "column": 14
        },
        "end": {
          "line": 141,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6315,
      "end": 6316,
      "loc": {
        "start": {
          "line": 141,
          "column": 22
        },
        "end": {
          "line": 141,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6317,
      "end": 6318,
      "loc": {
        "start": {
          "line": 141,
          "column": 24
        },
        "end": {
          "line": 141,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 6331,
      "end": 6336,
      "loc": {
        "start": {
          "line": 142,
          "column": 12
        },
        "end": {
          "line": 142,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 6337,
      "end": 6340,
      "loc": {
        "start": {
          "line": 142,
          "column": 18
        },
        "end": {
          "line": 142,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TypeError",
      "start": 6341,
      "end": 6350,
      "loc": {
        "start": {
          "line": 142,
          "column": 22
        },
        "end": {
          "line": 142,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6350,
      "end": 6351,
      "loc": {
        "start": {
          "line": 142,
          "column": 31
        },
        "end": {
          "line": 142,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "handler 必须为事件处理函数(function)或者是事件侦听器(IEventListener)。",
      "start": 6351,
      "end": 6405,
      "loc": {
        "start": {
          "line": 142,
          "column": 32
        },
        "end": {
          "line": 142,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6405,
      "end": 6406,
      "loc": {
        "start": {
          "line": 142,
          "column": 86
        },
        "end": {
          "line": 142,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6406,
      "end": 6407,
      "loc": {
        "start": {
          "line": 142,
          "column": 87
        },
        "end": {
          "line": 142,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6416,
      "end": 6417,
      "loc": {
        "start": {
          "line": 143,
          "column": 8
        },
        "end": {
          "line": 143,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 6435,
      "end": 6440,
      "loc": {
        "start": {
          "line": 145,
          "column": 8
        },
        "end": {
          "line": 145,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 6441,
      "end": 6449,
      "loc": {
        "start": {
          "line": 145,
          "column": 14
        },
        "end": {
          "line": 145,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6450,
      "end": 6451,
      "loc": {
        "start": {
          "line": 145,
          "column": 23
        },
        "end": {
          "line": 145,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 6452,
      "end": 6455,
      "loc": {
        "start": {
          "line": 145,
          "column": 25
        },
        "end": {
          "line": 145,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventListener",
      "start": 6456,
      "end": 6469,
      "loc": {
        "start": {
          "line": 145,
          "column": 29
        },
        "end": {
          "line": 145,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6469,
      "end": 6470,
      "loc": {
        "start": {
          "line": 145,
          "column": 42
        },
        "end": {
          "line": 145,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 6470,
      "end": 6477,
      "loc": {
        "start": {
          "line": 145,
          "column": 43
        },
        "end": {
          "line": 145,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6477,
      "end": 6478,
      "loc": {
        "start": {
          "line": 145,
          "column": 50
        },
        "end": {
          "line": 145,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 6479,
      "end": 6486,
      "loc": {
        "start": {
          "line": 145,
          "column": 52
        },
        "end": {
          "line": 145,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6486,
      "end": 6487,
      "loc": {
        "start": {
          "line": 145,
          "column": 59
        },
        "end": {
          "line": 145,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6487,
      "end": 6488,
      "loc": {
        "start": {
          "line": 145,
          "column": 60
        },
        "end": {
          "line": 145,
          "column": 61
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 在事件派发过程中修改侦听器列表会导致派发顺序错误，因此这里需要拷贝侦听器列表的副本。\n         * \n         * @example\n         * const dispatcher = new EventDispatcher();\n         * dispatcher.addEventListener(\"custom\", () => { // 如果不锁定侦听器列表的化，这里将产生一个死循环。\n         *     console.log(1}; \n         *     dispatcher.addEventListener(\"custom\", () => {}, { \"priority\": 1 });\n         * });\n         * dispatcher.dispatchEvent(new Event(\"custom\", false, false));\n         ",
      "start": 6506,
      "end": 6947,
      "loc": {
        "start": {
          "line": 147,
          "column": 8
        },
        "end": {
          "line": 157,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6956,
      "end": 6958,
      "loc": {
        "start": {
          "line": 158,
          "column": 8
        },
        "end": {
          "line": 158,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6959,
      "end": 6960,
      "loc": {
        "start": {
          "line": 158,
          "column": 11
        },
        "end": {
          "line": 158,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6961,
      "end": 6965,
      "loc": {
        "start": {
          "line": 158,
          "column": 13
        },
        "end": {
          "line": 158,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6965,
      "end": 6966,
      "loc": {
        "start": {
          "line": 158,
          "column": 17
        },
        "end": {
          "line": 158,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerLockers",
      "start": 6966,
      "end": 6982,
      "loc": {
        "start": {
          "line": 158,
          "column": 18
        },
        "end": {
          "line": 158,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6982,
      "end": 6983,
      "loc": {
        "start": {
          "line": 158,
          "column": 34
        },
        "end": {
          "line": 158,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 6983,
      "end": 6987,
      "loc": {
        "start": {
          "line": 158,
          "column": 35
        },
        "end": {
          "line": 158,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6987,
      "end": 6988,
      "loc": {
        "start": {
          "line": 158,
          "column": 39
        },
        "end": {
          "line": 158,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6989,
      "end": 6990,
      "loc": {
        "start": {
          "line": 158,
          "column": 41
        },
        "end": {
          "line": 158,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6991,
      "end": 6992,
      "loc": {
        "start": {
          "line": 158,
          "column": 43
        },
        "end": {
          "line": 158,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7005,
      "end": 7009,
      "loc": {
        "start": {
          "line": 159,
          "column": 12
        },
        "end": {
          "line": 159,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7009,
      "end": 7010,
      "loc": {
        "start": {
          "line": 159,
          "column": 16
        },
        "end": {
          "line": 159,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerLockers",
      "start": 7010,
      "end": 7026,
      "loc": {
        "start": {
          "line": 159,
          "column": 17
        },
        "end": {
          "line": 159,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7026,
      "end": 7027,
      "loc": {
        "start": {
          "line": 159,
          "column": 33
        },
        "end": {
          "line": 159,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 7027,
      "end": 7031,
      "loc": {
        "start": {
          "line": 159,
          "column": 34
        },
        "end": {
          "line": 159,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7031,
      "end": 7032,
      "loc": {
        "start": {
          "line": 159,
          "column": 38
        },
        "end": {
          "line": 159,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7033,
      "end": 7034,
      "loc": {
        "start": {
          "line": 159,
          "column": 40
        },
        "end": {
          "line": 159,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 7035,
      "end": 7040,
      "loc": {
        "start": {
          "line": 159,
          "column": 42
        },
        "end": {
          "line": 159,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7040,
      "end": 7041,
      "loc": {
        "start": {
          "line": 159,
          "column": 47
        },
        "end": {
          "line": 159,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7054,
      "end": 7058,
      "loc": {
        "start": {
          "line": 160,
          "column": 12
        },
        "end": {
          "line": 160,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7058,
      "end": 7059,
      "loc": {
        "start": {
          "line": 160,
          "column": 16
        },
        "end": {
          "line": 160,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 7059,
      "end": 7076,
      "loc": {
        "start": {
          "line": 160,
          "column": 17
        },
        "end": {
          "line": 160,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7076,
      "end": 7077,
      "loc": {
        "start": {
          "line": 160,
          "column": 34
        },
        "end": {
          "line": 160,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 7077,
      "end": 7081,
      "loc": {
        "start": {
          "line": 160,
          "column": 35
        },
        "end": {
          "line": 160,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7081,
      "end": 7082,
      "loc": {
        "start": {
          "line": 160,
          "column": 39
        },
        "end": {
          "line": 160,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7083,
      "end": 7084,
      "loc": {
        "start": {
          "line": 160,
          "column": 41
        },
        "end": {
          "line": 160,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7085,
      "end": 7089,
      "loc": {
        "start": {
          "line": 160,
          "column": 43
        },
        "end": {
          "line": 160,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7089,
      "end": 7090,
      "loc": {
        "start": {
          "line": 160,
          "column": 47
        },
        "end": {
          "line": 160,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 7090,
      "end": 7107,
      "loc": {
        "start": {
          "line": 160,
          "column": 48
        },
        "end": {
          "line": 160,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7107,
      "end": 7108,
      "loc": {
        "start": {
          "line": 160,
          "column": 65
        },
        "end": {
          "line": 160,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 7108,
      "end": 7112,
      "loc": {
        "start": {
          "line": 160,
          "column": 66
        },
        "end": {
          "line": 160,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7112,
      "end": 7113,
      "loc": {
        "start": {
          "line": 160,
          "column": 70
        },
        "end": {
          "line": 160,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7113,
      "end": 7114,
      "loc": {
        "start": {
          "line": 160,
          "column": 71
        },
        "end": {
          "line": 160,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 7114,
      "end": 7119,
      "loc": {
        "start": {
          "line": 160,
          "column": 72
        },
        "end": {
          "line": 160,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7119,
      "end": 7120,
      "loc": {
        "start": {
          "line": 160,
          "column": 77
        },
        "end": {
          "line": 160,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 7120,
      "end": 7121,
      "loc": {
        "start": {
          "line": 160,
          "column": 78
        },
        "end": {
          "line": 160,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7121,
      "end": 7122,
      "loc": {
        "start": {
          "line": 160,
          "column": 79
        },
        "end": {
          "line": 160,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7122,
      "end": 7123,
      "loc": {
        "start": {
          "line": 160,
          "column": 80
        },
        "end": {
          "line": 160,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7132,
      "end": 7133,
      "loc": {
        "start": {
          "line": 161,
          "column": 8
        },
        "end": {
          "line": 161,
          "column": 9
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ 移除重复的事件侦听器。",
      "start": 7151,
      "end": 7166,
      "loc": {
        "start": {
          "line": 163,
          "column": 8
        },
        "end": {
          "line": 163,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7175,
      "end": 7179,
      "loc": {
        "start": {
          "line": 164,
          "column": 8
        },
        "end": {
          "line": 164,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7179,
      "end": 7180,
      "loc": {
        "start": {
          "line": 164,
          "column": 12
        },
        "end": {
          "line": 164,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeEventListener",
      "start": 7180,
      "end": 7199,
      "loc": {
        "start": {
          "line": 164,
          "column": 13
        },
        "end": {
          "line": 164,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7199,
      "end": 7200,
      "loc": {
        "start": {
          "line": 164,
          "column": 32
        },
        "end": {
          "line": 164,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 7200,
      "end": 7204,
      "loc": {
        "start": {
          "line": 164,
          "column": 33
        },
        "end": {
          "line": 164,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7204,
      "end": 7205,
      "loc": {
        "start": {
          "line": 164,
          "column": 37
        },
        "end": {
          "line": 164,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 7206,
      "end": 7213,
      "loc": {
        "start": {
          "line": 164,
          "column": 39
        },
        "end": {
          "line": 164,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7213,
      "end": 7214,
      "loc": {
        "start": {
          "line": 164,
          "column": 46
        },
        "end": {
          "line": 164,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 7215,
      "end": 7223,
      "loc": {
        "start": {
          "line": 164,
          "column": 48
        },
        "end": {
          "line": 164,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7223,
      "end": 7224,
      "loc": {
        "start": {
          "line": 164,
          "column": 56
        },
        "end": {
          "line": 164,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 7224,
      "end": 7231,
      "loc": {
        "start": {
          "line": 164,
          "column": 57
        },
        "end": {
          "line": 164,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7231,
      "end": 7232,
      "loc": {
        "start": {
          "line": 164,
          "column": 64
        },
        "end": {
          "line": 164,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 7232,
      "end": 7242,
      "loc": {
        "start": {
          "line": 164,
          "column": 65
        },
        "end": {
          "line": 164,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7242,
      "end": 7243,
      "loc": {
        "start": {
          "line": 164,
          "column": 75
        },
        "end": {
          "line": 164,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7243,
      "end": 7244,
      "loc": {
        "start": {
          "line": 164,
          "column": 76
        },
        "end": {
          "line": 164,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ 没有为 type 类型的事件注册侦听器。",
      "start": 7262,
      "end": 7286,
      "loc": {
        "start": {
          "line": 166,
          "column": 8
        },
        "end": {
          "line": 166,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7295,
      "end": 7297,
      "loc": {
        "start": {
          "line": 167,
          "column": 8
        },
        "end": {
          "line": 167,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7298,
      "end": 7299,
      "loc": {
        "start": {
          "line": 167,
          "column": 11
        },
        "end": {
          "line": 167,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 7300,
      "end": 7301,
      "loc": {
        "start": {
          "line": 167,
          "column": 13
        },
        "end": {
          "line": 167,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7301,
      "end": 7305,
      "loc": {
        "start": {
          "line": 167,
          "column": 14
        },
        "end": {
          "line": 167,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7305,
      "end": 7306,
      "loc": {
        "start": {
          "line": 167,
          "column": 18
        },
        "end": {
          "line": 167,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasEventListener",
      "start": 7306,
      "end": 7322,
      "loc": {
        "start": {
          "line": 167,
          "column": 19
        },
        "end": {
          "line": 167,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7322,
      "end": 7323,
      "loc": {
        "start": {
          "line": 167,
          "column": 35
        },
        "end": {
          "line": 167,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 7323,
      "end": 7327,
      "loc": {
        "start": {
          "line": 167,
          "column": 36
        },
        "end": {
          "line": 167,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7327,
      "end": 7328,
      "loc": {
        "start": {
          "line": 167,
          "column": 40
        },
        "end": {
          "line": 167,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7329,
      "end": 7330,
      "loc": {
        "start": {
          "line": 167,
          "column": 42
        },
        "end": {
          "line": 167,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7331,
      "end": 7332,
      "loc": {
        "start": {
          "line": 167,
          "column": 44
        },
        "end": {
          "line": 167,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7345,
      "end": 7349,
      "loc": {
        "start": {
          "line": 168,
          "column": 12
        },
        "end": {
          "line": 168,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7349,
      "end": 7350,
      "loc": {
        "start": {
          "line": 168,
          "column": 16
        },
        "end": {
          "line": 168,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 7350,
      "end": 7367,
      "loc": {
        "start": {
          "line": 168,
          "column": 17
        },
        "end": {
          "line": 168,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7367,
      "end": 7368,
      "loc": {
        "start": {
          "line": 168,
          "column": 34
        },
        "end": {
          "line": 168,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 7368,
      "end": 7372,
      "loc": {
        "start": {
          "line": 168,
          "column": 35
        },
        "end": {
          "line": 168,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7372,
      "end": 7373,
      "loc": {
        "start": {
          "line": 168,
          "column": 39
        },
        "end": {
          "line": 168,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7374,
      "end": 7375,
      "loc": {
        "start": {
          "line": 168,
          "column": 41
        },
        "end": {
          "line": 168,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7376,
      "end": 7377,
      "loc": {
        "start": {
          "line": 168,
          "column": 43
        },
        "end": {
          "line": 168,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 7377,
      "end": 7385,
      "loc": {
        "start": {
          "line": 168,
          "column": 44
        },
        "end": {
          "line": 168,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7385,
      "end": 7386,
      "loc": {
        "start": {
          "line": 168,
          "column": 52
        },
        "end": {
          "line": 168,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7386,
      "end": 7387,
      "loc": {
        "start": {
          "line": 168,
          "column": 53
        },
        "end": {
          "line": 168,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 7400,
      "end": 7406,
      "loc": {
        "start": {
          "line": 169,
          "column": 12
        },
        "end": {
          "line": 169,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7406,
      "end": 7407,
      "loc": {
        "start": {
          "line": 169,
          "column": 18
        },
        "end": {
          "line": 169,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7416,
      "end": 7417,
      "loc": {
        "start": {
          "line": 170,
          "column": 8
        },
        "end": {
          "line": 170,
          "column": 9
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ 为 type 类型已经注册的侦听器列表。",
      "start": 7435,
      "end": 7459,
      "loc": {
        "start": {
          "line": 172,
          "column": 8
        },
        "end": {
          "line": 172,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 7468,
      "end": 7473,
      "loc": {
        "start": {
          "line": 173,
          "column": 8
        },
        "end": {
          "line": 173,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 7474,
      "end": 7479,
      "loc": {
        "start": {
          "line": 173,
          "column": 14
        },
        "end": {
          "line": 173,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7480,
      "end": 7481,
      "loc": {
        "start": {
          "line": 173,
          "column": 20
        },
        "end": {
          "line": 173,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7482,
      "end": 7486,
      "loc": {
        "start": {
          "line": 173,
          "column": 22
        },
        "end": {
          "line": 173,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7486,
      "end": 7487,
      "loc": {
        "start": {
          "line": 173,
          "column": 26
        },
        "end": {
          "line": 173,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 7487,
      "end": 7504,
      "loc": {
        "start": {
          "line": 173,
          "column": 27
        },
        "end": {
          "line": 173,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7504,
      "end": 7505,
      "loc": {
        "start": {
          "line": 173,
          "column": 44
        },
        "end": {
          "line": 173,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 7505,
      "end": 7509,
      "loc": {
        "start": {
          "line": 173,
          "column": 45
        },
        "end": {
          "line": 173,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7509,
      "end": 7510,
      "loc": {
        "start": {
          "line": 173,
          "column": 49
        },
        "end": {
          "line": 173,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7510,
      "end": 7511,
      "loc": {
        "start": {
          "line": 173,
          "column": 50
        },
        "end": {
          "line": 173,
          "column": 51
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 一般情况下，我们注册的侦听器的优先级都是默认的 0。因此这里可以先对比插入的侦听器的优先级是否为最低的优先级。\n         * 如果是则直接放入列表末尾。从而减少为插入侦听器而遍历列表的次数。\n         ",
      "start": 7529,
      "end": 7655,
      "loc": {
        "start": {
          "line": 175,
          "column": 8
        },
        "end": {
          "line": 178,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7664,
      "end": 7666,
      "loc": {
        "start": {
          "line": 179,
          "column": 8
        },
        "end": {
          "line": 179,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7667,
      "end": 7668,
      "loc": {
        "start": {
          "line": 179,
          "column": 11
        },
        "end": {
          "line": 179,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 7669,
      "end": 7674,
      "loc": {
        "start": {
          "line": 179,
          "column": 13
        },
        "end": {
          "line": 179,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7674,
      "end": 7675,
      "loc": {
        "start": {
          "line": 179,
          "column": 18
        },
        "end": {
          "line": 179,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 7675,
      "end": 7680,
      "loc": {
        "start": {
          "line": 179,
          "column": 19
        },
        "end": {
          "line": 179,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7680,
      "end": 7681,
      "loc": {
        "start": {
          "line": 179,
          "column": 24
        },
        "end": {
          "line": 179,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 7681,
      "end": 7687,
      "loc": {
        "start": {
          "line": 179,
          "column": 25
        },
        "end": {
          "line": 179,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 7688,
      "end": 7689,
      "loc": {
        "start": {
          "line": 179,
          "column": 32
        },
        "end": {
          "line": 179,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 7690,
      "end": 7691,
      "loc": {
        "start": {
          "line": 179,
          "column": 34
        },
        "end": {
          "line": 179,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7691,
      "end": 7692,
      "loc": {
        "start": {
          "line": 179,
          "column": 35
        },
        "end": {
          "line": 179,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7692,
      "end": 7693,
      "loc": {
        "start": {
          "line": 179,
          "column": 36
        },
        "end": {
          "line": 179,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 7693,
      "end": 7700,
      "loc": {
        "start": {
          "line": 179,
          "column": 37
        },
        "end": {
          "line": 179,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7700,
      "end": 7701,
      "loc": {
        "start": {
          "line": 179,
          "column": 44
        },
        "end": {
          "line": 179,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "priority",
      "start": 7701,
      "end": 7709,
      "loc": {
        "start": {
          "line": 179,
          "column": 45
        },
        "end": {
          "line": 179,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 7710,
      "end": 7712,
      "loc": {
        "start": {
          "line": 179,
          "column": 54
        },
        "end": {
          "line": 179,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 7713,
      "end": 7721,
      "loc": {
        "start": {
          "line": 179,
          "column": 57
        },
        "end": {
          "line": 179,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7721,
      "end": 7722,
      "loc": {
        "start": {
          "line": 179,
          "column": 65
        },
        "end": {
          "line": 179,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 7722,
      "end": 7729,
      "loc": {
        "start": {
          "line": 179,
          "column": 66
        },
        "end": {
          "line": 179,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7729,
      "end": 7730,
      "loc": {
        "start": {
          "line": 179,
          "column": 73
        },
        "end": {
          "line": 179,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "priority",
      "start": 7730,
      "end": 7738,
      "loc": {
        "start": {
          "line": 179,
          "column": 74
        },
        "end": {
          "line": 179,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7739,
      "end": 7740,
      "loc": {
        "start": {
          "line": 179,
          "column": 83
        },
        "end": {
          "line": 179,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7741,
      "end": 7742,
      "loc": {
        "start": {
          "line": 179,
          "column": 85
        },
        "end": {
          "line": 179,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 7755,
      "end": 7760,
      "loc": {
        "start": {
          "line": 180,
          "column": 12
        },
        "end": {
          "line": 180,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7760,
      "end": 7761,
      "loc": {
        "start": {
          "line": 180,
          "column": 17
        },
        "end": {
          "line": 180,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 7761,
      "end": 7765,
      "loc": {
        "start": {
          "line": 180,
          "column": 18
        },
        "end": {
          "line": 180,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7765,
      "end": 7766,
      "loc": {
        "start": {
          "line": 180,
          "column": 22
        },
        "end": {
          "line": 180,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 7766,
      "end": 7774,
      "loc": {
        "start": {
          "line": 180,
          "column": 23
        },
        "end": {
          "line": 180,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7774,
      "end": 7775,
      "loc": {
        "start": {
          "line": 180,
          "column": 31
        },
        "end": {
          "line": 180,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7775,
      "end": 7776,
      "loc": {
        "start": {
          "line": 180,
          "column": 32
        },
        "end": {
          "line": 180,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 7789,
      "end": 7795,
      "loc": {
        "start": {
          "line": 181,
          "column": 12
        },
        "end": {
          "line": 181,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7795,
      "end": 7796,
      "loc": {
        "start": {
          "line": 181,
          "column": 18
        },
        "end": {
          "line": 181,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7805,
      "end": 7806,
      "loc": {
        "start": {
          "line": 182,
          "column": 8
        },
        "end": {
          "line": 182,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 按照侦听器注册的顺序以及侦听器优先级的大小插入列表。\n         * - 1, 优先越高的侦听器放到列表的前面。\n         * - 2, 相同优先级的情况，先注册的侦听器放到列表的前面。\n         ",
      "start": 7824,
      "end": 7951,
      "loc": {
        "start": {
          "line": 184,
          "column": 8
        },
        "end": {
          "line": 188,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7960,
      "end": 7963,
      "loc": {
        "start": {
          "line": 189,
          "column": 8
        },
        "end": {
          "line": 189,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "insertAt",
      "start": 7964,
      "end": 7972,
      "loc": {
        "start": {
          "line": 189,
          "column": 12
        },
        "end": {
          "line": 189,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7973,
      "end": 7974,
      "loc": {
        "start": {
          "line": 189,
          "column": 21
        },
        "end": {
          "line": 189,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 7975,
      "end": 7980,
      "loc": {
        "start": {
          "line": 189,
          "column": 23
        },
        "end": {
          "line": 189,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7980,
      "end": 7981,
      "loc": {
        "start": {
          "line": 189,
          "column": 28
        },
        "end": {
          "line": 189,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 7981,
      "end": 7987,
      "loc": {
        "start": {
          "line": 189,
          "column": 29
        },
        "end": {
          "line": 189,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 7988,
      "end": 7989,
      "loc": {
        "start": {
          "line": 189,
          "column": 36
        },
        "end": {
          "line": 189,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 7990,
      "end": 7991,
      "loc": {
        "start": {
          "line": 189,
          "column": 38
        },
        "end": {
          "line": 189,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7991,
      "end": 7992,
      "loc": {
        "start": {
          "line": 189,
          "column": 39
        },
        "end": {
          "line": 189,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "while",
        "keyword": "while",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "while",
      "start": 8001,
      "end": 8006,
      "loc": {
        "start": {
          "line": 190,
          "column": 8
        },
        "end": {
          "line": 190,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8006,
      "end": 8007,
      "loc": {
        "start": {
          "line": 190,
          "column": 13
        },
        "end": {
          "line": 190,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8008,
      "end": 8009,
      "loc": {
        "start": {
          "line": 190,
          "column": 15
        },
        "end": {
          "line": 190,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8009,
      "end": 8010,
      "loc": {
        "start": {
          "line": 190,
          "column": 16
        },
        "end": {
          "line": 190,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "insertAt",
      "start": 8010,
      "end": 8018,
      "loc": {
        "start": {
          "line": 190,
          "column": 17
        },
        "end": {
          "line": 190,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 8019,
      "end": 8021,
      "loc": {
        "start": {
          "line": 190,
          "column": 26
        },
        "end": {
          "line": 190,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8022,
      "end": 8023,
      "loc": {
        "start": {
          "line": 190,
          "column": 29
        },
        "end": {
          "line": 190,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8023,
      "end": 8024,
      "loc": {
        "start": {
          "line": 190,
          "column": 30
        },
        "end": {
          "line": 190,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 8025,
      "end": 8027,
      "loc": {
        "start": {
          "line": 190,
          "column": 32
        },
        "end": {
          "line": 190,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8028,
      "end": 8029,
      "loc": {
        "start": {
          "line": 190,
          "column": 35
        },
        "end": {
          "line": 190,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 8029,
      "end": 8034,
      "loc": {
        "start": {
          "line": 190,
          "column": 36
        },
        "end": {
          "line": 190,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8034,
      "end": 8035,
      "loc": {
        "start": {
          "line": 190,
          "column": 41
        },
        "end": {
          "line": 190,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "insertAt",
      "start": 8035,
      "end": 8043,
      "loc": {
        "start": {
          "line": 190,
          "column": 42
        },
        "end": {
          "line": 190,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8043,
      "end": 8044,
      "loc": {
        "start": {
          "line": 190,
          "column": 50
        },
        "end": {
          "line": 190,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8044,
      "end": 8045,
      "loc": {
        "start": {
          "line": 190,
          "column": 51
        },
        "end": {
          "line": 190,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 8045,
      "end": 8052,
      "loc": {
        "start": {
          "line": 190,
          "column": 52
        },
        "end": {
          "line": 190,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8052,
      "end": 8053,
      "loc": {
        "start": {
          "line": 190,
          "column": 59
        },
        "end": {
          "line": 190,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "priority",
      "start": 8053,
      "end": 8061,
      "loc": {
        "start": {
          "line": 190,
          "column": 60
        },
        "end": {
          "line": 190,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 8062,
      "end": 8063,
      "loc": {
        "start": {
          "line": 190,
          "column": 69
        },
        "end": {
          "line": 190,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 8064,
      "end": 8072,
      "loc": {
        "start": {
          "line": 190,
          "column": 71
        },
        "end": {
          "line": 190,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8072,
      "end": 8073,
      "loc": {
        "start": {
          "line": 190,
          "column": 79
        },
        "end": {
          "line": 190,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 8073,
      "end": 8080,
      "loc": {
        "start": {
          "line": 190,
          "column": 80
        },
        "end": {
          "line": 190,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8080,
      "end": 8081,
      "loc": {
        "start": {
          "line": 190,
          "column": 87
        },
        "end": {
          "line": 190,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "priority",
      "start": 8081,
      "end": 8089,
      "loc": {
        "start": {
          "line": 190,
          "column": 88
        },
        "end": {
          "line": 190,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8089,
      "end": 8090,
      "loc": {
        "start": {
          "line": 190,
          "column": 96
        },
        "end": {
          "line": 190,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8090,
      "end": 8091,
      "loc": {
        "start": {
          "line": 190,
          "column": 97
        },
        "end": {
          "line": 190,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8092,
      "end": 8093,
      "loc": {
        "start": {
          "line": 190,
          "column": 99
        },
        "end": {
          "line": 190,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8094,
      "end": 8095,
      "loc": {
        "start": {
          "line": 190,
          "column": 101
        },
        "end": {
          "line": 190,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "--",
      "start": 8096,
      "end": 8098,
      "loc": {
        "start": {
          "line": 190,
          "column": 103
        },
        "end": {
          "line": 190,
          "column": 105
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "insertAt",
      "start": 8098,
      "end": 8106,
      "loc": {
        "start": {
          "line": 190,
          "column": 105
        },
        "end": {
          "line": 190,
          "column": 113
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8106,
      "end": 8107,
      "loc": {
        "start": {
          "line": 190,
          "column": 113
        },
        "end": {
          "line": 190,
          "column": 114
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8108,
      "end": 8109,
      "loc": {
        "start": {
          "line": 190,
          "column": 115
        },
        "end": {
          "line": 190,
          "column": 116
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 8127,
      "end": 8132,
      "loc": {
        "start": {
          "line": 192,
          "column": 8
        },
        "end": {
          "line": 192,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8132,
      "end": 8133,
      "loc": {
        "start": {
          "line": 192,
          "column": 13
        },
        "end": {
          "line": 192,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "splice",
      "start": 8133,
      "end": 8139,
      "loc": {
        "start": {
          "line": 192,
          "column": 14
        },
        "end": {
          "line": 192,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8139,
      "end": 8140,
      "loc": {
        "start": {
          "line": 192,
          "column": 20
        },
        "end": {
          "line": 192,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 8140,
      "end": 8141,
      "loc": {
        "start": {
          "line": 192,
          "column": 21
        },
        "end": {
          "line": 192,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 8142,
      "end": 8143,
      "loc": {
        "start": {
          "line": 192,
          "column": 23
        },
        "end": {
          "line": 192,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "insertAt",
      "start": 8144,
      "end": 8152,
      "loc": {
        "start": {
          "line": 192,
          "column": 25
        },
        "end": {
          "line": 192,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8152,
      "end": 8153,
      "loc": {
        "start": {
          "line": 192,
          "column": 33
        },
        "end": {
          "line": 192,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8154,
      "end": 8155,
      "loc": {
        "start": {
          "line": 192,
          "column": 35
        },
        "end": {
          "line": 192,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8155,
      "end": 8156,
      "loc": {
        "start": {
          "line": 192,
          "column": 36
        },
        "end": {
          "line": 192,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 8157,
      "end": 8165,
      "loc": {
        "start": {
          "line": 192,
          "column": 38
        },
        "end": {
          "line": 192,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8165,
      "end": 8166,
      "loc": {
        "start": {
          "line": 192,
          "column": 46
        },
        "end": {
          "line": 192,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8166,
      "end": 8167,
      "loc": {
        "start": {
          "line": 192,
          "column": 47
        },
        "end": {
          "line": 192,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8172,
      "end": 8173,
      "loc": {
        "start": {
          "line": 193,
          "column": 4
        },
        "end": {
          "line": 193,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 移除一个事件侦听器。\n     * \n     * 第三个参数 `useCapture` 可以是一个 {@link Boolean} 类型的值，或者是一个 {@link IEventListenerOptions} 类型的值。\n     * \n     * 只有完全相同（使用 === 对比）的侦听器才会被移除。因此使用 `useCapture=false` 并不会移除**捕获阶段**的侦听器。\n     * 同理 `useCapture=true` 也不会移除**冒泡阶段**的侦听器。\n     * \n     * @param {String|Symbol} type - 事件类型。\n     * @param {Function|IEventListener} handler - 指定要移除的事件处理函数或者事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [useCapture=false] - 指定是移除捕获阶段(`true`)还是冒泡阶段(`false`)的事件侦听器。\n     * @example\n     * /// 使用不用类型的 useCapture 值移除侦听器。\n     * dispatcher.removeEventListener(type, handler, false);\n     * dispatcher.removeEventListener(type, handler, { \"useCapture\": true });\n     * \n     * /// 分别移除不用阶段的侦听器。\n     * const dispatcher = new EventDispatcher();\n     * \n     * function captureHandler( evt ) {\n     *     console.log(\"capture\");\n     * }\n     * \n     * dispatcher.addEventListener(\"custom\", captureHandler, true);\n     * dispatcher.removeEventListener(\"custom\", captureHandler, false); // 这里并不会移除 captureHandler 侦听器。\n     * dispatcher.hasEventListener(\"custom\"); // true\n     * dispatcher.removeEventListener(\"custom\", captureHandler, true); // 这里才会移除 captureHandler 侦听器。\n     * dispatcher.hasEventListener(\"custom\"); // false\n     * @since 1.0.0\n     ",
      "start": 8183,
      "end": 9452,
      "loc": {
        "start": {
          "line": 195,
          "column": 4
        },
        "end": {
          "line": 224,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeEventListener",
      "start": 9457,
      "end": 9476,
      "loc": {
        "start": {
          "line": 225,
          "column": 4
        },
        "end": {
          "line": 225,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9476,
      "end": 9477,
      "loc": {
        "start": {
          "line": 225,
          "column": 23
        },
        "end": {
          "line": 225,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 9478,
      "end": 9482,
      "loc": {
        "start": {
          "line": 225,
          "column": 25
        },
        "end": {
          "line": 225,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9482,
      "end": 9483,
      "loc": {
        "start": {
          "line": 225,
          "column": 29
        },
        "end": {
          "line": 225,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 9484,
      "end": 9491,
      "loc": {
        "start": {
          "line": 225,
          "column": 31
        },
        "end": {
          "line": 225,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9491,
      "end": 9492,
      "loc": {
        "start": {
          "line": 225,
          "column": 38
        },
        "end": {
          "line": 225,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 9493,
      "end": 9503,
      "loc": {
        "start": {
          "line": 225,
          "column": 40
        },
        "end": {
          "line": 225,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9504,
      "end": 9505,
      "loc": {
        "start": {
          "line": 225,
          "column": 51
        },
        "end": {
          "line": 225,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 9506,
      "end": 9511,
      "loc": {
        "start": {
          "line": 225,
          "column": 53
        },
        "end": {
          "line": 225,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9512,
      "end": 9513,
      "loc": {
        "start": {
          "line": 225,
          "column": 59
        },
        "end": {
          "line": 225,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9514,
      "end": 9515,
      "loc": {
        "start": {
          "line": 225,
          "column": 61
        },
        "end": {
          "line": 225,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9524,
      "end": 9526,
      "loc": {
        "start": {
          "line": 226,
          "column": 8
        },
        "end": {
          "line": 226,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9527,
      "end": 9528,
      "loc": {
        "start": {
          "line": 226,
          "column": 11
        },
        "end": {
          "line": 226,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 9529,
      "end": 9530,
      "loc": {
        "start": {
          "line": 226,
          "column": 13
        },
        "end": {
          "line": 226,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9530,
      "end": 9534,
      "loc": {
        "start": {
          "line": 226,
          "column": 14
        },
        "end": {
          "line": 226,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9534,
      "end": 9535,
      "loc": {
        "start": {
          "line": 226,
          "column": 18
        },
        "end": {
          "line": 226,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasEventListener",
      "start": 9535,
      "end": 9551,
      "loc": {
        "start": {
          "line": 226,
          "column": 19
        },
        "end": {
          "line": 226,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9551,
      "end": 9552,
      "loc": {
        "start": {
          "line": 226,
          "column": 35
        },
        "end": {
          "line": 226,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 9552,
      "end": 9556,
      "loc": {
        "start": {
          "line": 226,
          "column": 36
        },
        "end": {
          "line": 226,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9556,
      "end": 9557,
      "loc": {
        "start": {
          "line": 226,
          "column": 40
        },
        "end": {
          "line": 226,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9558,
      "end": 9559,
      "loc": {
        "start": {
          "line": 226,
          "column": 42
        },
        "end": {
          "line": 226,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9560,
      "end": 9561,
      "loc": {
        "start": {
          "line": 226,
          "column": 44
        },
        "end": {
          "line": 226,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9574,
      "end": 9580,
      "loc": {
        "start": {
          "line": 227,
          "column": 12
        },
        "end": {
          "line": 227,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9580,
      "end": 9581,
      "loc": {
        "start": {
          "line": 227,
          "column": 18
        },
        "end": {
          "line": 227,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9590,
      "end": 9591,
      "loc": {
        "start": {
          "line": 228,
          "column": 8
        },
        "end": {
          "line": 228,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 如果 `useCapture` 是一个 {@link IEventListenerOptions} 对象，则获取 `IEventListenerOptions.useCapture` 的值。\n         ",
      "start": 9609,
      "end": 9731,
      "loc": {
        "start": {
          "line": 230,
          "column": 8
        },
        "end": {
          "line": 232,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9740,
      "end": 9742,
      "loc": {
        "start": {
          "line": 233,
          "column": 8
        },
        "end": {
          "line": 233,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9743,
      "end": 9744,
      "loc": {
        "start": {
          "line": 233,
          "column": 11
        },
        "end": {
          "line": 233,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 9745,
      "end": 9751,
      "loc": {
        "start": {
          "line": 233,
          "column": 13
        },
        "end": {
          "line": 233,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 9752,
      "end": 9762,
      "loc": {
        "start": {
          "line": 233,
          "column": 20
        },
        "end": {
          "line": 233,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!=",
      "start": 9763,
      "end": 9765,
      "loc": {
        "start": {
          "line": 233,
          "column": 31
        },
        "end": {
          "line": 233,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "boolean",
      "start": 9766,
      "end": 9775,
      "loc": {
        "start": {
          "line": 233,
          "column": 34
        },
        "end": {
          "line": 233,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9776,
      "end": 9777,
      "loc": {
        "start": {
          "line": 233,
          "column": 44
        },
        "end": {
          "line": 233,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9778,
      "end": 9779,
      "loc": {
        "start": {
          "line": 233,
          "column": 46
        },
        "end": {
          "line": 233,
          "column": 47
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @type {IEventListenerOptions} ",
      "start": 9792,
      "end": 9828,
      "loc": {
        "start": {
          "line": 234,
          "column": 12
        },
        "end": {
          "line": 234,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 9841,
      "end": 9846,
      "loc": {
        "start": {
          "line": 235,
          "column": 12
        },
        "end": {
          "line": 235,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9847,
      "end": 9854,
      "loc": {
        "start": {
          "line": 235,
          "column": 18
        },
        "end": {
          "line": 235,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9855,
      "end": 9856,
      "loc": {
        "start": {
          "line": 235,
          "column": 26
        },
        "end": {
          "line": 235,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 9857,
      "end": 9867,
      "loc": {
        "start": {
          "line": 235,
          "column": 28
        },
        "end": {
          "line": 235,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9867,
      "end": 9868,
      "loc": {
        "start": {
          "line": 235,
          "column": 38
        },
        "end": {
          "line": 235,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 9881,
      "end": 9891,
      "loc": {
        "start": {
          "line": 236,
          "column": 12
        },
        "end": {
          "line": 236,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9892,
      "end": 9893,
      "loc": {
        "start": {
          "line": 236,
          "column": 23
        },
        "end": {
          "line": 236,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9894,
      "end": 9895,
      "loc": {
        "start": {
          "line": 236,
          "column": 25
        },
        "end": {
          "line": 236,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9895,
      "end": 9902,
      "loc": {
        "start": {
          "line": 236,
          "column": 26
        },
        "end": {
          "line": 236,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9902,
      "end": 9903,
      "loc": {
        "start": {
          "line": 236,
          "column": 33
        },
        "end": {
          "line": 236,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 9903,
      "end": 9913,
      "loc": {
        "start": {
          "line": 236,
          "column": 34
        },
        "end": {
          "line": 236,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 9914,
      "end": 9917,
      "loc": {
        "start": {
          "line": 236,
          "column": 45
        },
        "end": {
          "line": 236,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "void",
        "keyword": "void",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "void",
      "start": 9918,
      "end": 9922,
      "loc": {
        "start": {
          "line": 236,
          "column": 49
        },
        "end": {
          "line": 236,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 9923,
      "end": 9924,
      "loc": {
        "start": {
          "line": 236,
          "column": 54
        },
        "end": {
          "line": 236,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9925,
      "end": 9926,
      "loc": {
        "start": {
          "line": 236,
          "column": 56
        },
        "end": {
          "line": 236,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9927,
      "end": 9934,
      "loc": {
        "start": {
          "line": 236,
          "column": 58
        },
        "end": {
          "line": 236,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9934,
      "end": 9935,
      "loc": {
        "start": {
          "line": 236,
          "column": 65
        },
        "end": {
          "line": 236,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 9935,
      "end": 9945,
      "loc": {
        "start": {
          "line": 236,
          "column": 66
        },
        "end": {
          "line": 236,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9946,
      "end": 9947,
      "loc": {
        "start": {
          "line": 236,
          "column": 77
        },
        "end": {
          "line": 236,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 9948,
      "end": 9953,
      "loc": {
        "start": {
          "line": 236,
          "column": 79
        },
        "end": {
          "line": 236,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9953,
      "end": 9954,
      "loc": {
        "start": {
          "line": 236,
          "column": 84
        },
        "end": {
          "line": 236,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9954,
      "end": 9955,
      "loc": {
        "start": {
          "line": 236,
          "column": 85
        },
        "end": {
          "line": 236,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9964,
      "end": 9965,
      "loc": {
        "start": {
          "line": 237,
          "column": 8
        },
        "end": {
          "line": 237,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 在事件派发过程中修改侦听器列表会导致派发顺序错误，因此这里需要拷贝侦听器列表的副本。\n         * @see {@link EventDispatcher#addEventListener}\n         ",
      "start": 9983,
      "end": 10109,
      "loc": {
        "start": {
          "line": 239,
          "column": 8
        },
        "end": {
          "line": 242,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 10118,
      "end": 10120,
      "loc": {
        "start": {
          "line": 243,
          "column": 8
        },
        "end": {
          "line": 243,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10121,
      "end": 10122,
      "loc": {
        "start": {
          "line": 243,
          "column": 11
        },
        "end": {
          "line": 243,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10123,
      "end": 10127,
      "loc": {
        "start": {
          "line": 243,
          "column": 13
        },
        "end": {
          "line": 243,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10127,
      "end": 10128,
      "loc": {
        "start": {
          "line": 243,
          "column": 17
        },
        "end": {
          "line": 243,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerLockers",
      "start": 10128,
      "end": 10144,
      "loc": {
        "start": {
          "line": 243,
          "column": 18
        },
        "end": {
          "line": 243,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10144,
      "end": 10145,
      "loc": {
        "start": {
          "line": 243,
          "column": 34
        },
        "end": {
          "line": 243,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 10145,
      "end": 10149,
      "loc": {
        "start": {
          "line": 243,
          "column": 35
        },
        "end": {
          "line": 243,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10149,
      "end": 10150,
      "loc": {
        "start": {
          "line": 243,
          "column": 39
        },
        "end": {
          "line": 243,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10151,
      "end": 10152,
      "loc": {
        "start": {
          "line": 243,
          "column": 41
        },
        "end": {
          "line": 243,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10153,
      "end": 10154,
      "loc": {
        "start": {
          "line": 243,
          "column": 43
        },
        "end": {
          "line": 243,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10167,
      "end": 10171,
      "loc": {
        "start": {
          "line": 244,
          "column": 12
        },
        "end": {
          "line": 244,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10171,
      "end": 10172,
      "loc": {
        "start": {
          "line": 244,
          "column": 16
        },
        "end": {
          "line": 244,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerLockers",
      "start": 10172,
      "end": 10188,
      "loc": {
        "start": {
          "line": 244,
          "column": 17
        },
        "end": {
          "line": 244,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10188,
      "end": 10189,
      "loc": {
        "start": {
          "line": 244,
          "column": 33
        },
        "end": {
          "line": 244,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 10189,
      "end": 10193,
      "loc": {
        "start": {
          "line": 244,
          "column": 34
        },
        "end": {
          "line": 244,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10193,
      "end": 10194,
      "loc": {
        "start": {
          "line": 244,
          "column": 38
        },
        "end": {
          "line": 244,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 10195,
      "end": 10196,
      "loc": {
        "start": {
          "line": 244,
          "column": 40
        },
        "end": {
          "line": 244,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 10197,
      "end": 10202,
      "loc": {
        "start": {
          "line": 244,
          "column": 42
        },
        "end": {
          "line": 244,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10202,
      "end": 10203,
      "loc": {
        "start": {
          "line": 244,
          "column": 47
        },
        "end": {
          "line": 244,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10216,
      "end": 10220,
      "loc": {
        "start": {
          "line": 245,
          "column": 12
        },
        "end": {
          "line": 245,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10220,
      "end": 10221,
      "loc": {
        "start": {
          "line": 245,
          "column": 16
        },
        "end": {
          "line": 245,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 10221,
      "end": 10238,
      "loc": {
        "start": {
          "line": 245,
          "column": 17
        },
        "end": {
          "line": 245,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10238,
      "end": 10239,
      "loc": {
        "start": {
          "line": 245,
          "column": 34
        },
        "end": {
          "line": 245,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 10239,
      "end": 10243,
      "loc": {
        "start": {
          "line": 245,
          "column": 35
        },
        "end": {
          "line": 245,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10243,
      "end": 10244,
      "loc": {
        "start": {
          "line": 245,
          "column": 39
        },
        "end": {
          "line": 245,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 10245,
      "end": 10246,
      "loc": {
        "start": {
          "line": 245,
          "column": 41
        },
        "end": {
          "line": 245,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10247,
      "end": 10251,
      "loc": {
        "start": {
          "line": 245,
          "column": 43
        },
        "end": {
          "line": 245,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10251,
      "end": 10252,
      "loc": {
        "start": {
          "line": 245,
          "column": 47
        },
        "end": {
          "line": 245,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 10252,
      "end": 10269,
      "loc": {
        "start": {
          "line": 245,
          "column": 48
        },
        "end": {
          "line": 245,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10269,
      "end": 10270,
      "loc": {
        "start": {
          "line": 245,
          "column": 65
        },
        "end": {
          "line": 245,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 10270,
      "end": 10274,
      "loc": {
        "start": {
          "line": 245,
          "column": 66
        },
        "end": {
          "line": 245,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10274,
      "end": 10275,
      "loc": {
        "start": {
          "line": 245,
          "column": 70
        },
        "end": {
          "line": 245,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10275,
      "end": 10276,
      "loc": {
        "start": {
          "line": 245,
          "column": 71
        },
        "end": {
          "line": 245,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 10276,
      "end": 10281,
      "loc": {
        "start": {
          "line": 245,
          "column": 72
        },
        "end": {
          "line": 245,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10281,
      "end": 10282,
      "loc": {
        "start": {
          "line": 245,
          "column": 77
        },
        "end": {
          "line": 245,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 10282,
      "end": 10283,
      "loc": {
        "start": {
          "line": 245,
          "column": 78
        },
        "end": {
          "line": 245,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10283,
      "end": 10284,
      "loc": {
        "start": {
          "line": 245,
          "column": 79
        },
        "end": {
          "line": 245,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10284,
      "end": 10285,
      "loc": {
        "start": {
          "line": 245,
          "column": 80
        },
        "end": {
          "line": 245,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10294,
      "end": 10295,
      "loc": {
        "start": {
          "line": 246,
          "column": 8
        },
        "end": {
          "line": 246,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 10313,
      "end": 10316,
      "loc": {
        "start": {
          "line": 248,
          "column": 8
        },
        "end": {
          "line": 248,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10317,
      "end": 10318,
      "loc": {
        "start": {
          "line": 248,
          "column": 12
        },
        "end": {
          "line": 248,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 10319,
      "end": 10322,
      "loc": {
        "start": {
          "line": 248,
          "column": 14
        },
        "end": {
          "line": 248,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 10323,
      "end": 10324,
      "loc": {
        "start": {
          "line": 248,
          "column": 18
        },
        "end": {
          "line": 248,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 10325,
      "end": 10326,
      "loc": {
        "start": {
          "line": 248,
          "column": 20
        },
        "end": {
          "line": 248,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 10327,
      "end": 10328,
      "loc": {
        "start": {
          "line": 248,
          "column": 22
        },
        "end": {
          "line": 248,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10328,
      "end": 10329,
      "loc": {
        "start": {
          "line": 248,
          "column": 23
        },
        "end": {
          "line": 248,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 10330,
      "end": 10335,
      "loc": {
        "start": {
          "line": 248,
          "column": 25
        },
        "end": {
          "line": 248,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 10336,
      "end": 10337,
      "loc": {
        "start": {
          "line": 248,
          "column": 31
        },
        "end": {
          "line": 248,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10338,
      "end": 10342,
      "loc": {
        "start": {
          "line": 248,
          "column": 33
        },
        "end": {
          "line": 248,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10342,
      "end": 10343,
      "loc": {
        "start": {
          "line": 248,
          "column": 37
        },
        "end": {
          "line": 248,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 10343,
      "end": 10360,
      "loc": {
        "start": {
          "line": 248,
          "column": 38
        },
        "end": {
          "line": 248,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10360,
      "end": 10361,
      "loc": {
        "start": {
          "line": 248,
          "column": 55
        },
        "end": {
          "line": 248,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 10361,
      "end": 10365,
      "loc": {
        "start": {
          "line": 248,
          "column": 56
        },
        "end": {
          "line": 248,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10365,
      "end": 10366,
      "loc": {
        "start": {
          "line": 248,
          "column": 60
        },
        "end": {
          "line": 248,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10366,
      "end": 10367,
      "loc": {
        "start": {
          "line": 248,
          "column": 61
        },
        "end": {
          "line": 248,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 10368,
      "end": 10369,
      "loc": {
        "start": {
          "line": 248,
          "column": 63
        },
        "end": {
          "line": 248,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 10370,
      "end": 10371,
      "loc": {
        "start": {
          "line": 248,
          "column": 65
        },
        "end": {
          "line": 248,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 10372,
      "end": 10377,
      "loc": {
        "start": {
          "line": 248,
          "column": 67
        },
        "end": {
          "line": 248,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10377,
      "end": 10378,
      "loc": {
        "start": {
          "line": 248,
          "column": 72
        },
        "end": {
          "line": 248,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 10378,
      "end": 10384,
      "loc": {
        "start": {
          "line": 248,
          "column": 73
        },
        "end": {
          "line": 248,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10384,
      "end": 10385,
      "loc": {
        "start": {
          "line": 248,
          "column": 79
        },
        "end": {
          "line": 248,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 10386,
      "end": 10388,
      "loc": {
        "start": {
          "line": 248,
          "column": 81
        },
        "end": {
          "line": 248,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 10388,
      "end": 10389,
      "loc": {
        "start": {
          "line": 248,
          "column": 83
        },
        "end": {
          "line": 248,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10390,
      "end": 10391,
      "loc": {
        "start": {
          "line": 248,
          "column": 85
        },
        "end": {
          "line": 248,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10392,
      "end": 10393,
      "loc": {
        "start": {
          "line": 248,
          "column": 87
        },
        "end": {
          "line": 248,
          "column": 88
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n             * 只有完全相同（使用 === 对比）的侦听器才会被移除。\n             ",
      "start": 10406,
      "end": 10468,
      "loc": {
        "start": {
          "line": 249,
          "column": 12
        },
        "end": {
          "line": 251,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 10481,
      "end": 10483,
      "loc": {
        "start": {
          "line": 252,
          "column": 12
        },
        "end": {
          "line": 252,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10484,
      "end": 10485,
      "loc": {
        "start": {
          "line": 252,
          "column": 15
        },
        "end": {
          "line": 252,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 10486,
      "end": 10493,
      "loc": {
        "start": {
          "line": 252,
          "column": 17
        },
        "end": {
          "line": 252,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 10494,
      "end": 10497,
      "loc": {
        "start": {
          "line": 252,
          "column": 25
        },
        "end": {
          "line": 252,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 10498,
      "end": 10503,
      "loc": {
        "start": {
          "line": 252,
          "column": 29
        },
        "end": {
          "line": 252,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10503,
      "end": 10504,
      "loc": {
        "start": {
          "line": 252,
          "column": 34
        },
        "end": {
          "line": 252,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 10504,
      "end": 10505,
      "loc": {
        "start": {
          "line": 252,
          "column": 35
        },
        "end": {
          "line": 252,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10505,
      "end": 10506,
      "loc": {
        "start": {
          "line": 252,
          "column": 36
        },
        "end": {
          "line": 252,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10506,
      "end": 10507,
      "loc": {
        "start": {
          "line": 252,
          "column": 37
        },
        "end": {
          "line": 252,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 10507,
      "end": 10514,
      "loc": {
        "start": {
          "line": 252,
          "column": 38
        },
        "end": {
          "line": 252,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 10515,
      "end": 10517,
      "loc": {
        "start": {
          "line": 252,
          "column": 46
        },
        "end": {
          "line": 252,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 10518,
      "end": 10528,
      "loc": {
        "start": {
          "line": 252,
          "column": 49
        },
        "end": {
          "line": 252,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 10529,
      "end": 10532,
      "loc": {
        "start": {
          "line": 252,
          "column": 60
        },
        "end": {
          "line": 252,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 10533,
      "end": 10538,
      "loc": {
        "start": {
          "line": 252,
          "column": 64
        },
        "end": {
          "line": 252,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10538,
      "end": 10539,
      "loc": {
        "start": {
          "line": 252,
          "column": 69
        },
        "end": {
          "line": 252,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 10539,
      "end": 10540,
      "loc": {
        "start": {
          "line": 252,
          "column": 70
        },
        "end": {
          "line": 252,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10540,
      "end": 10541,
      "loc": {
        "start": {
          "line": 252,
          "column": 71
        },
        "end": {
          "line": 252,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10541,
      "end": 10542,
      "loc": {
        "start": {
          "line": 252,
          "column": 72
        },
        "end": {
          "line": 252,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 10542,
      "end": 10549,
      "loc": {
        "start": {
          "line": 252,
          "column": 73
        },
        "end": {
          "line": 252,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10549,
      "end": 10550,
      "loc": {
        "start": {
          "line": 252,
          "column": 80
        },
        "end": {
          "line": 252,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 10550,
      "end": 10560,
      "loc": {
        "start": {
          "line": 252,
          "column": 81
        },
        "end": {
          "line": 252,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10561,
      "end": 10562,
      "loc": {
        "start": {
          "line": 252,
          "column": 92
        },
        "end": {
          "line": 252,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10563,
      "end": 10564,
      "loc": {
        "start": {
          "line": 252,
          "column": 94
        },
        "end": {
          "line": 252,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 10581,
      "end": 10586,
      "loc": {
        "start": {
          "line": 253,
          "column": 16
        },
        "end": {
          "line": 253,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10586,
      "end": 10587,
      "loc": {
        "start": {
          "line": 253,
          "column": 21
        },
        "end": {
          "line": 253,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "splice",
      "start": 10587,
      "end": 10593,
      "loc": {
        "start": {
          "line": 253,
          "column": 22
        },
        "end": {
          "line": 253,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10593,
      "end": 10594,
      "loc": {
        "start": {
          "line": 253,
          "column": 28
        },
        "end": {
          "line": 253,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 10594,
      "end": 10595,
      "loc": {
        "start": {
          "line": 253,
          "column": 29
        },
        "end": {
          "line": 253,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10595,
      "end": 10596,
      "loc": {
        "start": {
          "line": 253,
          "column": 30
        },
        "end": {
          "line": 253,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 10597,
      "end": 10598,
      "loc": {
        "start": {
          "line": 253,
          "column": 32
        },
        "end": {
          "line": 253,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10598,
      "end": 10599,
      "loc": {
        "start": {
          "line": 253,
          "column": 33
        },
        "end": {
          "line": 253,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10599,
      "end": 10600,
      "loc": {
        "start": {
          "line": 253,
          "column": 34
        },
        "end": {
          "line": 253,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "break",
        "keyword": "break",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "break",
      "start": 10617,
      "end": 10622,
      "loc": {
        "start": {
          "line": 254,
          "column": 16
        },
        "end": {
          "line": 254,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10622,
      "end": 10623,
      "loc": {
        "start": {
          "line": 254,
          "column": 21
        },
        "end": {
          "line": 254,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10636,
      "end": 10637,
      "loc": {
        "start": {
          "line": 255,
          "column": 12
        },
        "end": {
          "line": 255,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10646,
      "end": 10647,
      "loc": {
        "start": {
          "line": 256,
          "column": 8
        },
        "end": {
          "line": 256,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10652,
      "end": 10653,
      "loc": {
        "start": {
          "line": 257,
          "column": 4
        },
        "end": {
          "line": 257,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 检查是否注册了指定类型的事件侦听器。\n     * @param {String|Symbol} type - 事件类型。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * dispatcher.addEventListener(\"custom\", ( evt ) => {}, false);\n     * \n     * console.log(dispatcher.hasEventListener(\"custom\")); // true\n     * console.log(dispatcher.hasEventListener(\"notexists\")); // false\n     * @returns {Boolean} - 如果存在指定类型的侦听器则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
      "start": 10663,
      "end": 11107,
      "loc": {
        "start": {
          "line": 259,
          "column": 4
        },
        "end": {
          "line": 270,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasEventListener",
      "start": 11112,
      "end": 11128,
      "loc": {
        "start": {
          "line": 271,
          "column": 4
        },
        "end": {
          "line": 271,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11128,
      "end": 11129,
      "loc": {
        "start": {
          "line": 271,
          "column": 20
        },
        "end": {
          "line": 271,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 11130,
      "end": 11134,
      "loc": {
        "start": {
          "line": 271,
          "column": 22
        },
        "end": {
          "line": 271,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11135,
      "end": 11136,
      "loc": {
        "start": {
          "line": 271,
          "column": 27
        },
        "end": {
          "line": 271,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11137,
      "end": 11138,
      "loc": {
        "start": {
          "line": 271,
          "column": 29
        },
        "end": {
          "line": 271,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 11147,
      "end": 11153,
      "loc": {
        "start": {
          "line": 272,
          "column": 8
        },
        "end": {
          "line": 272,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11154,
      "end": 11155,
      "loc": {
        "start": {
          "line": 272,
          "column": 15
        },
        "end": {
          "line": 272,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 11155,
      "end": 11156,
      "loc": {
        "start": {
          "line": 272,
          "column": 16
        },
        "end": {
          "line": 272,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 11156,
      "end": 11157,
      "loc": {
        "start": {
          "line": 272,
          "column": 17
        },
        "end": {
          "line": 272,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 11157,
      "end": 11161,
      "loc": {
        "start": {
          "line": 272,
          "column": 18
        },
        "end": {
          "line": 272,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11161,
      "end": 11162,
      "loc": {
        "start": {
          "line": 272,
          "column": 22
        },
        "end": {
          "line": 272,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 11162,
      "end": 11179,
      "loc": {
        "start": {
          "line": 272,
          "column": 23
        },
        "end": {
          "line": 272,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11179,
      "end": 11180,
      "loc": {
        "start": {
          "line": 272,
          "column": 40
        },
        "end": {
          "line": 272,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 11180,
      "end": 11184,
      "loc": {
        "start": {
          "line": 272,
          "column": 41
        },
        "end": {
          "line": 272,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11184,
      "end": 11185,
      "loc": {
        "start": {
          "line": 272,
          "column": 45
        },
        "end": {
          "line": 272,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 11186,
      "end": 11188,
      "loc": {
        "start": {
          "line": 272,
          "column": 47
        },
        "end": {
          "line": 272,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 11189,
      "end": 11193,
      "loc": {
        "start": {
          "line": 272,
          "column": 50
        },
        "end": {
          "line": 272,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11193,
      "end": 11194,
      "loc": {
        "start": {
          "line": 272,
          "column": 54
        },
        "end": {
          "line": 272,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 11194,
      "end": 11211,
      "loc": {
        "start": {
          "line": 272,
          "column": 55
        },
        "end": {
          "line": 272,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11211,
      "end": 11212,
      "loc": {
        "start": {
          "line": 272,
          "column": 72
        },
        "end": {
          "line": 272,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 11212,
      "end": 11216,
      "loc": {
        "start": {
          "line": 272,
          "column": 73
        },
        "end": {
          "line": 272,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11216,
      "end": 11217,
      "loc": {
        "start": {
          "line": 272,
          "column": 77
        },
        "end": {
          "line": 272,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11217,
      "end": 11218,
      "loc": {
        "start": {
          "line": 272,
          "column": 78
        },
        "end": {
          "line": 272,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 11218,
      "end": 11224,
      "loc": {
        "start": {
          "line": 272,
          "column": 79
        },
        "end": {
          "line": 272,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 11225,
      "end": 11227,
      "loc": {
        "start": {
          "line": 272,
          "column": 86
        },
        "end": {
          "line": 272,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 11228,
      "end": 11229,
      "loc": {
        "start": {
          "line": 272,
          "column": 89
        },
        "end": {
          "line": 272,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11229,
      "end": 11230,
      "loc": {
        "start": {
          "line": 272,
          "column": 90
        },
        "end": {
          "line": 272,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11230,
      "end": 11231,
      "loc": {
        "start": {
          "line": 272,
          "column": 91
        },
        "end": {
          "line": 272,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11236,
      "end": 11237,
      "loc": {
        "start": {
          "line": 273,
          "column": 4
        },
        "end": {
          "line": 273,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 派发一个事件对象到目标对象的事件流中。\n     * @param {Event|String|Symbol} event - 指定派发的事件对象。\n     * @example\n     * const dispatcher = new EventDispatcher();\n     * \n     * dispatcher.dispatchEvent(new Event(\"custom\", false, false)); // 派发一个不冒泡的事件。\n     * dispatcher.dispatchEvent(new Event(\"custom\", true, false)); // 派发一个参与冒泡的事件。\n     * @returns {Boolean} - 如果事件传递到了当前目标对象，并且没有被取消默认行为。则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
      "start": 11247,
      "end": 11679,
      "loc": {
        "start": {
          "line": 275,
          "column": 4
        },
        "end": {
          "line": 285,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dispatchEvent",
      "start": 11684,
      "end": 11697,
      "loc": {
        "start": {
          "line": 286,
          "column": 4
        },
        "end": {
          "line": 286,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11697,
      "end": 11698,
      "loc": {
        "start": {
          "line": 286,
          "column": 17
        },
        "end": {
          "line": 286,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 11699,
      "end": 11704,
      "loc": {
        "start": {
          "line": 286,
          "column": 19
        },
        "end": {
          "line": 286,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11705,
      "end": 11706,
      "loc": {
        "start": {
          "line": 286,
          "column": 25
        },
        "end": {
          "line": 286,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11707,
      "end": 11708,
      "loc": {
        "start": {
          "line": 286,
          "column": 27
        },
        "end": {
          "line": 286,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 11717,
      "end": 11719,
      "loc": {
        "start": {
          "line": 287,
          "column": 8
        },
        "end": {
          "line": 287,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11720,
      "end": 11721,
      "loc": {
        "start": {
          "line": 287,
          "column": 11
        },
        "end": {
          "line": 287,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 11722,
      "end": 11728,
      "loc": {
        "start": {
          "line": 287,
          "column": 13
        },
        "end": {
          "line": 287,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 11729,
      "end": 11734,
      "loc": {
        "start": {
          "line": 287,
          "column": 20
        },
        "end": {
          "line": 287,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 11735,
      "end": 11737,
      "loc": {
        "start": {
          "line": 287,
          "column": 26
        },
        "end": {
          "line": 287,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "string",
      "start": 11738,
      "end": 11746,
      "loc": {
        "start": {
          "line": 287,
          "column": 29
        },
        "end": {
          "line": 287,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 11747,
      "end": 11749,
      "loc": {
        "start": {
          "line": 287,
          "column": 38
        },
        "end": {
          "line": 287,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 11750,
      "end": 11756,
      "loc": {
        "start": {
          "line": 287,
          "column": 41
        },
        "end": {
          "line": 287,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 11757,
      "end": 11762,
      "loc": {
        "start": {
          "line": 287,
          "column": 48
        },
        "end": {
          "line": 287,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 11763,
      "end": 11765,
      "loc": {
        "start": {
          "line": 287,
          "column": 54
        },
        "end": {
          "line": 287,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "symbol",
      "start": 11766,
      "end": 11774,
      "loc": {
        "start": {
          "line": 287,
          "column": 57
        },
        "end": {
          "line": 287,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11775,
      "end": 11776,
      "loc": {
        "start": {
          "line": 287,
          "column": 66
        },
        "end": {
          "line": 287,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11777,
      "end": 11778,
      "loc": {
        "start": {
          "line": 287,
          "column": 68
        },
        "end": {
          "line": 287,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 11791,
      "end": 11796,
      "loc": {
        "start": {
          "line": 288,
          "column": 12
        },
        "end": {
          "line": 288,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 11797,
      "end": 11798,
      "loc": {
        "start": {
          "line": 288,
          "column": 18
        },
        "end": {
          "line": 288,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 11799,
      "end": 11802,
      "loc": {
        "start": {
          "line": 288,
          "column": 20
        },
        "end": {
          "line": 288,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Event",
      "start": 11803,
      "end": 11808,
      "loc": {
        "start": {
          "line": 288,
          "column": 24
        },
        "end": {
          "line": 288,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11808,
      "end": 11809,
      "loc": {
        "start": {
          "line": 288,
          "column": 29
        },
        "end": {
          "line": 288,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 11809,
      "end": 11814,
      "loc": {
        "start": {
          "line": 288,
          "column": 30
        },
        "end": {
          "line": 288,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11814,
      "end": 11815,
      "loc": {
        "start": {
          "line": 288,
          "column": 35
        },
        "end": {
          "line": 288,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11815,
      "end": 11816,
      "loc": {
        "start": {
          "line": 288,
          "column": 36
        },
        "end": {
          "line": 288,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11825,
      "end": 11826,
      "loc": {
        "start": {
          "line": 289,
          "column": 8
        },
        "end": {
          "line": 289,
          "column": 9
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "/ 该事件对象已经被派发过一次！",
      "start": 11844,
      "end": 11862,
      "loc": {
        "start": {
          "line": 291,
          "column": 8
        },
        "end": {
          "line": 291,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 11871,
      "end": 11873,
      "loc": {
        "start": {
          "line": 292,
          "column": 8
        },
        "end": {
          "line": 292,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11874,
      "end": 11875,
      "loc": {
        "start": {
          "line": 292,
          "column": 11
        },
        "end": {
          "line": 292,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 11876,
      "end": 11881,
      "loc": {
        "start": {
          "line": 292,
          "column": 13
        },
        "end": {
          "line": 292,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11881,
      "end": 11882,
      "loc": {
        "start": {
          "line": 292,
          "column": 18
        },
        "end": {
          "line": 292,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 11882,
      "end": 11888,
      "loc": {
        "start": {
          "line": 292,
          "column": 19
        },
        "end": {
          "line": 292,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 11889,
      "end": 11891,
      "loc": {
        "start": {
          "line": 292,
          "column": 26
        },
        "end": {
          "line": 292,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 11892,
      "end": 11897,
      "loc": {
        "start": {
          "line": 292,
          "column": 29
        },
        "end": {
          "line": 292,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11897,
      "end": 11898,
      "loc": {
        "start": {
          "line": 292,
          "column": 34
        },
        "end": {
          "line": 292,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "eventPhase",
      "start": 11898,
      "end": 11908,
      "loc": {
        "start": {
          "line": 292,
          "column": 35
        },
        "end": {
          "line": 292,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 11909,
      "end": 11912,
      "loc": {
        "start": {
          "line": 292,
          "column": 46
        },
        "end": {
          "line": 292,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventPhase",
      "start": 11913,
      "end": 11923,
      "loc": {
        "start": {
          "line": 292,
          "column": 50
        },
        "end": {
          "line": 292,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11923,
      "end": 11924,
      "loc": {
        "start": {
          "line": 292,
          "column": 60
        },
        "end": {
          "line": 292,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NONE",
      "start": 11924,
      "end": 11928,
      "loc": {
        "start": {
          "line": 292,
          "column": 61
        },
        "end": {
          "line": 292,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11929,
      "end": 11930,
      "loc": {
        "start": {
          "line": 292,
          "column": 66
        },
        "end": {
          "line": 292,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11931,
      "end": 11932,
      "loc": {
        "start": {
          "line": 292,
          "column": 68
        },
        "end": {
          "line": 292,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 11945,
      "end": 11950,
      "loc": {
        "start": {
          "line": 293,
          "column": 12
        },
        "end": {
          "line": 293,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 11951,
      "end": 11954,
      "loc": {
        "start": {
          "line": 293,
          "column": 18
        },
        "end": {
          "line": 293,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 11955,
      "end": 11960,
      "loc": {
        "start": {
          "line": 293,
          "column": 22
        },
        "end": {
          "line": 293,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11960,
      "end": 11961,
      "loc": {
        "start": {
          "line": 293,
          "column": 27
        },
        "end": {
          "line": 293,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "同一个事件对象不能派发多次！",
      "start": 11961,
      "end": 11977,
      "loc": {
        "start": {
          "line": 293,
          "column": 28
        },
        "end": {
          "line": 293,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11977,
      "end": 11978,
      "loc": {
        "start": {
          "line": 293,
          "column": 44
        },
        "end": {
          "line": 293,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11978,
      "end": 11979,
      "loc": {
        "start": {
          "line": 293,
          "column": 45
        },
        "end": {
          "line": 293,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11988,
      "end": 11989,
      "loc": {
        "start": {
          "line": 294,
          "column": 8
        },
        "end": {
          "line": 294,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12007,
      "end": 12012,
      "loc": {
        "start": {
          "line": 296,
          "column": 8
        },
        "end": {
          "line": 296,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12012,
      "end": 12013,
      "loc": {
        "start": {
          "line": 296,
          "column": 13
        },
        "end": {
          "line": 296,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_target",
      "start": 12013,
      "end": 12020,
      "loc": {
        "start": {
          "line": 296,
          "column": 14
        },
        "end": {
          "line": 296,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 12021,
      "end": 12022,
      "loc": {
        "start": {
          "line": 296,
          "column": 22
        },
        "end": {
          "line": 296,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 12023,
      "end": 12027,
      "loc": {
        "start": {
          "line": 296,
          "column": 24
        },
        "end": {
          "line": 296,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12027,
      "end": 12028,
      "loc": {
        "start": {
          "line": 296,
          "column": 28
        },
        "end": {
          "line": 296,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_targetDispatcher",
      "start": 12028,
      "end": 12045,
      "loc": {
        "start": {
          "line": 296,
          "column": 29
        },
        "end": {
          "line": 296,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12045,
      "end": 12046,
      "loc": {
        "start": {
          "line": 296,
          "column": 46
        },
        "end": {
          "line": 296,
          "column": 47
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " 设置事件目标对象。",
      "start": 12047,
      "end": 12059,
      "loc": {
        "start": {
          "line": 296,
          "column": 48
        },
        "end": {
          "line": 296,
          "column": 60
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 满足以下条件时，直接调度事件至目标阶段：\n         * \n         * 1) 事件不参与冒泡行为。\n         * 2) 目标对象没有加入显示对象列表。\n         ",
      "start": 12077,
      "end": 12191,
      "loc": {
        "start": {
          "line": 298,
          "column": 8
        },
        "end": {
          "line": 303,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 12200,
      "end": 12202,
      "loc": {
        "start": {
          "line": 304,
          "column": 8
        },
        "end": {
          "line": 304,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12203,
      "end": 12204,
      "loc": {
        "start": {
          "line": 304,
          "column": 11
        },
        "end": {
          "line": 304,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 12205,
      "end": 12206,
      "loc": {
        "start": {
          "line": 304,
          "column": 13
        },
        "end": {
          "line": 304,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12206,
      "end": 12211,
      "loc": {
        "start": {
          "line": 304,
          "column": 14
        },
        "end": {
          "line": 304,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12211,
      "end": 12212,
      "loc": {
        "start": {
          "line": 304,
          "column": 19
        },
        "end": {
          "line": 304,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bubbles",
      "start": 12212,
      "end": 12219,
      "loc": {
        "start": {
          "line": 304,
          "column": 20
        },
        "end": {
          "line": 304,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 12220,
      "end": 12222,
      "loc": {
        "start": {
          "line": 304,
          "column": 28
        },
        "end": {
          "line": 304,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 12223,
      "end": 12224,
      "loc": {
        "start": {
          "line": 304,
          "column": 31
        },
        "end": {
          "line": 304,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12224,
      "end": 12229,
      "loc": {
        "start": {
          "line": 304,
          "column": 32
        },
        "end": {
          "line": 304,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12229,
      "end": 12230,
      "loc": {
        "start": {
          "line": 304,
          "column": 37
        },
        "end": {
          "line": 304,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12230,
      "end": 12236,
      "loc": {
        "start": {
          "line": 304,
          "column": 38
        },
        "end": {
          "line": 304,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12236,
      "end": 12237,
      "loc": {
        "start": {
          "line": 304,
          "column": 44
        },
        "end": {
          "line": 304,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 12237,
      "end": 12243,
      "loc": {
        "start": {
          "line": 304,
          "column": 45
        },
        "end": {
          "line": 304,
          "column": 51
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "< 防止根级别对象循环引用 >",
      "start": 12257,
      "end": 12276,
      "loc": {
        "start": {
          "line": 305,
          "column": 12
        },
        "end": {
          "line": 305,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 12277,
      "end": 12279,
      "loc": {
        "start": {
          "line": 305,
          "column": 32
        },
        "end": {
          "line": 305,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12280,
      "end": 12281,
      "loc": {
        "start": {
          "line": 305,
          "column": 35
        },
        "end": {
          "line": 305,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12281,
      "end": 12286,
      "loc": {
        "start": {
          "line": 305,
          "column": 36
        },
        "end": {
          "line": 305,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12286,
      "end": 12287,
      "loc": {
        "start": {
          "line": 305,
          "column": 41
        },
        "end": {
          "line": 305,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12287,
      "end": 12293,
      "loc": {
        "start": {
          "line": 305,
          "column": 42
        },
        "end": {
          "line": 305,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 12294,
      "end": 12297,
      "loc": {
        "start": {
          "line": 305,
          "column": 49
        },
        "end": {
          "line": 305,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12298,
      "end": 12303,
      "loc": {
        "start": {
          "line": 305,
          "column": 53
        },
        "end": {
          "line": 305,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12303,
      "end": 12304,
      "loc": {
        "start": {
          "line": 305,
          "column": 58
        },
        "end": {
          "line": 305,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12304,
      "end": 12310,
      "loc": {
        "start": {
          "line": 305,
          "column": 59
        },
        "end": {
          "line": 305,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12310,
      "end": 12311,
      "loc": {
        "start": {
          "line": 305,
          "column": 65
        },
        "end": {
          "line": 305,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 12311,
      "end": 12317,
      "loc": {
        "start": {
          "line": 305,
          "column": 66
        },
        "end": {
          "line": 305,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12317,
      "end": 12318,
      "loc": {
        "start": {
          "line": 305,
          "column": 72
        },
        "end": {
          "line": 305,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12319,
      "end": 12320,
      "loc": {
        "start": {
          "line": 305,
          "column": 74
        },
        "end": {
          "line": 305,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12321,
      "end": 12322,
      "loc": {
        "start": {
          "line": 305,
          "column": 76
        },
        "end": {
          "line": 305,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12348,
      "end": 12353,
      "loc": {
        "start": {
          "line": 307,
          "column": 12
        },
        "end": {
          "line": 307,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12353,
      "end": 12354,
      "loc": {
        "start": {
          "line": 307,
          "column": 17
        },
        "end": {
          "line": 307,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_eventPhase",
      "start": 12354,
      "end": 12365,
      "loc": {
        "start": {
          "line": 307,
          "column": 18
        },
        "end": {
          "line": 307,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 12366,
      "end": 12367,
      "loc": {
        "start": {
          "line": 307,
          "column": 30
        },
        "end": {
          "line": 307,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventPhase",
      "start": 12368,
      "end": 12378,
      "loc": {
        "start": {
          "line": 307,
          "column": 32
        },
        "end": {
          "line": 307,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12378,
      "end": 12379,
      "loc": {
        "start": {
          "line": 307,
          "column": 42
        },
        "end": {
          "line": 307,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AT_TARGET",
      "start": 12379,
      "end": 12388,
      "loc": {
        "start": {
          "line": 307,
          "column": 43
        },
        "end": {
          "line": 307,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12388,
      "end": 12389,
      "loc": {
        "start": {
          "line": 307,
          "column": 52
        },
        "end": {
          "line": 307,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12402,
      "end": 12407,
      "loc": {
        "start": {
          "line": 308,
          "column": 12
        },
        "end": {
          "line": 308,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12407,
      "end": 12408,
      "loc": {
        "start": {
          "line": 308,
          "column": 17
        },
        "end": {
          "line": 308,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_currentTarget",
      "start": 12408,
      "end": 12422,
      "loc": {
        "start": {
          "line": 308,
          "column": 18
        },
        "end": {
          "line": 308,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 12423,
      "end": 12424,
      "loc": {
        "start": {
          "line": 308,
          "column": 33
        },
        "end": {
          "line": 308,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12425,
      "end": 12430,
      "loc": {
        "start": {
          "line": 308,
          "column": 35
        },
        "end": {
          "line": 308,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12430,
      "end": 12431,
      "loc": {
        "start": {
          "line": 308,
          "column": 40
        },
        "end": {
          "line": 308,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12431,
      "end": 12437,
      "loc": {
        "start": {
          "line": 308,
          "column": 41
        },
        "end": {
          "line": 308,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12437,
      "end": 12438,
      "loc": {
        "start": {
          "line": 308,
          "column": 47
        },
        "end": {
          "line": 308,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 12464,
      "end": 12466,
      "loc": {
        "start": {
          "line": 310,
          "column": 12
        },
        "end": {
          "line": 310,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12467,
      "end": 12468,
      "loc": {
        "start": {
          "line": 310,
          "column": 15
        },
        "end": {
          "line": 310,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12469,
      "end": 12474,
      "loc": {
        "start": {
          "line": 310,
          "column": 17
        },
        "end": {
          "line": 310,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12474,
      "end": 12475,
      "loc": {
        "start": {
          "line": 310,
          "column": 22
        },
        "end": {
          "line": 310,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentTarget",
      "start": 12475,
      "end": 12488,
      "loc": {
        "start": {
          "line": 310,
          "column": 23
        },
        "end": {
          "line": 310,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12488,
      "end": 12489,
      "loc": {
        "start": {
          "line": 310,
          "column": 36
        },
        "end": {
          "line": 310,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 12489,
      "end": 12509,
      "loc": {
        "start": {
          "line": 310,
          "column": 37
        },
        "end": {
          "line": 310,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12510,
      "end": 12511,
      "loc": {
        "start": {
          "line": 310,
          "column": 58
        },
        "end": {
          "line": 310,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12512,
      "end": 12513,
      "loc": {
        "start": {
          "line": 310,
          "column": 60
        },
        "end": {
          "line": 310,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12530,
      "end": 12535,
      "loc": {
        "start": {
          "line": 311,
          "column": 16
        },
        "end": {
          "line": 311,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12535,
      "end": 12536,
      "loc": {
        "start": {
          "line": 311,
          "column": 21
        },
        "end": {
          "line": 311,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentTarget",
      "start": 12536,
      "end": 12549,
      "loc": {
        "start": {
          "line": 311,
          "column": 22
        },
        "end": {
          "line": 311,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12549,
      "end": 12550,
      "loc": {
        "start": {
          "line": 311,
          "column": 35
        },
        "end": {
          "line": 311,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 12550,
      "end": 12570,
      "loc": {
        "start": {
          "line": 311,
          "column": 36
        },
        "end": {
          "line": 311,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12570,
      "end": 12571,
      "loc": {
        "start": {
          "line": 311,
          "column": 56
        },
        "end": {
          "line": 311,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12571,
      "end": 12576,
      "loc": {
        "start": {
          "line": 311,
          "column": 57
        },
        "end": {
          "line": 311,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12576,
      "end": 12577,
      "loc": {
        "start": {
          "line": 311,
          "column": 62
        },
        "end": {
          "line": 311,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12577,
      "end": 12578,
      "loc": {
        "start": {
          "line": 311,
          "column": 63
        },
        "end": {
          "line": 311,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12591,
      "end": 12592,
      "loc": {
        "start": {
          "line": 312,
          "column": 12
        },
        "end": {
          "line": 312,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12618,
      "end": 12623,
      "loc": {
        "start": {
          "line": 314,
          "column": 12
        },
        "end": {
          "line": 314,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12623,
      "end": 12624,
      "loc": {
        "start": {
          "line": 314,
          "column": 17
        },
        "end": {
          "line": 314,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_currentTarget",
      "start": 12624,
      "end": 12638,
      "loc": {
        "start": {
          "line": 314,
          "column": 18
        },
        "end": {
          "line": 314,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 12639,
      "end": 12640,
      "loc": {
        "start": {
          "line": 314,
          "column": 33
        },
        "end": {
          "line": 314,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 12641,
      "end": 12645,
      "loc": {
        "start": {
          "line": 314,
          "column": 35
        },
        "end": {
          "line": 314,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12645,
      "end": 12646,
      "loc": {
        "start": {
          "line": 314,
          "column": 39
        },
        "end": {
          "line": 314,
          "column": 40
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " 事件派发完成后，删除事件对当前目标的引用。",
      "start": 12647,
      "end": 12671,
      "loc": {
        "start": {
          "line": 314,
          "column": 41
        },
        "end": {
          "line": 314,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 12684,
      "end": 12690,
      "loc": {
        "start": {
          "line": 315,
          "column": 12
        },
        "end": {
          "line": 315,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 12691,
      "end": 12692,
      "loc": {
        "start": {
          "line": 315,
          "column": 19
        },
        "end": {
          "line": 315,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12692,
      "end": 12697,
      "loc": {
        "start": {
          "line": 315,
          "column": 20
        },
        "end": {
          "line": 315,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12697,
      "end": 12698,
      "loc": {
        "start": {
          "line": 315,
          "column": 25
        },
        "end": {
          "line": 315,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "defaultPrevented",
      "start": 12698,
      "end": 12714,
      "loc": {
        "start": {
          "line": 315,
          "column": 26
        },
        "end": {
          "line": 315,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12714,
      "end": 12715,
      "loc": {
        "start": {
          "line": 315,
          "column": 42
        },
        "end": {
          "line": 315,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12724,
      "end": 12725,
      "loc": {
        "start": {
          "line": 316,
          "column": 8
        },
        "end": {
          "line": 316,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 查找事件传递路径。\n         ",
      "start": 12743,
      "end": 12779,
      "loc": {
        "start": {
          "line": 318,
          "column": 8
        },
        "end": {
          "line": 320,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 12788,
      "end": 12791,
      "loc": {
        "start": {
          "line": 321,
          "column": 8
        },
        "end": {
          "line": 321,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12792,
      "end": 12798,
      "loc": {
        "start": {
          "line": 321,
          "column": 12
        },
        "end": {
          "line": 321,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 12799,
      "end": 12800,
      "loc": {
        "start": {
          "line": 321,
          "column": 19
        },
        "end": {
          "line": 321,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 12801,
      "end": 12806,
      "loc": {
        "start": {
          "line": 321,
          "column": 21
        },
        "end": {
          "line": 321,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12806,
      "end": 12807,
      "loc": {
        "start": {
          "line": 321,
          "column": 26
        },
        "end": {
          "line": 321,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12807,
      "end": 12813,
      "loc": {
        "start": {
          "line": 321,
          "column": 27
        },
        "end": {
          "line": 321,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12813,
      "end": 12814,
      "loc": {
        "start": {
          "line": 321,
          "column": 33
        },
        "end": {
          "line": 321,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 12823,
      "end": 12826,
      "loc": {
        "start": {
          "line": 322,
          "column": 8
        },
        "end": {
          "line": 322,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 12827,
      "end": 12831,
      "loc": {
        "start": {
          "line": 322,
          "column": 12
        },
        "end": {
          "line": 322,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 12832,
      "end": 12833,
      "loc": {
        "start": {
          "line": 322,
          "column": 17
        },
        "end": {
          "line": 322,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12834,
      "end": 12835,
      "loc": {
        "start": {
          "line": 322,
          "column": 19
        },
        "end": {
          "line": 322,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12835,
      "end": 12841,
      "loc": {
        "start": {
          "line": 322,
          "column": 20
        },
        "end": {
          "line": 322,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12841,
      "end": 12842,
      "loc": {
        "start": {
          "line": 322,
          "column": 26
        },
        "end": {
          "line": 322,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12842,
      "end": 12843,
      "loc": {
        "start": {
          "line": 322,
          "column": 27
        },
        "end": {
          "line": 322,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "while",
        "keyword": "while",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "while",
      "start": 12861,
      "end": 12866,
      "loc": {
        "start": {
          "line": 324,
          "column": 8
        },
        "end": {
          "line": 324,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12866,
      "end": 12867,
      "loc": {
        "start": {
          "line": 324,
          "column": 13
        },
        "end": {
          "line": 324,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12868,
      "end": 12874,
      "loc": {
        "start": {
          "line": 324,
          "column": 15
        },
        "end": {
          "line": 324,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12874,
      "end": 12875,
      "loc": {
        "start": {
          "line": 324,
          "column": 21
        },
        "end": {
          "line": 324,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 12875,
      "end": 12881,
      "loc": {
        "start": {
          "line": 324,
          "column": 22
        },
        "end": {
          "line": 324,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 12882,
      "end": 12884,
      "loc": {
        "start": {
          "line": 324,
          "column": 29
        },
        "end": {
          "line": 324,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12885,
      "end": 12891,
      "loc": {
        "start": {
          "line": 324,
          "column": 32
        },
        "end": {
          "line": 324,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 12892,
      "end": 12895,
      "loc": {
        "start": {
          "line": 324,
          "column": 39
        },
        "end": {
          "line": 324,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12896,
      "end": 12902,
      "loc": {
        "start": {
          "line": 324,
          "column": 43
        },
        "end": {
          "line": 324,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12902,
      "end": 12903,
      "loc": {
        "start": {
          "line": 324,
          "column": 49
        },
        "end": {
          "line": 324,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 12903,
      "end": 12909,
      "loc": {
        "start": {
          "line": 324,
          "column": 50
        },
        "end": {
          "line": 324,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12910,
      "end": 12911,
      "loc": {
        "start": {
          "line": 324,
          "column": 57
        },
        "end": {
          "line": 324,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12912,
      "end": 12913,
      "loc": {
        "start": {
          "line": 324,
          "column": 59
        },
        "end": {
          "line": 324,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 12914,
      "end": 12918,
      "loc": {
        "start": {
          "line": 324,
          "column": 61
        },
        "end": {
          "line": 324,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12918,
      "end": 12919,
      "loc": {
        "start": {
          "line": 324,
          "column": 65
        },
        "end": {
          "line": 324,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 12919,
      "end": 12923,
      "loc": {
        "start": {
          "line": 324,
          "column": 66
        },
        "end": {
          "line": 324,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12923,
      "end": 12924,
      "loc": {
        "start": {
          "line": 324,
          "column": 70
        },
        "end": {
          "line": 324,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12924,
      "end": 12930,
      "loc": {
        "start": {
          "line": 324,
          "column": 71
        },
        "end": {
          "line": 324,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 12931,
      "end": 12932,
      "loc": {
        "start": {
          "line": 324,
          "column": 78
        },
        "end": {
          "line": 324,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 12933,
      "end": 12939,
      "loc": {
        "start": {
          "line": 324,
          "column": 80
        },
        "end": {
          "line": 324,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12939,
      "end": 12940,
      "loc": {
        "start": {
          "line": 324,
          "column": 86
        },
        "end": {
          "line": 324,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 12940,
      "end": 12946,
      "loc": {
        "start": {
          "line": 324,
          "column": 87
        },
        "end": {
          "line": 324,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12946,
      "end": 12947,
      "loc": {
        "start": {
          "line": 324,
          "column": 93
        },
        "end": {
          "line": 324,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12947,
      "end": 12948,
      "loc": {
        "start": {
          "line": 324,
          "column": 94
        },
        "end": {
          "line": 324,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 12949,
      "end": 12950,
      "loc": {
        "start": {
          "line": 324,
          "column": 96
        },
        "end": {
          "line": 324,
          "column": 97
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 捕获阶段。\n         ",
      "start": 12968,
      "end": 13000,
      "loc": {
        "start": {
          "line": 326,
          "column": 8
        },
        "end": {
          "line": 328,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13009,
      "end": 13014,
      "loc": {
        "start": {
          "line": 329,
          "column": 8
        },
        "end": {
          "line": 329,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13014,
      "end": 13015,
      "loc": {
        "start": {
          "line": 329,
          "column": 13
        },
        "end": {
          "line": 329,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_eventPhase",
      "start": 13015,
      "end": 13026,
      "loc": {
        "start": {
          "line": 329,
          "column": 14
        },
        "end": {
          "line": 329,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 13027,
      "end": 13028,
      "loc": {
        "start": {
          "line": 329,
          "column": 26
        },
        "end": {
          "line": 329,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventPhase",
      "start": 13029,
      "end": 13039,
      "loc": {
        "start": {
          "line": 329,
          "column": 28
        },
        "end": {
          "line": 329,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13039,
      "end": 13040,
      "loc": {
        "start": {
          "line": 329,
          "column": 38
        },
        "end": {
          "line": 329,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "CAPTURING_PHASE",
      "start": 13040,
      "end": 13055,
      "loc": {
        "start": {
          "line": 329,
          "column": 39
        },
        "end": {
          "line": 329,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13055,
      "end": 13056,
      "loc": {
        "start": {
          "line": 329,
          "column": 54
        },
        "end": {
          "line": 329,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 13074,
      "end": 13077,
      "loc": {
        "start": {
          "line": 331,
          "column": 8
        },
        "end": {
          "line": 331,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13078,
      "end": 13079,
      "loc": {
        "start": {
          "line": 331,
          "column": 12
        },
        "end": {
          "line": 331,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 13080,
      "end": 13083,
      "loc": {
        "start": {
          "line": 331,
          "column": 14
        },
        "end": {
          "line": 331,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 13084,
      "end": 13085,
      "loc": {
        "start": {
          "line": 331,
          "column": 18
        },
        "end": {
          "line": 331,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 13086,
      "end": 13087,
      "loc": {
        "start": {
          "line": 331,
          "column": 20
        },
        "end": {
          "line": 331,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 13088,
      "end": 13092,
      "loc": {
        "start": {
          "line": 331,
          "column": 22
        },
        "end": {
          "line": 331,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13092,
      "end": 13093,
      "loc": {
        "start": {
          "line": 331,
          "column": 26
        },
        "end": {
          "line": 331,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 13093,
      "end": 13099,
      "loc": {
        "start": {
          "line": 331,
          "column": 27
        },
        "end": {
          "line": 331,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 13100,
      "end": 13101,
      "loc": {
        "start": {
          "line": 331,
          "column": 34
        },
        "end": {
          "line": 331,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 13102,
      "end": 13103,
      "loc": {
        "start": {
          "line": 331,
          "column": 36
        },
        "end": {
          "line": 331,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13103,
      "end": 13104,
      "loc": {
        "start": {
          "line": 331,
          "column": 37
        },
        "end": {
          "line": 331,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 13105,
      "end": 13106,
      "loc": {
        "start": {
          "line": 331,
          "column": 39
        },
        "end": {
          "line": 331,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 13107,
      "end": 13109,
      "loc": {
        "start": {
          "line": 331,
          "column": 41
        },
        "end": {
          "line": 331,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 13110,
      "end": 13111,
      "loc": {
        "start": {
          "line": 331,
          "column": 44
        },
        "end": {
          "line": 331,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 13112,
      "end": 13114,
      "loc": {
        "start": {
          "line": 331,
          "column": 46
        },
        "end": {
          "line": 331,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 13115,
      "end": 13116,
      "loc": {
        "start": {
          "line": 331,
          "column": 49
        },
        "end": {
          "line": 331,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13116,
      "end": 13121,
      "loc": {
        "start": {
          "line": 331,
          "column": 50
        },
        "end": {
          "line": 331,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13121,
      "end": 13122,
      "loc": {
        "start": {
          "line": 331,
          "column": 55
        },
        "end": {
          "line": 331,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_stopPropagation",
      "start": 13122,
      "end": 13138,
      "loc": {
        "start": {
          "line": 331,
          "column": 56
        },
        "end": {
          "line": 331,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13138,
      "end": 13139,
      "loc": {
        "start": {
          "line": 331,
          "column": 72
        },
        "end": {
          "line": 331,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "--",
      "start": 13140,
      "end": 13142,
      "loc": {
        "start": {
          "line": 331,
          "column": 74
        },
        "end": {
          "line": 331,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 13142,
      "end": 13143,
      "loc": {
        "start": {
          "line": 331,
          "column": 76
        },
        "end": {
          "line": 331,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13144,
      "end": 13145,
      "loc": {
        "start": {
          "line": 331,
          "column": 78
        },
        "end": {
          "line": 331,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13146,
      "end": 13147,
      "loc": {
        "start": {
          "line": 331,
          "column": 80
        },
        "end": {
          "line": 331,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13160,
      "end": 13165,
      "loc": {
        "start": {
          "line": 332,
          "column": 12
        },
        "end": {
          "line": 332,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13165,
      "end": 13166,
      "loc": {
        "start": {
          "line": 332,
          "column": 17
        },
        "end": {
          "line": 332,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_currentTarget",
      "start": 13166,
      "end": 13180,
      "loc": {
        "start": {
          "line": 332,
          "column": 18
        },
        "end": {
          "line": 332,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 13181,
      "end": 13182,
      "loc": {
        "start": {
          "line": 332,
          "column": 33
        },
        "end": {
          "line": 332,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 13183,
      "end": 13187,
      "loc": {
        "start": {
          "line": 332,
          "column": 35
        },
        "end": {
          "line": 332,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13187,
      "end": 13188,
      "loc": {
        "start": {
          "line": 332,
          "column": 39
        },
        "end": {
          "line": 332,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 13188,
      "end": 13189,
      "loc": {
        "start": {
          "line": 332,
          "column": 40
        },
        "end": {
          "line": 332,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13189,
      "end": 13190,
      "loc": {
        "start": {
          "line": 332,
          "column": 41
        },
        "end": {
          "line": 332,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13190,
      "end": 13191,
      "loc": {
        "start": {
          "line": 332,
          "column": 42
        },
        "end": {
          "line": 332,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 13217,
      "end": 13219,
      "loc": {
        "start": {
          "line": 334,
          "column": 12
        },
        "end": {
          "line": 334,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13220,
      "end": 13221,
      "loc": {
        "start": {
          "line": 334,
          "column": 15
        },
        "end": {
          "line": 334,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13222,
      "end": 13227,
      "loc": {
        "start": {
          "line": 334,
          "column": 17
        },
        "end": {
          "line": 334,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13227,
      "end": 13228,
      "loc": {
        "start": {
          "line": 334,
          "column": 22
        },
        "end": {
          "line": 334,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentTarget",
      "start": 13228,
      "end": 13241,
      "loc": {
        "start": {
          "line": 334,
          "column": 23
        },
        "end": {
          "line": 334,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13241,
      "end": 13242,
      "loc": {
        "start": {
          "line": 334,
          "column": 36
        },
        "end": {
          "line": 334,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 13242,
      "end": 13262,
      "loc": {
        "start": {
          "line": 334,
          "column": 37
        },
        "end": {
          "line": 334,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13263,
      "end": 13264,
      "loc": {
        "start": {
          "line": 334,
          "column": 58
        },
        "end": {
          "line": 334,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13265,
      "end": 13266,
      "loc": {
        "start": {
          "line": 334,
          "column": 60
        },
        "end": {
          "line": 334,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13283,
      "end": 13288,
      "loc": {
        "start": {
          "line": 335,
          "column": 16
        },
        "end": {
          "line": 335,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13288,
      "end": 13289,
      "loc": {
        "start": {
          "line": 335,
          "column": 21
        },
        "end": {
          "line": 335,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentTarget",
      "start": 13289,
      "end": 13302,
      "loc": {
        "start": {
          "line": 335,
          "column": 22
        },
        "end": {
          "line": 335,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13302,
      "end": 13303,
      "loc": {
        "start": {
          "line": 335,
          "column": 35
        },
        "end": {
          "line": 335,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 13303,
      "end": 13323,
      "loc": {
        "start": {
          "line": 335,
          "column": 36
        },
        "end": {
          "line": 335,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13323,
      "end": 13324,
      "loc": {
        "start": {
          "line": 335,
          "column": 56
        },
        "end": {
          "line": 335,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13324,
      "end": 13329,
      "loc": {
        "start": {
          "line": 335,
          "column": 57
        },
        "end": {
          "line": 335,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13329,
      "end": 13330,
      "loc": {
        "start": {
          "line": 335,
          "column": 62
        },
        "end": {
          "line": 335,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13330,
      "end": 13331,
      "loc": {
        "start": {
          "line": 335,
          "column": 63
        },
        "end": {
          "line": 335,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13344,
      "end": 13345,
      "loc": {
        "start": {
          "line": 336,
          "column": 12
        },
        "end": {
          "line": 336,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13354,
      "end": 13355,
      "loc": {
        "start": {
          "line": 337,
          "column": 8
        },
        "end": {
          "line": 337,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 13373,
      "end": 13375,
      "loc": {
        "start": {
          "line": 339,
          "column": 8
        },
        "end": {
          "line": 339,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13376,
      "end": 13377,
      "loc": {
        "start": {
          "line": 339,
          "column": 11
        },
        "end": {
          "line": 339,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13378,
      "end": 13383,
      "loc": {
        "start": {
          "line": 339,
          "column": 13
        },
        "end": {
          "line": 339,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13383,
      "end": 13384,
      "loc": {
        "start": {
          "line": 339,
          "column": 18
        },
        "end": {
          "line": 339,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_stopPropagation",
      "start": 13384,
      "end": 13400,
      "loc": {
        "start": {
          "line": 339,
          "column": 19
        },
        "end": {
          "line": 339,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13401,
      "end": 13402,
      "loc": {
        "start": {
          "line": 339,
          "column": 36
        },
        "end": {
          "line": 339,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13403,
      "end": 13404,
      "loc": {
        "start": {
          "line": 339,
          "column": 38
        },
        "end": {
          "line": 339,
          "column": 39
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " 事件在捕获阶段被中断。",
      "start": 13405,
      "end": 13419,
      "loc": {
        "start": {
          "line": 339,
          "column": 40
        },
        "end": {
          "line": 339,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13432,
      "end": 13437,
      "loc": {
        "start": {
          "line": 340,
          "column": 12
        },
        "end": {
          "line": 340,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13437,
      "end": 13438,
      "loc": {
        "start": {
          "line": 340,
          "column": 17
        },
        "end": {
          "line": 340,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_currentTarget",
      "start": 13438,
      "end": 13452,
      "loc": {
        "start": {
          "line": 340,
          "column": 18
        },
        "end": {
          "line": 340,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 13453,
      "end": 13454,
      "loc": {
        "start": {
          "line": 340,
          "column": 33
        },
        "end": {
          "line": 340,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 13455,
      "end": 13459,
      "loc": {
        "start": {
          "line": 340,
          "column": 35
        },
        "end": {
          "line": 340,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13459,
      "end": 13460,
      "loc": {
        "start": {
          "line": 340,
          "column": 39
        },
        "end": {
          "line": 340,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 13473,
      "end": 13479,
      "loc": {
        "start": {
          "line": 341,
          "column": 12
        },
        "end": {
          "line": 341,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 13480,
      "end": 13485,
      "loc": {
        "start": {
          "line": 341,
          "column": 19
        },
        "end": {
          "line": 341,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13485,
      "end": 13486,
      "loc": {
        "start": {
          "line": 341,
          "column": 24
        },
        "end": {
          "line": 341,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13495,
      "end": 13496,
      "loc": {
        "start": {
          "line": 342,
          "column": 8
        },
        "end": {
          "line": 342,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 目标阶段。\n         ",
      "start": 13514,
      "end": 13546,
      "loc": {
        "start": {
          "line": 344,
          "column": 8
        },
        "end": {
          "line": 346,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13555,
      "end": 13560,
      "loc": {
        "start": {
          "line": 347,
          "column": 8
        },
        "end": {
          "line": 347,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13560,
      "end": 13561,
      "loc": {
        "start": {
          "line": 347,
          "column": 13
        },
        "end": {
          "line": 347,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_eventPhase",
      "start": 13561,
      "end": 13572,
      "loc": {
        "start": {
          "line": 347,
          "column": 14
        },
        "end": {
          "line": 347,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 13573,
      "end": 13574,
      "loc": {
        "start": {
          "line": 347,
          "column": 26
        },
        "end": {
          "line": 347,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventPhase",
      "start": 13575,
      "end": 13585,
      "loc": {
        "start": {
          "line": 347,
          "column": 28
        },
        "end": {
          "line": 347,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13585,
      "end": 13586,
      "loc": {
        "start": {
          "line": 347,
          "column": 38
        },
        "end": {
          "line": 347,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AT_TARGET",
      "start": 13586,
      "end": 13595,
      "loc": {
        "start": {
          "line": 347,
          "column": 39
        },
        "end": {
          "line": 347,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13595,
      "end": 13596,
      "loc": {
        "start": {
          "line": 347,
          "column": 48
        },
        "end": {
          "line": 347,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13605,
      "end": 13610,
      "loc": {
        "start": {
          "line": 348,
          "column": 8
        },
        "end": {
          "line": 348,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13610,
      "end": 13611,
      "loc": {
        "start": {
          "line": 348,
          "column": 13
        },
        "end": {
          "line": 348,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_currentTarget",
      "start": 13611,
      "end": 13625,
      "loc": {
        "start": {
          "line": 348,
          "column": 14
        },
        "end": {
          "line": 348,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 13626,
      "end": 13627,
      "loc": {
        "start": {
          "line": 348,
          "column": 29
        },
        "end": {
          "line": 348,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 13628,
      "end": 13632,
      "loc": {
        "start": {
          "line": 348,
          "column": 31
        },
        "end": {
          "line": 348,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13632,
      "end": 13633,
      "loc": {
        "start": {
          "line": 348,
          "column": 35
        },
        "end": {
          "line": 348,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 13633,
      "end": 13634,
      "loc": {
        "start": {
          "line": 348,
          "column": 36
        },
        "end": {
          "line": 348,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13634,
      "end": 13635,
      "loc": {
        "start": {
          "line": 348,
          "column": 37
        },
        "end": {
          "line": 348,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13635,
      "end": 13636,
      "loc": {
        "start": {
          "line": 348,
          "column": 38
        },
        "end": {
          "line": 348,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 13654,
      "end": 13656,
      "loc": {
        "start": {
          "line": 350,
          "column": 8
        },
        "end": {
          "line": 350,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13657,
      "end": 13658,
      "loc": {
        "start": {
          "line": 350,
          "column": 11
        },
        "end": {
          "line": 350,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13659,
      "end": 13664,
      "loc": {
        "start": {
          "line": 350,
          "column": 13
        },
        "end": {
          "line": 350,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13664,
      "end": 13665,
      "loc": {
        "start": {
          "line": 350,
          "column": 18
        },
        "end": {
          "line": 350,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentTarget",
      "start": 13665,
      "end": 13678,
      "loc": {
        "start": {
          "line": 350,
          "column": 19
        },
        "end": {
          "line": 350,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13678,
      "end": 13679,
      "loc": {
        "start": {
          "line": 350,
          "column": 32
        },
        "end": {
          "line": 350,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 13679,
      "end": 13699,
      "loc": {
        "start": {
          "line": 350,
          "column": 33
        },
        "end": {
          "line": 350,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13700,
      "end": 13701,
      "loc": {
        "start": {
          "line": 350,
          "column": 54
        },
        "end": {
          "line": 350,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13702,
      "end": 13703,
      "loc": {
        "start": {
          "line": 350,
          "column": 56
        },
        "end": {
          "line": 350,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13716,
      "end": 13721,
      "loc": {
        "start": {
          "line": 351,
          "column": 12
        },
        "end": {
          "line": 351,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13721,
      "end": 13722,
      "loc": {
        "start": {
          "line": 351,
          "column": 17
        },
        "end": {
          "line": 351,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentTarget",
      "start": 13722,
      "end": 13735,
      "loc": {
        "start": {
          "line": 351,
          "column": 18
        },
        "end": {
          "line": 351,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13735,
      "end": 13736,
      "loc": {
        "start": {
          "line": 351,
          "column": 31
        },
        "end": {
          "line": 351,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 13736,
      "end": 13756,
      "loc": {
        "start": {
          "line": 351,
          "column": 32
        },
        "end": {
          "line": 351,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13756,
      "end": 13757,
      "loc": {
        "start": {
          "line": 351,
          "column": 52
        },
        "end": {
          "line": 351,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13757,
      "end": 13762,
      "loc": {
        "start": {
          "line": 351,
          "column": 53
        },
        "end": {
          "line": 351,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13762,
      "end": 13763,
      "loc": {
        "start": {
          "line": 351,
          "column": 58
        },
        "end": {
          "line": 351,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13763,
      "end": 13764,
      "loc": {
        "start": {
          "line": 351,
          "column": 59
        },
        "end": {
          "line": 351,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13773,
      "end": 13774,
      "loc": {
        "start": {
          "line": 352,
          "column": 8
        },
        "end": {
          "line": 352,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 13792,
      "end": 13794,
      "loc": {
        "start": {
          "line": 354,
          "column": 8
        },
        "end": {
          "line": 354,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13795,
      "end": 13796,
      "loc": {
        "start": {
          "line": 354,
          "column": 11
        },
        "end": {
          "line": 354,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13797,
      "end": 13802,
      "loc": {
        "start": {
          "line": 354,
          "column": 13
        },
        "end": {
          "line": 354,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13802,
      "end": 13803,
      "loc": {
        "start": {
          "line": 354,
          "column": 18
        },
        "end": {
          "line": 354,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_stopPropagation",
      "start": 13803,
      "end": 13819,
      "loc": {
        "start": {
          "line": 354,
          "column": 19
        },
        "end": {
          "line": 354,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13820,
      "end": 13821,
      "loc": {
        "start": {
          "line": 354,
          "column": 36
        },
        "end": {
          "line": 354,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13822,
      "end": 13823,
      "loc": {
        "start": {
          "line": 354,
          "column": 38
        },
        "end": {
          "line": 354,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13836,
      "end": 13841,
      "loc": {
        "start": {
          "line": 355,
          "column": 12
        },
        "end": {
          "line": 355,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13841,
      "end": 13842,
      "loc": {
        "start": {
          "line": 355,
          "column": 17
        },
        "end": {
          "line": 355,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_currentTarget",
      "start": 13842,
      "end": 13856,
      "loc": {
        "start": {
          "line": 355,
          "column": 18
        },
        "end": {
          "line": 355,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 13857,
      "end": 13858,
      "loc": {
        "start": {
          "line": 355,
          "column": 33
        },
        "end": {
          "line": 355,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 13859,
      "end": 13863,
      "loc": {
        "start": {
          "line": 355,
          "column": 35
        },
        "end": {
          "line": 355,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13863,
      "end": 13864,
      "loc": {
        "start": {
          "line": 355,
          "column": 39
        },
        "end": {
          "line": 355,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 13877,
      "end": 13883,
      "loc": {
        "start": {
          "line": 356,
          "column": 12
        },
        "end": {
          "line": 356,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 13884,
      "end": 13885,
      "loc": {
        "start": {
          "line": 356,
          "column": 19
        },
        "end": {
          "line": 356,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13885,
      "end": 13890,
      "loc": {
        "start": {
          "line": 356,
          "column": 20
        },
        "end": {
          "line": 356,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13890,
      "end": 13891,
      "loc": {
        "start": {
          "line": 356,
          "column": 25
        },
        "end": {
          "line": 356,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "defaultPrevented",
      "start": 13891,
      "end": 13907,
      "loc": {
        "start": {
          "line": 356,
          "column": 26
        },
        "end": {
          "line": 356,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13907,
      "end": 13908,
      "loc": {
        "start": {
          "line": 356,
          "column": 42
        },
        "end": {
          "line": 356,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 13917,
      "end": 13918,
      "loc": {
        "start": {
          "line": 357,
          "column": 8
        },
        "end": {
          "line": 357,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 冒泡阶段。\n         ",
      "start": 13936,
      "end": 13968,
      "loc": {
        "start": {
          "line": 359,
          "column": 8
        },
        "end": {
          "line": 361,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 13977,
      "end": 13982,
      "loc": {
        "start": {
          "line": 362,
          "column": 8
        },
        "end": {
          "line": 362,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13982,
      "end": 13983,
      "loc": {
        "start": {
          "line": 362,
          "column": 13
        },
        "end": {
          "line": 362,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_eventPhase",
      "start": 13983,
      "end": 13994,
      "loc": {
        "start": {
          "line": 362,
          "column": 14
        },
        "end": {
          "line": 362,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 13995,
      "end": 13996,
      "loc": {
        "start": {
          "line": 362,
          "column": 26
        },
        "end": {
          "line": 362,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventPhase",
      "start": 13997,
      "end": 14007,
      "loc": {
        "start": {
          "line": 362,
          "column": 28
        },
        "end": {
          "line": 362,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14007,
      "end": 14008,
      "loc": {
        "start": {
          "line": 362,
          "column": 38
        },
        "end": {
          "line": 362,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BUBBLING_PHASE",
      "start": 14008,
      "end": 14022,
      "loc": {
        "start": {
          "line": 362,
          "column": 39
        },
        "end": {
          "line": 362,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14022,
      "end": 14023,
      "loc": {
        "start": {
          "line": 362,
          "column": 53
        },
        "end": {
          "line": 362,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 14041,
      "end": 14044,
      "loc": {
        "start": {
          "line": 364,
          "column": 8
        },
        "end": {
          "line": 364,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14045,
      "end": 14046,
      "loc": {
        "start": {
          "line": 364,
          "column": 12
        },
        "end": {
          "line": 364,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 14047,
      "end": 14050,
      "loc": {
        "start": {
          "line": 364,
          "column": 14
        },
        "end": {
          "line": 364,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 14051,
      "end": 14052,
      "loc": {
        "start": {
          "line": 364,
          "column": 18
        },
        "end": {
          "line": 364,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 14053,
      "end": 14054,
      "loc": {
        "start": {
          "line": 364,
          "column": 20
        },
        "end": {
          "line": 364,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 14055,
      "end": 14056,
      "loc": {
        "start": {
          "line": 364,
          "column": 22
        },
        "end": {
          "line": 364,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14056,
      "end": 14057,
      "loc": {
        "start": {
          "line": 364,
          "column": 23
        },
        "end": {
          "line": 364,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 14058,
      "end": 14059,
      "loc": {
        "start": {
          "line": 364,
          "column": 25
        },
        "end": {
          "line": 364,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 14060,
      "end": 14061,
      "loc": {
        "start": {
          "line": 364,
          "column": 27
        },
        "end": {
          "line": 364,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 14062,
      "end": 14066,
      "loc": {
        "start": {
          "line": 364,
          "column": 29
        },
        "end": {
          "line": 364,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14066,
      "end": 14067,
      "loc": {
        "start": {
          "line": 364,
          "column": 33
        },
        "end": {
          "line": 364,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 14067,
      "end": 14073,
      "loc": {
        "start": {
          "line": 364,
          "column": 34
        },
        "end": {
          "line": 364,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 14074,
      "end": 14076,
      "loc": {
        "start": {
          "line": 364,
          "column": 41
        },
        "end": {
          "line": 364,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 14077,
      "end": 14078,
      "loc": {
        "start": {
          "line": 364,
          "column": 44
        },
        "end": {
          "line": 364,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14078,
      "end": 14083,
      "loc": {
        "start": {
          "line": 364,
          "column": 45
        },
        "end": {
          "line": 364,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14083,
      "end": 14084,
      "loc": {
        "start": {
          "line": 364,
          "column": 50
        },
        "end": {
          "line": 364,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_stopPropagation",
      "start": 14084,
      "end": 14100,
      "loc": {
        "start": {
          "line": 364,
          "column": 51
        },
        "end": {
          "line": 364,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14100,
      "end": 14101,
      "loc": {
        "start": {
          "line": 364,
          "column": 67
        },
        "end": {
          "line": 364,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 14102,
      "end": 14104,
      "loc": {
        "start": {
          "line": 364,
          "column": 69
        },
        "end": {
          "line": 364,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 14104,
      "end": 14105,
      "loc": {
        "start": {
          "line": 364,
          "column": 71
        },
        "end": {
          "line": 364,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14106,
      "end": 14107,
      "loc": {
        "start": {
          "line": 364,
          "column": 73
        },
        "end": {
          "line": 364,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14108,
      "end": 14109,
      "loc": {
        "start": {
          "line": 364,
          "column": 75
        },
        "end": {
          "line": 364,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14122,
      "end": 14127,
      "loc": {
        "start": {
          "line": 365,
          "column": 12
        },
        "end": {
          "line": 365,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14127,
      "end": 14128,
      "loc": {
        "start": {
          "line": 365,
          "column": 17
        },
        "end": {
          "line": 365,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_currentTarget",
      "start": 14128,
      "end": 14142,
      "loc": {
        "start": {
          "line": 365,
          "column": 18
        },
        "end": {
          "line": 365,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 14143,
      "end": 14144,
      "loc": {
        "start": {
          "line": 365,
          "column": 33
        },
        "end": {
          "line": 365,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 14145,
      "end": 14149,
      "loc": {
        "start": {
          "line": 365,
          "column": 35
        },
        "end": {
          "line": 365,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14149,
      "end": 14150,
      "loc": {
        "start": {
          "line": 365,
          "column": 39
        },
        "end": {
          "line": 365,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 14150,
      "end": 14151,
      "loc": {
        "start": {
          "line": 365,
          "column": 40
        },
        "end": {
          "line": 365,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14151,
      "end": 14152,
      "loc": {
        "start": {
          "line": 365,
          "column": 41
        },
        "end": {
          "line": 365,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14152,
      "end": 14153,
      "loc": {
        "start": {
          "line": 365,
          "column": 42
        },
        "end": {
          "line": 365,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 14179,
      "end": 14181,
      "loc": {
        "start": {
          "line": 367,
          "column": 12
        },
        "end": {
          "line": 367,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14182,
      "end": 14183,
      "loc": {
        "start": {
          "line": 367,
          "column": 15
        },
        "end": {
          "line": 367,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14184,
      "end": 14189,
      "loc": {
        "start": {
          "line": 367,
          "column": 17
        },
        "end": {
          "line": 367,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14189,
      "end": 14190,
      "loc": {
        "start": {
          "line": 367,
          "column": 22
        },
        "end": {
          "line": 367,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentTarget",
      "start": 14190,
      "end": 14203,
      "loc": {
        "start": {
          "line": 367,
          "column": 23
        },
        "end": {
          "line": 367,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14203,
      "end": 14204,
      "loc": {
        "start": {
          "line": 367,
          "column": 36
        },
        "end": {
          "line": 367,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 14204,
      "end": 14224,
      "loc": {
        "start": {
          "line": 367,
          "column": 37
        },
        "end": {
          "line": 367,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14225,
      "end": 14226,
      "loc": {
        "start": {
          "line": 367,
          "column": 58
        },
        "end": {
          "line": 367,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14227,
      "end": 14228,
      "loc": {
        "start": {
          "line": 367,
          "column": 60
        },
        "end": {
          "line": 367,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14245,
      "end": 14250,
      "loc": {
        "start": {
          "line": 368,
          "column": 16
        },
        "end": {
          "line": 368,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14250,
      "end": 14251,
      "loc": {
        "start": {
          "line": 368,
          "column": 21
        },
        "end": {
          "line": 368,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentTarget",
      "start": 14251,
      "end": 14264,
      "loc": {
        "start": {
          "line": 368,
          "column": 22
        },
        "end": {
          "line": 368,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14264,
      "end": 14265,
      "loc": {
        "start": {
          "line": 368,
          "column": 35
        },
        "end": {
          "line": 368,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 14265,
      "end": 14285,
      "loc": {
        "start": {
          "line": 368,
          "column": 36
        },
        "end": {
          "line": 368,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14285,
      "end": 14286,
      "loc": {
        "start": {
          "line": 368,
          "column": 56
        },
        "end": {
          "line": 368,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14286,
      "end": 14291,
      "loc": {
        "start": {
          "line": 368,
          "column": 57
        },
        "end": {
          "line": 368,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14291,
      "end": 14292,
      "loc": {
        "start": {
          "line": 368,
          "column": 62
        },
        "end": {
          "line": 368,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14292,
      "end": 14293,
      "loc": {
        "start": {
          "line": 368,
          "column": 63
        },
        "end": {
          "line": 368,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14306,
      "end": 14307,
      "loc": {
        "start": {
          "line": 369,
          "column": 12
        },
        "end": {
          "line": 369,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14316,
      "end": 14317,
      "loc": {
        "start": {
          "line": 370,
          "column": 8
        },
        "end": {
          "line": 370,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14335,
      "end": 14340,
      "loc": {
        "start": {
          "line": 372,
          "column": 8
        },
        "end": {
          "line": 372,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14340,
      "end": 14341,
      "loc": {
        "start": {
          "line": 372,
          "column": 13
        },
        "end": {
          "line": 372,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_currentTarget",
      "start": 14341,
      "end": 14355,
      "loc": {
        "start": {
          "line": 372,
          "column": 14
        },
        "end": {
          "line": 372,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 14356,
      "end": 14357,
      "loc": {
        "start": {
          "line": 372,
          "column": 29
        },
        "end": {
          "line": 372,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 14358,
      "end": 14362,
      "loc": {
        "start": {
          "line": 372,
          "column": 31
        },
        "end": {
          "line": 372,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14362,
      "end": 14363,
      "loc": {
        "start": {
          "line": 372,
          "column": 35
        },
        "end": {
          "line": 372,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 14372,
      "end": 14378,
      "loc": {
        "start": {
          "line": 373,
          "column": 8
        },
        "end": {
          "line": 373,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 14379,
      "end": 14380,
      "loc": {
        "start": {
          "line": 373,
          "column": 15
        },
        "end": {
          "line": 373,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14380,
      "end": 14385,
      "loc": {
        "start": {
          "line": 373,
          "column": 16
        },
        "end": {
          "line": 373,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14385,
      "end": 14386,
      "loc": {
        "start": {
          "line": 373,
          "column": 21
        },
        "end": {
          "line": 373,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "defaultPrevented",
      "start": 14386,
      "end": 14402,
      "loc": {
        "start": {
          "line": 373,
          "column": 22
        },
        "end": {
          "line": 373,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14402,
      "end": 14403,
      "loc": {
        "start": {
          "line": 373,
          "column": 38
        },
        "end": {
          "line": 373,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14408,
      "end": 14409,
      "loc": {
        "start": {
          "line": 374,
          "column": 4
        },
        "end": {
          "line": 374,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 执行所有的侦听器。\n     * @param {Event} event - 指定派发的事件对象。\n     ",
      "start": 14419,
      "end": 14488,
      "loc": {
        "start": {
          "line": 376,
          "column": 4
        },
        "end": {
          "line": 379,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_dispatchToListeners",
      "start": 14493,
      "end": 14513,
      "loc": {
        "start": {
          "line": 380,
          "column": 4
        },
        "end": {
          "line": 380,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14513,
      "end": 14514,
      "loc": {
        "start": {
          "line": 380,
          "column": 24
        },
        "end": {
          "line": 380,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14515,
      "end": 14520,
      "loc": {
        "start": {
          "line": 380,
          "column": 26
        },
        "end": {
          "line": 380,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14521,
      "end": 14522,
      "loc": {
        "start": {
          "line": 380,
          "column": 32
        },
        "end": {
          "line": 380,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14523,
      "end": 14524,
      "loc": {
        "start": {
          "line": 380,
          "column": 34
        },
        "end": {
          "line": 380,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 14533,
      "end": 14535,
      "loc": {
        "start": {
          "line": 381,
          "column": 8
        },
        "end": {
          "line": 381,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14536,
      "end": 14537,
      "loc": {
        "start": {
          "line": 381,
          "column": 11
        },
        "end": {
          "line": 381,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 14538,
      "end": 14539,
      "loc": {
        "start": {
          "line": 381,
          "column": 13
        },
        "end": {
          "line": 381,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 14539,
      "end": 14543,
      "loc": {
        "start": {
          "line": 381,
          "column": 14
        },
        "end": {
          "line": 381,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14543,
      "end": 14544,
      "loc": {
        "start": {
          "line": 381,
          "column": 18
        },
        "end": {
          "line": 381,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasEventListener",
      "start": 14544,
      "end": 14560,
      "loc": {
        "start": {
          "line": 381,
          "column": 19
        },
        "end": {
          "line": 381,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14560,
      "end": 14561,
      "loc": {
        "start": {
          "line": 381,
          "column": 35
        },
        "end": {
          "line": 381,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14561,
      "end": 14566,
      "loc": {
        "start": {
          "line": 381,
          "column": 36
        },
        "end": {
          "line": 381,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14566,
      "end": 14567,
      "loc": {
        "start": {
          "line": 381,
          "column": 41
        },
        "end": {
          "line": 381,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 14567,
      "end": 14571,
      "loc": {
        "start": {
          "line": 381,
          "column": 42
        },
        "end": {
          "line": 381,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14571,
      "end": 14572,
      "loc": {
        "start": {
          "line": 381,
          "column": 46
        },
        "end": {
          "line": 381,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14573,
      "end": 14574,
      "loc": {
        "start": {
          "line": 381,
          "column": 48
        },
        "end": {
          "line": 381,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14575,
      "end": 14576,
      "loc": {
        "start": {
          "line": 381,
          "column": 50
        },
        "end": {
          "line": 381,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 14589,
      "end": 14595,
      "loc": {
        "start": {
          "line": 382,
          "column": 12
        },
        "end": {
          "line": 382,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14595,
      "end": 14596,
      "loc": {
        "start": {
          "line": 382,
          "column": 18
        },
        "end": {
          "line": 382,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14605,
      "end": 14606,
      "loc": {
        "start": {
          "line": 383,
          "column": 8
        },
        "end": {
          "line": 383,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 锁定侦听器列表。\n         ",
      "start": 14624,
      "end": 14659,
      "loc": {
        "start": {
          "line": 385,
          "column": 8
        },
        "end": {
          "line": 387,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 14668,
      "end": 14672,
      "loc": {
        "start": {
          "line": 388,
          "column": 8
        },
        "end": {
          "line": 388,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14672,
      "end": 14673,
      "loc": {
        "start": {
          "line": 388,
          "column": 12
        },
        "end": {
          "line": 388,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerLockers",
      "start": 14673,
      "end": 14689,
      "loc": {
        "start": {
          "line": 388,
          "column": 13
        },
        "end": {
          "line": 388,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14689,
      "end": 14690,
      "loc": {
        "start": {
          "line": 388,
          "column": 29
        },
        "end": {
          "line": 388,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14690,
      "end": 14695,
      "loc": {
        "start": {
          "line": 388,
          "column": 30
        },
        "end": {
          "line": 388,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14695,
      "end": 14696,
      "loc": {
        "start": {
          "line": 388,
          "column": 35
        },
        "end": {
          "line": 388,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 14696,
      "end": 14700,
      "loc": {
        "start": {
          "line": 388,
          "column": 36
        },
        "end": {
          "line": 388,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14700,
      "end": 14701,
      "loc": {
        "start": {
          "line": 388,
          "column": 40
        },
        "end": {
          "line": 388,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 14702,
      "end": 14703,
      "loc": {
        "start": {
          "line": 388,
          "column": 42
        },
        "end": {
          "line": 388,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 14704,
      "end": 14708,
      "loc": {
        "start": {
          "line": 388,
          "column": 44
        },
        "end": {
          "line": 388,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14708,
      "end": 14709,
      "loc": {
        "start": {
          "line": 388,
          "column": 48
        },
        "end": {
          "line": 388,
          "column": 49
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 执行侦听器\n         ",
      "start": 14727,
      "end": 14759,
      "loc": {
        "start": {
          "line": 390,
          "column": 8
        },
        "end": {
          "line": 392,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 14768,
      "end": 14771,
      "loc": {
        "start": {
          "line": 393,
          "column": 8
        },
        "end": {
          "line": 393,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14772,
      "end": 14773,
      "loc": {
        "start": {
          "line": 393,
          "column": 12
        },
        "end": {
          "line": 393,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 14774,
      "end": 14777,
      "loc": {
        "start": {
          "line": 393,
          "column": 14
        },
        "end": {
          "line": 393,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 14778,
      "end": 14779,
      "loc": {
        "start": {
          "line": 393,
          "column": 18
        },
        "end": {
          "line": 393,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 14780,
      "end": 14781,
      "loc": {
        "start": {
          "line": 393,
          "column": 20
        },
        "end": {
          "line": 393,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 14782,
      "end": 14783,
      "loc": {
        "start": {
          "line": 393,
          "column": 22
        },
        "end": {
          "line": 393,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14783,
      "end": 14784,
      "loc": {
        "start": {
          "line": 393,
          "column": 23
        },
        "end": {
          "line": 393,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 14785,
      "end": 14790,
      "loc": {
        "start": {
          "line": 393,
          "column": 25
        },
        "end": {
          "line": 393,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 14791,
      "end": 14792,
      "loc": {
        "start": {
          "line": 393,
          "column": 31
        },
        "end": {
          "line": 393,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 14793,
      "end": 14797,
      "loc": {
        "start": {
          "line": 393,
          "column": 33
        },
        "end": {
          "line": 393,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14797,
      "end": 14798,
      "loc": {
        "start": {
          "line": 393,
          "column": 37
        },
        "end": {
          "line": 393,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerRegister",
      "start": 14798,
      "end": 14815,
      "loc": {
        "start": {
          "line": 393,
          "column": 38
        },
        "end": {
          "line": 393,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14815,
      "end": 14816,
      "loc": {
        "start": {
          "line": 393,
          "column": 55
        },
        "end": {
          "line": 393,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14816,
      "end": 14821,
      "loc": {
        "start": {
          "line": 393,
          "column": 56
        },
        "end": {
          "line": 393,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14821,
      "end": 14822,
      "loc": {
        "start": {
          "line": 393,
          "column": 61
        },
        "end": {
          "line": 393,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 14822,
      "end": 14826,
      "loc": {
        "start": {
          "line": 393,
          "column": 62
        },
        "end": {
          "line": 393,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14826,
      "end": 14827,
      "loc": {
        "start": {
          "line": 393,
          "column": 66
        },
        "end": {
          "line": 393,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14827,
      "end": 14828,
      "loc": {
        "start": {
          "line": 393,
          "column": 67
        },
        "end": {
          "line": 393,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 14829,
      "end": 14830,
      "loc": {
        "start": {
          "line": 393,
          "column": 69
        },
        "end": {
          "line": 393,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 14831,
      "end": 14832,
      "loc": {
        "start": {
          "line": 393,
          "column": 71
        },
        "end": {
          "line": 393,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 14833,
      "end": 14838,
      "loc": {
        "start": {
          "line": 393,
          "column": 73
        },
        "end": {
          "line": 393,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14838,
      "end": 14839,
      "loc": {
        "start": {
          "line": 393,
          "column": 78
        },
        "end": {
          "line": 393,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 14839,
      "end": 14845,
      "loc": {
        "start": {
          "line": 393,
          "column": 79
        },
        "end": {
          "line": 393,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 14846,
      "end": 14848,
      "loc": {
        "start": {
          "line": 393,
          "column": 86
        },
        "end": {
          "line": 393,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 14849,
      "end": 14850,
      "loc": {
        "start": {
          "line": 393,
          "column": 89
        },
        "end": {
          "line": 393,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 14850,
      "end": 14855,
      "loc": {
        "start": {
          "line": 393,
          "column": 90
        },
        "end": {
          "line": 393,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14855,
      "end": 14856,
      "loc": {
        "start": {
          "line": 393,
          "column": 95
        },
        "end": {
          "line": 393,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_stopImmediatePropagation",
      "start": 14856,
      "end": 14881,
      "loc": {
        "start": {
          "line": 393,
          "column": 96
        },
        "end": {
          "line": 393,
          "column": 121
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14881,
      "end": 14882,
      "loc": {
        "start": {
          "line": 393,
          "column": 121
        },
        "end": {
          "line": 393,
          "column": 122
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 14883,
      "end": 14885,
      "loc": {
        "start": {
          "line": 393,
          "column": 123
        },
        "end": {
          "line": 393,
          "column": 125
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 14885,
      "end": 14886,
      "loc": {
        "start": {
          "line": 393,
          "column": 125
        },
        "end": {
          "line": 393,
          "column": 126
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14887,
      "end": 14888,
      "loc": {
        "start": {
          "line": 393,
          "column": 127
        },
        "end": {
          "line": 393,
          "column": 128
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14889,
      "end": 14890,
      "loc": {
        "start": {
          "line": 393,
          "column": 129
        },
        "end": {
          "line": 393,
          "column": 130
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @type {EventListener} ",
      "start": 14903,
      "end": 14931,
      "loc": {
        "start": {
          "line": 394,
          "column": 12
        },
        "end": {
          "line": 394,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 14944,
      "end": 14949,
      "loc": {
        "start": {
          "line": 395,
          "column": 12
        },
        "end": {
          "line": 395,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 14950,
      "end": 14958,
      "loc": {
        "start": {
          "line": 395,
          "column": 18
        },
        "end": {
          "line": 395,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 14959,
      "end": 14960,
      "loc": {
        "start": {
          "line": 395,
          "column": 27
        },
        "end": {
          "line": 395,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "items",
      "start": 14961,
      "end": 14966,
      "loc": {
        "start": {
          "line": 395,
          "column": 29
        },
        "end": {
          "line": 395,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14966,
      "end": 14967,
      "loc": {
        "start": {
          "line": 395,
          "column": 34
        },
        "end": {
          "line": 395,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 14967,
      "end": 14968,
      "loc": {
        "start": {
          "line": 395,
          "column": 35
        },
        "end": {
          "line": 395,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14968,
      "end": 14969,
      "loc": {
        "start": {
          "line": 395,
          "column": 36
        },
        "end": {
          "line": 395,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14969,
      "end": 14970,
      "loc": {
        "start": {
          "line": 395,
          "column": 37
        },
        "end": {
          "line": 395,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "switch",
        "keyword": "switch",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "switch",
      "start": 14996,
      "end": 15002,
      "loc": {
        "start": {
          "line": 397,
          "column": 12
        },
        "end": {
          "line": 397,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15002,
      "end": 15003,
      "loc": {
        "start": {
          "line": 397,
          "column": 18
        },
        "end": {
          "line": 397,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 15004,
      "end": 15009,
      "loc": {
        "start": {
          "line": 397,
          "column": 20
        },
        "end": {
          "line": 397,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15009,
      "end": 15010,
      "loc": {
        "start": {
          "line": 397,
          "column": 25
        },
        "end": {
          "line": 397,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "eventPhase",
      "start": 15010,
      "end": 15020,
      "loc": {
        "start": {
          "line": 397,
          "column": 26
        },
        "end": {
          "line": 397,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15021,
      "end": 15022,
      "loc": {
        "start": {
          "line": 397,
          "column": 37
        },
        "end": {
          "line": 397,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15023,
      "end": 15024,
      "loc": {
        "start": {
          "line": 397,
          "column": 39
        },
        "end": {
          "line": 397,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 15041,
      "end": 15045,
      "loc": {
        "start": {
          "line": 398,
          "column": 16
        },
        "end": {
          "line": 398,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventPhase",
      "start": 15046,
      "end": 15056,
      "loc": {
        "start": {
          "line": 398,
          "column": 21
        },
        "end": {
          "line": 398,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15056,
      "end": 15057,
      "loc": {
        "start": {
          "line": 398,
          "column": 31
        },
        "end": {
          "line": 398,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "CAPTURING_PHASE",
      "start": 15057,
      "end": 15072,
      "loc": {
        "start": {
          "line": 398,
          "column": 32
        },
        "end": {
          "line": 398,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15073,
      "end": 15074,
      "loc": {
        "start": {
          "line": 398,
          "column": 48
        },
        "end": {
          "line": 398,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 15095,
      "end": 15097,
      "loc": {
        "start": {
          "line": 399,
          "column": 20
        },
        "end": {
          "line": 399,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15098,
      "end": 15099,
      "loc": {
        "start": {
          "line": 399,
          "column": 23
        },
        "end": {
          "line": 399,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 15100,
      "end": 15108,
      "loc": {
        "start": {
          "line": 399,
          "column": 25
        },
        "end": {
          "line": 399,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15108,
      "end": 15109,
      "loc": {
        "start": {
          "line": 399,
          "column": 33
        },
        "end": {
          "line": 399,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 15109,
      "end": 15116,
      "loc": {
        "start": {
          "line": 399,
          "column": 34
        },
        "end": {
          "line": 399,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15116,
      "end": 15117,
      "loc": {
        "start": {
          "line": 399,
          "column": 41
        },
        "end": {
          "line": 399,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 15117,
      "end": 15127,
      "loc": {
        "start": {
          "line": 399,
          "column": 42
        },
        "end": {
          "line": 399,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15128,
      "end": 15129,
      "loc": {
        "start": {
          "line": 399,
          "column": 53
        },
        "end": {
          "line": 399,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15130,
      "end": 15131,
      "loc": {
        "start": {
          "line": 399,
          "column": 55
        },
        "end": {
          "line": 399,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 15132,
      "end": 15140,
      "loc": {
        "start": {
          "line": 399,
          "column": 57
        },
        "end": {
          "line": 399,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15140,
      "end": 15141,
      "loc": {
        "start": {
          "line": 399,
          "column": 65
        },
        "end": {
          "line": 399,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleEvent",
      "start": 15141,
      "end": 15152,
      "loc": {
        "start": {
          "line": 399,
          "column": 66
        },
        "end": {
          "line": 399,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15152,
      "end": 15153,
      "loc": {
        "start": {
          "line": 399,
          "column": 77
        },
        "end": {
          "line": 399,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 15153,
      "end": 15158,
      "loc": {
        "start": {
          "line": 399,
          "column": 78
        },
        "end": {
          "line": 399,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15158,
      "end": 15159,
      "loc": {
        "start": {
          "line": 399,
          "column": 83
        },
        "end": {
          "line": 399,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15159,
      "end": 15160,
      "loc": {
        "start": {
          "line": 399,
          "column": 84
        },
        "end": {
          "line": 399,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15161,
      "end": 15162,
      "loc": {
        "start": {
          "line": 399,
          "column": 86
        },
        "end": {
          "line": 399,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "break",
        "keyword": "break",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "break",
      "start": 15183,
      "end": 15188,
      "loc": {
        "start": {
          "line": 400,
          "column": 20
        },
        "end": {
          "line": 400,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15188,
      "end": 15189,
      "loc": {
        "start": {
          "line": 400,
          "column": 25
        },
        "end": {
          "line": 400,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 15227,
      "end": 15231,
      "loc": {
        "start": {
          "line": 402,
          "column": 16
        },
        "end": {
          "line": 402,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventPhase",
      "start": 15232,
      "end": 15242,
      "loc": {
        "start": {
          "line": 402,
          "column": 21
        },
        "end": {
          "line": 402,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15242,
      "end": 15243,
      "loc": {
        "start": {
          "line": 402,
          "column": 31
        },
        "end": {
          "line": 402,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AT_TARGET",
      "start": 15243,
      "end": 15252,
      "loc": {
        "start": {
          "line": 402,
          "column": 32
        },
        "end": {
          "line": 402,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15253,
      "end": 15254,
      "loc": {
        "start": {
          "line": 402,
          "column": 42
        },
        "end": {
          "line": 402,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 15275,
      "end": 15283,
      "loc": {
        "start": {
          "line": 403,
          "column": 20
        },
        "end": {
          "line": 403,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15283,
      "end": 15284,
      "loc": {
        "start": {
          "line": 403,
          "column": 28
        },
        "end": {
          "line": 403,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleEvent",
      "start": 15284,
      "end": 15295,
      "loc": {
        "start": {
          "line": 403,
          "column": 29
        },
        "end": {
          "line": 403,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15295,
      "end": 15296,
      "loc": {
        "start": {
          "line": 403,
          "column": 40
        },
        "end": {
          "line": 403,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 15296,
      "end": 15301,
      "loc": {
        "start": {
          "line": 403,
          "column": 41
        },
        "end": {
          "line": 403,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15301,
      "end": 15302,
      "loc": {
        "start": {
          "line": 403,
          "column": 46
        },
        "end": {
          "line": 403,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15302,
      "end": 15303,
      "loc": {
        "start": {
          "line": 403,
          "column": 47
        },
        "end": {
          "line": 403,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "break",
        "keyword": "break",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "break",
      "start": 15324,
      "end": 15329,
      "loc": {
        "start": {
          "line": 404,
          "column": 20
        },
        "end": {
          "line": 404,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15329,
      "end": 15330,
      "loc": {
        "start": {
          "line": 404,
          "column": 25
        },
        "end": {
          "line": 404,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "case",
        "keyword": "case",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "case",
      "start": 15368,
      "end": 15372,
      "loc": {
        "start": {
          "line": 406,
          "column": 16
        },
        "end": {
          "line": 406,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "EventPhase",
      "start": 15373,
      "end": 15383,
      "loc": {
        "start": {
          "line": 406,
          "column": 21
        },
        "end": {
          "line": 406,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15383,
      "end": 15384,
      "loc": {
        "start": {
          "line": 406,
          "column": 31
        },
        "end": {
          "line": 406,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BUBBLING_PHASE",
      "start": 15384,
      "end": 15398,
      "loc": {
        "start": {
          "line": 406,
          "column": 32
        },
        "end": {
          "line": 406,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15399,
      "end": 15400,
      "loc": {
        "start": {
          "line": 406,
          "column": 47
        },
        "end": {
          "line": 406,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 15421,
      "end": 15423,
      "loc": {
        "start": {
          "line": 407,
          "column": 20
        },
        "end": {
          "line": 407,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15424,
      "end": 15425,
      "loc": {
        "start": {
          "line": 407,
          "column": 23
        },
        "end": {
          "line": 407,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 15426,
      "end": 15427,
      "loc": {
        "start": {
          "line": 407,
          "column": 25
        },
        "end": {
          "line": 407,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 15427,
      "end": 15435,
      "loc": {
        "start": {
          "line": 407,
          "column": 26
        },
        "end": {
          "line": 407,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15435,
      "end": 15436,
      "loc": {
        "start": {
          "line": 407,
          "column": 34
        },
        "end": {
          "line": 407,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 15436,
      "end": 15443,
      "loc": {
        "start": {
          "line": 407,
          "column": 35
        },
        "end": {
          "line": 407,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15443,
      "end": 15444,
      "loc": {
        "start": {
          "line": 407,
          "column": 42
        },
        "end": {
          "line": 407,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 15444,
      "end": 15454,
      "loc": {
        "start": {
          "line": 407,
          "column": 43
        },
        "end": {
          "line": 407,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15455,
      "end": 15456,
      "loc": {
        "start": {
          "line": 407,
          "column": 54
        },
        "end": {
          "line": 407,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15457,
      "end": 15458,
      "loc": {
        "start": {
          "line": 407,
          "column": 56
        },
        "end": {
          "line": 407,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 15459,
      "end": 15467,
      "loc": {
        "start": {
          "line": 407,
          "column": 58
        },
        "end": {
          "line": 407,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15467,
      "end": 15468,
      "loc": {
        "start": {
          "line": 407,
          "column": 66
        },
        "end": {
          "line": 407,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleEvent",
      "start": 15468,
      "end": 15479,
      "loc": {
        "start": {
          "line": 407,
          "column": 67
        },
        "end": {
          "line": 407,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15479,
      "end": 15480,
      "loc": {
        "start": {
          "line": 407,
          "column": 78
        },
        "end": {
          "line": 407,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 15480,
      "end": 15485,
      "loc": {
        "start": {
          "line": 407,
          "column": 79
        },
        "end": {
          "line": 407,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15485,
      "end": 15486,
      "loc": {
        "start": {
          "line": 407,
          "column": 84
        },
        "end": {
          "line": 407,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15486,
      "end": 15487,
      "loc": {
        "start": {
          "line": 407,
          "column": 85
        },
        "end": {
          "line": 407,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15488,
      "end": 15489,
      "loc": {
        "start": {
          "line": 407,
          "column": 87
        },
        "end": {
          "line": 407,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "break",
        "keyword": "break",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "break",
      "start": 15510,
      "end": 15515,
      "loc": {
        "start": {
          "line": 408,
          "column": 20
        },
        "end": {
          "line": 408,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15515,
      "end": 15516,
      "loc": {
        "start": {
          "line": 408,
          "column": 25
        },
        "end": {
          "line": 408,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 15550,
      "end": 15557,
      "loc": {
        "start": {
          "line": 410,
          "column": 16
        },
        "end": {
          "line": 410,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15557,
      "end": 15558,
      "loc": {
        "start": {
          "line": 410,
          "column": 23
        },
        "end": {
          "line": 410,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "break",
        "keyword": "break",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "break",
      "start": 15559,
      "end": 15564,
      "loc": {
        "start": {
          "line": 410,
          "column": 25
        },
        "end": {
          "line": 410,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15564,
      "end": 15565,
      "loc": {
        "start": {
          "line": 410,
          "column": 30
        },
        "end": {
          "line": 410,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15578,
      "end": 15579,
      "loc": {
        "start": {
          "line": 411,
          "column": 12
        },
        "end": {
          "line": 411,
          "column": 13
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n             * 自动移除一次性的侦听器。\n             ",
      "start": 15605,
      "end": 15652,
      "loc": {
        "start": {
          "line": 413,
          "column": 12
        },
        "end": {
          "line": 415,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 15665,
      "end": 15667,
      "loc": {
        "start": {
          "line": 416,
          "column": 12
        },
        "end": {
          "line": 416,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15668,
      "end": 15669,
      "loc": {
        "start": {
          "line": 416,
          "column": 15
        },
        "end": {
          "line": 416,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 15670,
      "end": 15678,
      "loc": {
        "start": {
          "line": 416,
          "column": 17
        },
        "end": {
          "line": 416,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15678,
      "end": 15679,
      "loc": {
        "start": {
          "line": 416,
          "column": 25
        },
        "end": {
          "line": 416,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 15679,
      "end": 15686,
      "loc": {
        "start": {
          "line": 416,
          "column": 26
        },
        "end": {
          "line": 416,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15686,
      "end": 15687,
      "loc": {
        "start": {
          "line": 416,
          "column": 33
        },
        "end": {
          "line": 416,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "once",
      "start": 15687,
      "end": 15691,
      "loc": {
        "start": {
          "line": 416,
          "column": 34
        },
        "end": {
          "line": 416,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15692,
      "end": 15693,
      "loc": {
        "start": {
          "line": 416,
          "column": 39
        },
        "end": {
          "line": 416,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15694,
      "end": 15695,
      "loc": {
        "start": {
          "line": 416,
          "column": 41
        },
        "end": {
          "line": 416,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 15712,
      "end": 15716,
      "loc": {
        "start": {
          "line": 417,
          "column": 16
        },
        "end": {
          "line": 417,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15716,
      "end": 15717,
      "loc": {
        "start": {
          "line": 417,
          "column": 20
        },
        "end": {
          "line": 417,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeEventListener",
      "start": 15717,
      "end": 15736,
      "loc": {
        "start": {
          "line": 417,
          "column": 21
        },
        "end": {
          "line": 417,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15736,
      "end": 15737,
      "loc": {
        "start": {
          "line": 417,
          "column": 40
        },
        "end": {
          "line": 417,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 15737,
      "end": 15742,
      "loc": {
        "start": {
          "line": 417,
          "column": 41
        },
        "end": {
          "line": 417,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15742,
      "end": 15743,
      "loc": {
        "start": {
          "line": 417,
          "column": 46
        },
        "end": {
          "line": 417,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 15743,
      "end": 15747,
      "loc": {
        "start": {
          "line": 417,
          "column": 47
        },
        "end": {
          "line": 417,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15747,
      "end": 15748,
      "loc": {
        "start": {
          "line": 417,
          "column": 51
        },
        "end": {
          "line": 417,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 15749,
      "end": 15757,
      "loc": {
        "start": {
          "line": 417,
          "column": 53
        },
        "end": {
          "line": 417,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15757,
      "end": 15758,
      "loc": {
        "start": {
          "line": 417,
          "column": 61
        },
        "end": {
          "line": 417,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 15758,
      "end": 15765,
      "loc": {
        "start": {
          "line": 417,
          "column": 62
        },
        "end": {
          "line": 417,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15765,
      "end": 15766,
      "loc": {
        "start": {
          "line": 417,
          "column": 69
        },
        "end": {
          "line": 417,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listener",
      "start": 15767,
      "end": 15775,
      "loc": {
        "start": {
          "line": 417,
          "column": 71
        },
        "end": {
          "line": 417,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15775,
      "end": 15776,
      "loc": {
        "start": {
          "line": 417,
          "column": 79
        },
        "end": {
          "line": 417,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 15776,
      "end": 15783,
      "loc": {
        "start": {
          "line": 417,
          "column": 80
        },
        "end": {
          "line": 417,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15783,
      "end": 15784,
      "loc": {
        "start": {
          "line": 417,
          "column": 87
        },
        "end": {
          "line": 417,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 15784,
      "end": 15794,
      "loc": {
        "start": {
          "line": 417,
          "column": 88
        },
        "end": {
          "line": 417,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15794,
      "end": 15795,
      "loc": {
        "start": {
          "line": 417,
          "column": 98
        },
        "end": {
          "line": 417,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15795,
      "end": 15796,
      "loc": {
        "start": {
          "line": 417,
          "column": 99
        },
        "end": {
          "line": 417,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15809,
      "end": 15810,
      "loc": {
        "start": {
          "line": 418,
          "column": 12
        },
        "end": {
          "line": 418,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15819,
      "end": 15820,
      "loc": {
        "start": {
          "line": 419,
          "column": 8
        },
        "end": {
          "line": 419,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * 解锁侦听器列表。\n         ",
      "start": 15838,
      "end": 15873,
      "loc": {
        "start": {
          "line": 421,
          "column": 8
        },
        "end": {
          "line": 423,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 15882,
      "end": 15886,
      "loc": {
        "start": {
          "line": 424,
          "column": 8
        },
        "end": {
          "line": 424,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15886,
      "end": 15887,
      "loc": {
        "start": {
          "line": 424,
          "column": 12
        },
        "end": {
          "line": 424,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_listenerLockers",
      "start": 15887,
      "end": 15903,
      "loc": {
        "start": {
          "line": 424,
          "column": 13
        },
        "end": {
          "line": 424,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15903,
      "end": 15904,
      "loc": {
        "start": {
          "line": 424,
          "column": 29
        },
        "end": {
          "line": 424,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 15904,
      "end": 15909,
      "loc": {
        "start": {
          "line": 424,
          "column": 30
        },
        "end": {
          "line": 424,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15909,
      "end": 15910,
      "loc": {
        "start": {
          "line": 424,
          "column": 35
        },
        "end": {
          "line": 424,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 15910,
      "end": 15914,
      "loc": {
        "start": {
          "line": 424,
          "column": 36
        },
        "end": {
          "line": 424,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15914,
      "end": 15915,
      "loc": {
        "start": {
          "line": 424,
          "column": 40
        },
        "end": {
          "line": 424,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 15916,
      "end": 15917,
      "loc": {
        "start": {
          "line": 424,
          "column": 42
        },
        "end": {
          "line": 424,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 15918,
      "end": 15923,
      "loc": {
        "start": {
          "line": 424,
          "column": 44
        },
        "end": {
          "line": 424,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15923,
      "end": 15924,
      "loc": {
        "start": {
          "line": 424,
          "column": 49
        },
        "end": {
          "line": 424,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15929,
      "end": 15930,
      "loc": {
        "start": {
          "line": 425,
          "column": 4
        },
        "end": {
          "line": 425,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 15931,
      "end": 15932,
      "loc": {
        "start": {
          "line": 426,
          "column": 0
        },
        "end": {
          "line": 426,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 15932,
      "end": 15932,
      "loc": {
        "start": {
          "line": 426,
          "column": 1
        },
        "end": {
          "line": 426,
          "column": 1
        }
      }
    }
  ]
}