{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "root",
            "range": [
              8,
              12
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 12
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "root",
            "range": [
              8,
              12
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 12
              }
            }
          },
          "range": [
            8,
            12
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 12
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./root",
        "raw": "'./root'",
        "range": [
          19,
          27
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 19
          },
          "end": {
            "line": 1,
            "column": 27
          }
        }
      },
      "range": [
        0,
        28
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 28
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * DOM event utilities\n ",
          "range": [
            30,
            60
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 5,
              "column": 3
            }
          }
        },
        {
          "type": "Block",
          "value": "*\n * Add event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
          "range": [
            62,
            349
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 15,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "addEvt",
              "range": [
                363,
                369
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 13
                },
                "end": {
                  "line": 16,
                  "column": 19
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "obj",
                  "range": [
                    373,
                    376
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 23
                    },
                    "end": {
                      "line": 16,
                      "column": 26
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "type",
                  "range": [
                    378,
                    382
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 28
                    },
                    "end": {
                      "line": 16,
                      "column": 32
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "func",
                  "range": [
                    384,
                    388
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 34
                    },
                    "end": {
                      "line": 16,
                      "column": 38
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "capture",
                  "range": [
                    390,
                    397
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 40
                    },
                    "end": {
                      "line": 16,
                      "column": 47
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "obj",
                        "range": [
                          412,
                          415
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 11
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "addEventListener",
                        "range": [
                          416,
                          432
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 12
                          },
                          "end": {
                            "line": 17,
                            "column": 28
                          }
                        }
                      },
                      "range": [
                        412,
                        432
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 28
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "obj",
                                "range": [
                                  444,
                                  447
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "addEventListener",
                                "range": [
                                  448,
                                  464
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                444,
                                464
                              ],
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 8
                                },
                                "end": {
                                  "line": 18,
                                  "column": 28
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  465,
                                  469
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 33
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "func",
                                "range": [
                                  471,
                                  475
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 39
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "capture",
                                "range": [
                                  477,
                                  484
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 48
                                  }
                                }
                              }
                            ],
                            "range": [
                              444,
                              485
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 8
                              },
                              "end": {
                                "line": 18,
                                "column": 49
                              }
                            }
                          },
                          "range": [
                            444,
                            486
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 8
                            },
                            "end": {
                              "line": 18,
                              "column": 50
                            }
                          }
                        }
                      ],
                      "range": [
                        434,
                        492
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 30
                        },
                        "end": {
                          "line": 19,
                          "column": 5
                        }
                      }
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "obj",
                          "range": [
                            506,
                            509
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 13
                            },
                            "end": {
                              "line": 20,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "attachEvent",
                          "range": [
                            510,
                            521
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 17
                            },
                            "end": {
                              "line": 20,
                              "column": 28
                            }
                          }
                        },
                        "range": [
                          506,
                          521
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 13
                          },
                          "end": {
                            "line": 20,
                            "column": 28
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    533,
                                    536
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "attachEvent",
                                  "range": [
                                    537,
                                    548
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  533,
                                  548
                                ],
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 23
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      549,
                                      553
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      556,
                                      560
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "range": [
                                    549,
                                    560
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 35
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "func",
                                  "range": [
                                    562,
                                    566
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 41
                                    }
                                  }
                                }
                              ],
                              "range": [
                                533,
                                567
                              ],
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 8
                                },
                                "end": {
                                  "line": 21,
                                  "column": 42
                                }
                              }
                            },
                            "range": [
                              533,
                              568
                            ],
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 8
                              },
                              "end": {
                                "line": 21,
                                "column": 43
                              }
                            }
                          }
                        ],
                        "range": [
                          523,
                          574
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 30
                          },
                          "end": {
                            "line": 22,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    590,
                                    593
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      594,
                                      598
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      601,
                                      605
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    594,
                                    605
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  590,
                                  606
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 24
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "func",
                                "range": [
                                  609,
                                  613
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                590,
                                613
                              ],
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 8
                                },
                                "end": {
                                  "line": 23,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              590,
                              614
                            ],
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 8
                              },
                              "end": {
                                "line": 23,
                                "column": 32
                              }
                            }
                          }
                        ],
                        "range": [
                          580,
                          620
                        ],
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 11
                          },
                          "end": {
                            "line": 24,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        502,
                        620
                      ],
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 9
                        },
                        "end": {
                          "line": 24,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      408,
                      620
                    ],
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 4
                      },
                      "end": {
                        "line": 24,
                        "column": 5
                      }
                    }
                  }
                ],
                "range": [
                  402,
                  622
                ],
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 52
                  },
                  "end": {
                    "line": 25,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                372,
                622
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 22
                },
                "end": {
                  "line": 25,
                  "column": 1
                }
              }
            },
            "range": [
              363,
              622
            ],
            "loc": {
              "start": {
                "line": 16,
                "column": 13
              },
              "end": {
                "line": 25,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          357,
          623
        ],
        "loc": {
          "start": {
            "line": 16,
            "column": 7
          },
          "end": {
            "line": 25,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * DOM event utilities\n ",
            "range": [
              30,
              60
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 3
              }
            }
          },
          {
            "type": "Block",
            "value": "*\n * Add event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
            "range": [
              62,
              349
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 15,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
            "range": [
              625,
              915
            ],
            "loc": {
              "start": {
                "line": 27,
                "column": 0
              },
              "end": {
                "line": 35,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        350,
        623
      ],
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * DOM event utilities\n ",
          "range": [
            30,
            60
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 5,
              "column": 3
            }
          }
        },
        {
          "type": "Block",
          "value": "*\n * Add event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
          "range": [
            62,
            349
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 15,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
          "range": [
            625,
            915
          ],
          "loc": {
            "start": {
              "line": 27,
              "column": 0
            },
            "end": {
              "line": 35,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "removeEvt",
              "range": [
                929,
                938
              ],
              "loc": {
                "start": {
                  "line": 36,
                  "column": 13
                },
                "end": {
                  "line": 36,
                  "column": 22
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "obj",
                  "range": [
                    942,
                    945
                  ],
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 26
                    },
                    "end": {
                      "line": 36,
                      "column": 29
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "type",
                  "range": [
                    947,
                    951
                  ],
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 31
                    },
                    "end": {
                      "line": 36,
                      "column": 35
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "func",
                  "range": [
                    953,
                    957
                  ],
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 37
                    },
                    "end": {
                      "line": 36,
                      "column": 41
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "capture",
                  "range": [
                    959,
                    966
                  ],
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 43
                    },
                    "end": {
                      "line": 36,
                      "column": 50
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "obj",
                        "range": [
                          981,
                          984
                        ],
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 8
                          },
                          "end": {
                            "line": 37,
                            "column": 11
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "removeEventListener",
                        "range": [
                          985,
                          1004
                        ],
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 12
                          },
                          "end": {
                            "line": 37,
                            "column": 31
                          }
                        }
                      },
                      "range": [
                        981,
                        1004
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 37,
                          "column": 31
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "obj",
                                "range": [
                                  1016,
                                  1019
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "removeEventListener",
                                "range": [
                                  1020,
                                  1039
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                1016,
                                1039
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 8
                                },
                                "end": {
                                  "line": 38,
                                  "column": 31
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  1040,
                                  1044
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 36
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "func",
                                "range": [
                                  1046,
                                  1050
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 42
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "capture",
                                "range": [
                                  1052,
                                  1059
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 51
                                  }
                                }
                              }
                            ],
                            "range": [
                              1016,
                              1060
                            ],
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 8
                              },
                              "end": {
                                "line": 38,
                                "column": 52
                              }
                            }
                          },
                          "range": [
                            1016,
                            1061
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 53
                            }
                          }
                        }
                      ],
                      "range": [
                        1006,
                        1067
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 33
                        },
                        "end": {
                          "line": 39,
                          "column": 5
                        }
                      }
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "obj",
                          "range": [
                            1077,
                            1080
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 15
                            },
                            "end": {
                              "line": 39,
                              "column": 18
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "detachEvent",
                          "range": [
                            1081,
                            1092
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 19
                            },
                            "end": {
                              "line": 39,
                              "column": 30
                            }
                          }
                        },
                        "range": [
                          1077,
                          1092
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 15
                          },
                          "end": {
                            "line": 39,
                            "column": 30
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    1104,
                                    1107
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "detachEvent",
                                  "range": [
                                    1108,
                                    1119
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  1104,
                                  1119
                                ],
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 23
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      1120,
                                      1124
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      1127,
                                      1131
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "range": [
                                    1120,
                                    1131
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 35
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "func",
                                  "range": [
                                    1133,
                                    1137
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 41
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1104,
                                1138
                              ],
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 8
                                },
                                "end": {
                                  "line": 40,
                                  "column": 42
                                }
                              }
                            },
                            "range": [
                              1104,
                              1139
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 43
                              }
                            }
                          }
                        ],
                        "range": [
                          1094,
                          1145
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 32
                          },
                          "end": {
                            "line": 41,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    1161,
                                    1164
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      1165,
                                      1169
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      1172,
                                      1176
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    1165,
                                    1176
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  1161,
                                  1177
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 24
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": null,
                                "raw": "null",
                                "range": [
                                  1180,
                                  1184
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                1161,
                                1184
                              ],
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 8
                                },
                                "end": {
                                  "line": 42,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              1161,
                              1185
                            ],
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 32
                              }
                            }
                          }
                        ],
                        "range": [
                          1151,
                          1191
                        ],
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 11
                          },
                          "end": {
                            "line": 43,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1073,
                        1191
                      ],
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 11
                        },
                        "end": {
                          "line": 43,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      977,
                      1191
                    ],
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 4
                      },
                      "end": {
                        "line": 43,
                        "column": 5
                      }
                    }
                  }
                ],
                "range": [
                  971,
                  1193
                ],
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 55
                  },
                  "end": {
                    "line": 44,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                941,
                1193
              ],
              "loc": {
                "start": {
                  "line": 36,
                  "column": 25
                },
                "end": {
                  "line": 44,
                  "column": 1
                }
              }
            },
            "range": [
              929,
              1193
            ],
            "loc": {
              "start": {
                "line": 36,
                "column": 13
              },
              "end": {
                "line": 44,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          923,
          1194
        ],
        "loc": {
          "start": {
            "line": 36,
            "column": 7
          },
          "end": {
            "line": 44,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
            "range": [
              625,
              915
            ],
            "loc": {
              "start": {
                "line": 27,
                "column": 0
              },
              "end": {
                "line": 35,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
            "range": [
              1196,
              1320
            ],
            "loc": {
              "start": {
                "line": 46,
                "column": 0
              },
              "end": {
                "line": 50,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        916,
        1194
      ],
      "loc": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 44,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
          "range": [
            625,
            915
          ],
          "loc": {
            "start": {
              "line": 27,
              "column": 0
            },
            "end": {
              "line": 35,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
          "range": [
            1196,
            1320
          ],
          "loc": {
            "start": {
              "line": 46,
              "column": 0
            },
            "end": {
              "line": 50,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "stopEvt",
              "range": [
                1334,
                1341
              ],
              "loc": {
                "start": {
                  "line": 51,
                  "column": 13
                },
                "end": {
                  "line": 51,
                  "column": 20
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    1345,
                    1348
                  ],
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 24
                    },
                    "end": {
                      "line": 51,
                      "column": 27
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "UnaryExpression",
                      "operator": "!",
                      "argument": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          1364,
                          1367
                        ],
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 9
                          },
                          "end": {
                            "line": 52,
                            "column": 12
                          }
                        }
                      },
                      "prefix": true,
                      "range": [
                        1363,
                        1367
                      ],
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 12
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                1379,
                                1382
                              ],
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 8
                                },
                                "end": {
                                  "line": 53,
                                  "column": 11
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "root",
                                "range": [
                                  1385,
                                  1389
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "event",
                                "range": [
                                  1390,
                                  1395
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                1385,
                                1395
                              ],
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 14
                                },
                                "end": {
                                  "line": 53,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              1379,
                              1395
                            ],
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 8
                              },
                              "end": {
                                "line": 53,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            1379,
                            1396
                          ],
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 25
                            }
                          }
                        }
                      ],
                      "range": [
                        1369,
                        1402
                      ],
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 14
                        },
                        "end": {
                          "line": 54,
                          "column": 5
                        }
                      }
                    },
                    "alternate": null,
                    "range": [
                      1359,
                      1402
                    ],
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 4
                      },
                      "end": {
                        "line": 54,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          1411,
                          1414
                        ],
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 8
                          },
                          "end": {
                            "line": 55,
                            "column": 11
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "stopPropagation",
                        "range": [
                          1415,
                          1430
                        ],
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 12
                          },
                          "end": {
                            "line": 55,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        1411,
                        1430
                      ],
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 55,
                          "column": 27
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  1442,
                                  1445
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "stopPropagation",
                                "range": [
                                  1446,
                                  1461
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1442,
                                1461
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 8
                                },
                                "end": {
                                  "line": 56,
                                  "column": 27
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              1442,
                              1463
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 8
                              },
                              "end": {
                                "line": 56,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1442,
                            1464
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 30
                            }
                          }
                        }
                      ],
                      "range": [
                        1432,
                        1470
                      ],
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 29
                        },
                        "end": {
                          "line": 57,
                          "column": 5
                        }
                      }
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  1486,
                                  1489
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "cancelBubble",
                                "range": [
                                  1490,
                                  1502
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                1486,
                                1502
                              ],
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 8
                                },
                                "end": {
                                  "line": 58,
                                  "column": 24
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": true,
                              "raw": "true",
                              "range": [
                                1505,
                                1509
                              ],
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 27
                                },
                                "end": {
                                  "line": 58,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              1486,
                              1509
                            ],
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            1486,
                            1510
                          ],
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 32
                            }
                          }
                        }
                      ],
                      "range": [
                        1476,
                        1516
                      ],
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 11
                        },
                        "end": {
                          "line": 59,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1407,
                      1516
                    ],
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 4
                      },
                      "end": {
                        "line": 59,
                        "column": 5
                      }
                    }
                  }
                ],
                "range": [
                  1353,
                  1518
                ],
                "loc": {
                  "start": {
                    "line": 51,
                    "column": 32
                  },
                  "end": {
                    "line": 60,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1344,
                1518
              ],
              "loc": {
                "start": {
                  "line": 51,
                  "column": 23
                },
                "end": {
                  "line": 60,
                  "column": 1
                }
              }
            },
            "range": [
              1334,
              1518
            ],
            "loc": {
              "start": {
                "line": 51,
                "column": 13
              },
              "end": {
                "line": 60,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          1328,
          1519
        ],
        "loc": {
          "start": {
            "line": 51,
            "column": 7
          },
          "end": {
            "line": 60,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
            "range": [
              1196,
              1320
            ],
            "loc": {
              "start": {
                "line": 46,
                "column": 0
              },
              "end": {
                "line": 50,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
            "range": [
              1521,
              1666
            ],
            "loc": {
              "start": {
                "line": 62,
                "column": 0
              },
              "end": {
                "line": 67,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        1321,
        1519
      ],
      "loc": {
        "start": {
          "line": 51,
          "column": 0
        },
        "end": {
          "line": 60,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
          "range": [
            1196,
            1320
          ],
          "loc": {
            "start": {
              "line": 46,
              "column": 0
            },
            "end": {
              "line": 50,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
          "range": [
            1521,
            1666
          ],
          "loc": {
            "start": {
              "line": 62,
              "column": 0
            },
            "end": {
              "line": 67,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "cancelEvt",
              "range": [
                1680,
                1689
              ],
              "loc": {
                "start": {
                  "line": 68,
                  "column": 13
                },
                "end": {
                  "line": 68,
                  "column": 22
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    1693,
                    1696
                  ],
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 26
                    },
                    "end": {
                      "line": 68,
                      "column": 29
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "UnaryExpression",
                      "operator": "!",
                      "argument": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          1712,
                          1715
                        ],
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 9
                          },
                          "end": {
                            "line": 69,
                            "column": 12
                          }
                        }
                      },
                      "prefix": true,
                      "range": [
                        1711,
                        1715
                      ],
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 12
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                1727,
                                1730
                              ],
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 8
                                },
                                "end": {
                                  "line": 70,
                                  "column": 11
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "root",
                                "range": [
                                  1733,
                                  1737
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "event",
                                "range": [
                                  1738,
                                  1743
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                1733,
                                1743
                              ],
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 14
                                },
                                "end": {
                                  "line": 70,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              1727,
                              1743
                            ],
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            1727,
                            1744
                          ],
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 25
                            }
                          }
                        }
                      ],
                      "range": [
                        1717,
                        1750
                      ],
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 14
                        },
                        "end": {
                          "line": 71,
                          "column": 5
                        }
                      }
                    },
                    "alternate": null,
                    "range": [
                      1707,
                      1750
                    ],
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 4
                      },
                      "end": {
                        "line": 71,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          1759,
                          1762
                        ],
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 8
                          },
                          "end": {
                            "line": 72,
                            "column": 11
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "preventDefault",
                        "range": [
                          1763,
                          1777
                        ],
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 12
                          },
                          "end": {
                            "line": 72,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        1759,
                        1777
                      ],
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 26
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  1789,
                                  1792
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "preventDefault",
                                "range": [
                                  1793,
                                  1807
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                1789,
                                1807
                              ],
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 8
                                },
                                "end": {
                                  "line": 73,
                                  "column": 26
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              1789,
                              1809
                            ],
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 8
                              },
                              "end": {
                                "line": 73,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            1789,
                            1810
                          ],
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 29
                            }
                          }
                        }
                      ],
                      "range": [
                        1779,
                        1816
                      ],
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 28
                        },
                        "end": {
                          "line": 74,
                          "column": 5
                        }
                      }
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  1832,
                                  1835
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "returnValue",
                                "range": [
                                  1836,
                                  1847
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 23
                                  }
                                }
                              },
                              "range": [
                                1832,
                                1847
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 8
                                },
                                "end": {
                                  "line": 75,
                                  "column": 23
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": false,
                              "raw": "false",
                              "range": [
                                1850,
                                1855
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 26
                                },
                                "end": {
                                  "line": 75,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              1832,
                              1855
                            ],
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 8
                              },
                              "end": {
                                "line": 75,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            1832,
                            1856
                          ],
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 32
                            }
                          }
                        }
                      ],
                      "range": [
                        1822,
                        1862
                      ],
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 11
                        },
                        "end": {
                          "line": 76,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1755,
                      1862
                    ],
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 4
                      },
                      "end": {
                        "line": 76,
                        "column": 5
                      }
                    }
                  }
                ],
                "range": [
                  1701,
                  1864
                ],
                "loc": {
                  "start": {
                    "line": 68,
                    "column": 34
                  },
                  "end": {
                    "line": 77,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1692,
                1864
              ],
              "loc": {
                "start": {
                  "line": 68,
                  "column": 25
                },
                "end": {
                  "line": 77,
                  "column": 1
                }
              }
            },
            "range": [
              1680,
              1864
            ],
            "loc": {
              "start": {
                "line": 68,
                "column": 13
              },
              "end": {
                "line": 77,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          1674,
          1865
        ],
        "loc": {
          "start": {
            "line": 68,
            "column": 7
          },
          "end": {
            "line": 77,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
            "range": [
              1521,
              1666
            ],
            "loc": {
              "start": {
                "line": 62,
                "column": 0
              },
              "end": {
                "line": 67,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
            "range": [
              1867,
              1994
            ],
            "loc": {
              "start": {
                "line": 79,
                "column": 0
              },
              "end": {
                "line": 84,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        1667,
        1865
      ],
      "loc": {
        "start": {
          "line": 68,
          "column": 0
        },
        "end": {
          "line": 77,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
          "range": [
            1521,
            1666
          ],
          "loc": {
            "start": {
              "line": 62,
              "column": 0
            },
            "end": {
              "line": 67,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
          "range": [
            1867,
            1994
          ],
          "loc": {
            "start": {
              "line": 79,
              "column": 0
            },
            "end": {
              "line": 84,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "targetEvt",
              "range": [
                2008,
                2017
              ],
              "loc": {
                "start": {
                  "line": 85,
                  "column": 13
                },
                "end": {
                  "line": 85,
                  "column": 22
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    2021,
                    2024
                  ],
                  "loc": {
                    "start": {
                      "line": 85,
                      "column": 26
                    },
                    "end": {
                      "line": 85,
                      "column": 29
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "UnaryExpression",
                      "operator": "!",
                      "argument": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          2040,
                          2043
                        ],
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 9
                          },
                          "end": {
                            "line": 86,
                            "column": 12
                          }
                        }
                      },
                      "prefix": true,
                      "range": [
                        2039,
                        2043
                      ],
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 8
                        },
                        "end": {
                          "line": 86,
                          "column": 12
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                2055,
                                2058
                              ],
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 8
                                },
                                "end": {
                                  "line": 87,
                                  "column": 11
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "root",
                                "range": [
                                  2061,
                                  2065
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "event",
                                "range": [
                                  2066,
                                  2071
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                2061,
                                2071
                              ],
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 14
                                },
                                "end": {
                                  "line": 87,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              2055,
                              2071
                            ],
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 8
                              },
                              "end": {
                                "line": 87,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            2055,
                            2072
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 8
                            },
                            "end": {
                              "line": 87,
                              "column": 25
                            }
                          }
                        }
                      ],
                      "range": [
                        2045,
                        2078
                      ],
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 14
                        },
                        "end": {
                          "line": 88,
                          "column": 5
                        }
                      }
                    },
                    "alternate": null,
                    "range": [
                      2035,
                      2078
                    ],
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 4
                      },
                      "end": {
                        "line": 88,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "LogicalExpression",
                      "operator": "||",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            2090,
                            2093
                          ],
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 11
                            },
                            "end": {
                              "line": 89,
                              "column": 14
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "target",
                          "range": [
                            2094,
                            2100
                          ],
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 15
                            },
                            "end": {
                              "line": 89,
                              "column": 21
                            }
                          }
                        },
                        "range": [
                          2090,
                          2100
                        ],
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 11
                          },
                          "end": {
                            "line": 89,
                            "column": 21
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            2104,
                            2107
                          ],
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 25
                            },
                            "end": {
                              "line": 89,
                              "column": 28
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "srcElement",
                          "range": [
                            2108,
                            2118
                          ],
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 29
                            },
                            "end": {
                              "line": 89,
                              "column": 39
                            }
                          }
                        },
                        "range": [
                          2104,
                          2118
                        ],
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 25
                          },
                          "end": {
                            "line": 89,
                            "column": 39
                          }
                        }
                      },
                      "range": [
                        2090,
                        2118
                      ],
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 11
                        },
                        "end": {
                          "line": 89,
                          "column": 39
                        }
                      }
                    },
                    "range": [
                      2083,
                      2119
                    ],
                    "loc": {
                      "start": {
                        "line": 89,
                        "column": 4
                      },
                      "end": {
                        "line": 89,
                        "column": 40
                      }
                    }
                  }
                ],
                "range": [
                  2029,
                  2121
                ],
                "loc": {
                  "start": {
                    "line": 85,
                    "column": 34
                  },
                  "end": {
                    "line": 90,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                2020,
                2121
              ],
              "loc": {
                "start": {
                  "line": 85,
                  "column": 25
                },
                "end": {
                  "line": 90,
                  "column": 1
                }
              }
            },
            "range": [
              2008,
              2121
            ],
            "loc": {
              "start": {
                "line": 85,
                "column": 13
              },
              "end": {
                "line": 90,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          2002,
          2122
        ],
        "loc": {
          "start": {
            "line": 85,
            "column": 7
          },
          "end": {
            "line": 90,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
            "range": [
              1867,
              1994
            ],
            "loc": {
              "start": {
                "line": 79,
                "column": 0
              },
              "end": {
                "line": 84,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
            "range": [
              2124,
              2238
            ],
            "loc": {
              "start": {
                "line": 92,
                "column": 0
              },
              "end": {
                "line": 97,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        1995,
        2122
      ],
      "loc": {
        "start": {
          "line": 85,
          "column": 0
        },
        "end": {
          "line": 90,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
          "range": [
            1867,
            1994
          ],
          "loc": {
            "start": {
              "line": 79,
              "column": 0
            },
            "end": {
              "line": 84,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
          "range": [
            2124,
            2238
          ],
          "loc": {
            "start": {
              "line": 92,
              "column": 0
            },
            "end": {
              "line": 97,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "keyCode",
              "range": [
                2252,
                2259
              ],
              "loc": {
                "start": {
                  "line": 98,
                  "column": 13
                },
                "end": {
                  "line": 98,
                  "column": 20
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    2263,
                    2266
                  ],
                  "loc": {
                    "start": {
                      "line": 98,
                      "column": 24
                    },
                    "end": {
                      "line": 98,
                      "column": 27
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "ConditionalExpression",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            2284,
                            2287
                          ],
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 11
                            },
                            "end": {
                              "line": 99,
                              "column": 14
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "charCode",
                          "range": [
                            2288,
                            2296
                          ],
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 15
                            },
                            "end": {
                              "line": 99,
                              "column": 23
                            }
                          }
                        },
                        "range": [
                          2284,
                          2296
                        ],
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 11
                          },
                          "end": {
                            "line": 99,
                            "column": 23
                          }
                        }
                      },
                      "consequent": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            2299,
                            2302
                          ],
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 26
                            },
                            "end": {
                              "line": 99,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "charCode",
                          "range": [
                            2303,
                            2311
                          ],
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 30
                            },
                            "end": {
                              "line": 99,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          2299,
                          2311
                        ],
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 26
                          },
                          "end": {
                            "line": 99,
                            "column": 38
                          }
                        }
                      },
                      "alternate": {
                        "type": "ConditionalExpression",
                        "test": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evt",
                            "range": [
                              2323,
                              2326
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 9
                              },
                              "end": {
                                "line": 100,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "keyCode",
                            "range": [
                              2327,
                              2334
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 13
                              },
                              "end": {
                                "line": 100,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            2323,
                            2334
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 9
                            },
                            "end": {
                              "line": 100,
                              "column": 20
                            }
                          }
                        },
                        "consequent": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evt",
                            "range": [
                              2337,
                              2340
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 23
                              },
                              "end": {
                                "line": 100,
                                "column": 26
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "keyCode",
                            "range": [
                              2341,
                              2348
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 27
                              },
                              "end": {
                                "line": 100,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            2337,
                            2348
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 23
                            },
                            "end": {
                              "line": 100,
                              "column": 34
                            }
                          }
                        },
                        "alternate": {
                          "type": "ConditionalExpression",
                          "test": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                2352,
                                2355
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 38
                                },
                                "end": {
                                  "line": 100,
                                  "column": 41
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "which",
                              "range": [
                                2356,
                                2361
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 42
                                },
                                "end": {
                                  "line": 100,
                                  "column": 47
                                }
                              }
                            },
                            "range": [
                              2352,
                              2361
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 38
                              },
                              "end": {
                                "line": 100,
                                "column": 47
                              }
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                2364,
                                2367
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 50
                                },
                                "end": {
                                  "line": 100,
                                  "column": 53
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "which",
                              "range": [
                                2368,
                                2373
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 54
                                },
                                "end": {
                                  "line": 100,
                                  "column": 59
                                }
                              }
                            },
                            "range": [
                              2364,
                              2373
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 50
                              },
                              "end": {
                                "line": 100,
                                "column": 59
                              }
                            }
                          },
                          "alternate": {
                            "type": "Literal",
                            "value": 0,
                            "raw": "0",
                            "range": [
                              2376,
                              2377
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 62
                              },
                              "end": {
                                "line": 100,
                                "column": 63
                              }
                            }
                          },
                          "range": [
                            2352,
                            2377
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 38
                            },
                            "end": {
                              "line": 100,
                              "column": 63
                            }
                          }
                        },
                        "range": [
                          2323,
                          2378
                        ],
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 9
                          },
                          "end": {
                            "line": 100,
                            "column": 64
                          }
                        }
                      },
                      "range": [
                        2284,
                        2379
                      ],
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 11
                        },
                        "end": {
                          "line": 100,
                          "column": 65
                        }
                      }
                    },
                    "range": [
                      2277,
                      2380
                    ],
                    "loc": {
                      "start": {
                        "line": 99,
                        "column": 4
                      },
                      "end": {
                        "line": 100,
                        "column": 66
                      }
                    }
                  }
                ],
                "range": [
                  2271,
                  2382
                ],
                "loc": {
                  "start": {
                    "line": 98,
                    "column": 32
                  },
                  "end": {
                    "line": 101,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                2262,
                2382
              ],
              "loc": {
                "start": {
                  "line": 98,
                  "column": 23
                },
                "end": {
                  "line": 101,
                  "column": 1
                }
              }
            },
            "range": [
              2252,
              2382
            ],
            "loc": {
              "start": {
                "line": 98,
                "column": 13
              },
              "end": {
                "line": 101,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          2246,
          2383
        ],
        "loc": {
          "start": {
            "line": 98,
            "column": 7
          },
          "end": {
            "line": 101,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
            "range": [
              2124,
              2238
            ],
            "loc": {
              "start": {
                "line": 92,
                "column": 0
              },
              "end": {
                "line": 97,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        2239,
        2383
      ],
      "loc": {
        "start": {
          "line": 98,
          "column": 0
        },
        "end": {
          "line": 101,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
          "range": [
            2124,
            2238
          ],
          "loc": {
            "start": {
              "line": 92,
              "column": 0
            },
            "end": {
              "line": 97,
              "column": 3
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    2383
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 101,
      "column": 2
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * DOM event utilities\n ",
      "range": [
        30,
        60
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Add event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
      "range": [
        62,
        349
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
      "range": [
        625,
        915
      ],
      "loc": {
        "start": {
          "line": 27,
          "column": 0
        },
        "end": {
          "line": 35,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
      "range": [
        1196,
        1320
      ],
      "loc": {
        "start": {
          "line": 46,
          "column": 0
        },
        "end": {
          "line": 50,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
      "range": [
        1521,
        1666
      ],
      "loc": {
        "start": {
          "line": 62,
          "column": 0
        },
        "end": {
          "line": 67,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
      "range": [
        1867,
        1994
      ],
      "loc": {
        "start": {
          "line": 79,
          "column": 0
        },
        "end": {
          "line": 84,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
      "range": [
        2124,
        2238
      ],
      "loc": {
        "start": {
          "line": 92,
          "column": 0
        },
        "end": {
          "line": 97,
          "column": 3
        }
      }
    }
  ]
}