{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "OuterSubscriber",
            "range": [
              9,
              24
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 24
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "OuterSubscriber",
            "range": [
              9,
              24
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 24
              }
            }
          },
          "range": [
            9,
            24
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 24
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../OuterSubscriber",
        "raw": "'../OuterSubscriber'",
        "range": [
          32,
          52
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 32
          },
          "end": {
            "line": 1,
            "column": 52
          }
        }
      },
      "range": [
        0,
        53
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 53
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "subscribeToResult",
            "range": [
              63,
              80
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 26
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "subscribeToResult",
            "range": [
              63,
              80
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 26
              }
            }
          },
          "range": [
            63,
            80
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 26
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/subscribeToResult",
        "raw": "'../util/subscribeToResult'",
        "range": [
          88,
          115
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 34
          },
          "end": {
            "line": 2,
            "column": 61
          }
        }
      },
      "range": [
        54,
        116
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 62
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Emits a value from the source Observable, then ignores subsequent source\n * values for a duration determined by another Observable, then repeats this\n * process.\n *\n * <span class=\"informal\">It's like {@link throttleTime}, but the silencing\n * duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/throttle.png\" width=\"100%\">\n *\n * `throttle` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled by calling the `durationSelector` function with the source value,\n * which returns the \"duration\" Observable. When the duration Observable emits a\n * value or completes, the timer is disabled, and this process repeats for the\n * next source value.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttle\n * @owner Observable\n ",
          "range": [
            117,
            1846
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 40,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "throttle",
          "range": [
            1863,
            1871
          ],
          "loc": {
            "start": {
              "line": 41,
              "column": 16
            },
            "end": {
              "line": 41,
              "column": 24
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "durationSelector",
            "range": [
              1872,
              1888
            ],
            "loc": {
              "start": {
                "line": 41,
                "column": 25
              },
              "end": {
                "line": 41,
                "column": 41
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      1903,
                      1907
                    ],
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 11
                      },
                      "end": {
                        "line": 42,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      1908,
                      1912
                    ],
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 16
                      },
                      "end": {
                        "line": 42,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    1903,
                    1912
                  ],
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 11
                    },
                    "end": {
                      "line": 42,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "ThrottleOperator",
                      "range": [
                        1917,
                        1933
                      ],
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 25
                        },
                        "end": {
                          "line": 42,
                          "column": 41
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "durationSelector",
                        "range": [
                          1934,
                          1950
                        ],
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 42
                          },
                          "end": {
                            "line": 42,
                            "column": 58
                          }
                        }
                      }
                    ],
                    "range": [
                      1913,
                      1951
                    ],
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 21
                      },
                      "end": {
                        "line": 42,
                        "column": 59
                      }
                    }
                  }
                ],
                "range": [
                  1903,
                  1952
                ],
                "loc": {
                  "start": {
                    "line": 42,
                    "column": 11
                  },
                  "end": {
                    "line": 42,
                    "column": 60
                  }
                }
              },
              "range": [
                1896,
                1953
              ],
              "loc": {
                "start": {
                  "line": 42,
                  "column": 4
                },
                "end": {
                  "line": 42,
                  "column": 61
                }
              }
            }
          ],
          "range": [
            1890,
            1955
          ],
          "loc": {
            "start": {
              "line": 41,
              "column": 43
            },
            "end": {
              "line": 43,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          1854,
          1955
        ],
        "loc": {
          "start": {
            "line": 41,
            "column": 7
          },
          "end": {
            "line": 43,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Emits a value from the source Observable, then ignores subsequent source\n * values for a duration determined by another Observable, then repeats this\n * process.\n *\n * <span class=\"informal\">It's like {@link throttleTime}, but the silencing\n * duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/throttle.png\" width=\"100%\">\n *\n * `throttle` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled by calling the `durationSelector` function with the source value,\n * which returns the \"duration\" Observable. When the duration Observable emits a\n * value or completes, the timer is disabled, and this process repeats for the\n * next source value.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttle\n * @owner Observable\n ",
            "range": [
              117,
              1846
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 40,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        1847,
        1955
      ],
      "loc": {
        "start": {
          "line": 41,
          "column": 0
        },
        "end": {
          "line": 43,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Emits a value from the source Observable, then ignores subsequent source\n * values for a duration determined by another Observable, then repeats this\n * process.\n *\n * <span class=\"informal\">It's like {@link throttleTime}, but the silencing\n * duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/throttle.png\" width=\"100%\">\n *\n * `throttle` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled by calling the `durationSelector` function with the source value,\n * which returns the \"duration\" Observable. When the duration Observable emits a\n * value or completes, the timer is disabled, and this process repeats for the\n * next source value.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttle\n * @owner Observable\n ",
          "range": [
            117,
            1846
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 40,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "ThrottleOperator",
            "range": [
              1960,
              1976
            ],
            "loc": {
              "start": {
                "line": 44,
                "column": 4
              },
              "end": {
                "line": 44,
                "column": 20
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "ThrottleOperator",
                      "range": [
                        2007,
                        2023
                      ],
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 13
                        },
                        "end": {
                          "line": 45,
                          "column": 29
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "durationSelector",
                        "range": [
                          2024,
                          2040
                        ],
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 30
                          },
                          "end": {
                            "line": 45,
                            "column": 46
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2052,
                                  2056
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "durationSelector",
                                "range": [
                                  2057,
                                  2073
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 29
                                  }
                                }
                              },
                              "range": [
                                2052,
                                2073
                              ],
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 8
                                },
                                "end": {
                                  "line": 46,
                                  "column": 29
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "durationSelector",
                              "range": [
                                2076,
                                2092
                              ],
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 32
                                },
                                "end": {
                                  "line": 46,
                                  "column": 48
                                }
                              }
                            },
                            "range": [
                              2052,
                              2092
                            ],
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 48
                              }
                            }
                          },
                          "range": [
                            2052,
                            2093
                          ],
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 49
                            }
                          }
                        }
                      ],
                      "range": [
                        2042,
                        2099
                      ],
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 48
                        },
                        "end": {
                          "line": 47,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      1998,
                      2099
                    ],
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 4
                      },
                      "end": {
                        "line": 47,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "ThrottleOperator",
                            "range": [
                              2104,
                              2120
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 4
                              },
                              "end": {
                                "line": 48,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2121,
                              2130
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 21
                              },
                              "end": {
                                "line": 48,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            2104,
                            2130
                          ],
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 4
                            },
                            "end": {
                              "line": 48,
                              "column": 30
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            2131,
                            2135
                          ],
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 31
                            },
                            "end": {
                              "line": 48,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          2104,
                          2135
                        ],
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 4
                          },
                          "end": {
                            "line": 48,
                            "column": 35
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              2148,
                              2158
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 48
                              },
                              "end": {
                                "line": 48,
                                "column": 58
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              2160,
                              2166
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 60
                              },
                              "end": {
                                "line": 48,
                                "column": 66
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      2185,
                                      2191
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      2192,
                                      2202
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    2185,
                                    2202
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "ThrottleSubscriber",
                                      "range": [
                                        2207,
                                        2225
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 55
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          2226,
                                          2236
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 66
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2238,
                                            2242
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 68
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 72
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "durationSelector",
                                          "range": [
                                            2243,
                                            2259
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 89
                                            }
                                          }
                                        },
                                        "range": [
                                          2238,
                                          2259
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 68
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 89
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2203,
                                      2260
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 90
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2185,
                                  2261
                                ],
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 91
                                  }
                                }
                              },
                              "range": [
                                2178,
                                2262
                              ],
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 8
                                },
                                "end": {
                                  "line": 49,
                                  "column": 92
                                }
                              }
                            }
                          ],
                          "range": [
                            2168,
                            2268
                          ],
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 68
                            },
                            "end": {
                              "line": 50,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2138,
                          2268
                        ],
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 38
                          },
                          "end": {
                            "line": 50,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2104,
                        2268
                      ],
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 4
                        },
                        "end": {
                          "line": 50,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2104,
                      2269
                    ],
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 4
                      },
                      "end": {
                        "line": 50,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "ThrottleOperator",
                      "range": [
                        2281,
                        2297
                      ],
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 11
                        },
                        "end": {
                          "line": 51,
                          "column": 27
                        }
                      }
                    },
                    "range": [
                      2274,
                      2298
                    ],
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 4
                      },
                      "end": {
                        "line": 51,
                        "column": 28
                      }
                    }
                  }
                ],
                "range": [
                  1992,
                  2300
                ],
                "loc": {
                  "start": {
                    "line": 44,
                    "column": 36
                  },
                  "end": {
                    "line": 52,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1980,
                2300
              ],
              "loc": {
                "start": {
                  "line": 44,
                  "column": 24
                },
                "end": {
                  "line": 52,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              1980,
              2302
            ],
            "loc": {
              "start": {
                "line": 44,
                "column": 24
              },
              "end": {
                "line": 52,
                "column": 3
              }
            }
          },
          "range": [
            1960,
            2303
          ],
          "loc": {
            "start": {
              "line": 44,
              "column": 4
            },
            "end": {
              "line": 52,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1956,
        2304
      ],
      "loc": {
        "start": {
          "line": 44,
          "column": 0
        },
        "end": {
          "line": 52,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            2305,
            2396
          ],
          "loc": {
            "start": {
              "line": 53,
              "column": 0
            },
            "end": {
              "line": 57,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "ThrottleSubscriber",
            "range": [
              2401,
              2419
            ],
            "loc": {
              "start": {
                "line": 58,
                "column": 4
              },
              "end": {
                "line": 58,
                "column": 22
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    2433,
                    2439
                  ],
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 36
                    },
                    "end": {
                      "line": 58,
                      "column": 42
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          2447,
                          2456
                        ],
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 4
                          },
                          "end": {
                            "line": 59,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "ThrottleSubscriber",
                          "range": [
                            2457,
                            2475
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 14
                            },
                            "end": {
                              "line": 59,
                              "column": 32
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            2477,
                            2483
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 34
                            },
                            "end": {
                              "line": 59,
                              "column": 40
                            }
                          }
                        }
                      ],
                      "range": [
                        2447,
                        2484
                      ],
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 4
                        },
                        "end": {
                          "line": 59,
                          "column": 41
                        }
                      }
                    },
                    "range": [
                      2447,
                      2485
                    ],
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 4
                      },
                      "end": {
                        "line": 59,
                        "column": 42
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "ThrottleSubscriber",
                      "range": [
                        2499,
                        2517
                      ],
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 13
                        },
                        "end": {
                          "line": 60,
                          "column": 31
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          2518,
                          2529
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 32
                          },
                          "end": {
                            "line": 60,
                            "column": 43
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "durationSelector",
                        "range": [
                          2531,
                          2547
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 45
                          },
                          "end": {
                            "line": 60,
                            "column": 61
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  2559,
                                  2565
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  2566,
                                  2570
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                2559,
                                2570
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 8
                                },
                                "end": {
                                  "line": 61,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  2571,
                                  2575
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  2577,
                                  2588
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              2559,
                              2589
                            ],
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 8
                              },
                              "end": {
                                "line": 61,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            2559,
                            2590
                          ],
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 8
                            },
                            "end": {
                              "line": 61,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2599,
                                  2603
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  2604,
                                  2615
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                2599,
                                2615
                              ],
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 8
                                },
                                "end": {
                                  "line": 62,
                                  "column": 24
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "destination",
                              "range": [
                                2618,
                                2629
                              ],
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 27
                                },
                                "end": {
                                  "line": 62,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              2599,
                              2629
                            ],
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 8
                              },
                              "end": {
                                "line": 62,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            2599,
                            2630
                          ],
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 8
                            },
                            "end": {
                              "line": 62,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2639,
                                  2643
                                ],
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "durationSelector",
                                "range": [
                                  2644,
                                  2660
                                ],
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 29
                                  }
                                }
                              },
                              "range": [
                                2639,
                                2660
                              ],
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 8
                                },
                                "end": {
                                  "line": 63,
                                  "column": 29
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "durationSelector",
                              "range": [
                                2663,
                                2679
                              ],
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 32
                                },
                                "end": {
                                  "line": 63,
                                  "column": 48
                                }
                              }
                            },
                            "range": [
                              2639,
                              2679
                            ],
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 8
                              },
                              "end": {
                                "line": 63,
                                "column": 48
                              }
                            }
                          },
                          "range": [
                            2639,
                            2680
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 49
                            }
                          }
                        }
                      ],
                      "range": [
                        2549,
                        2686
                      ],
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 63
                        },
                        "end": {
                          "line": 64,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      2490,
                      2686
                    ],
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 4
                      },
                      "end": {
                        "line": 64,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "ThrottleSubscriber",
                            "range": [
                              2691,
                              2709
                            ],
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 4
                              },
                              "end": {
                                "line": 65,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2710,
                              2719
                            ],
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 23
                              },
                              "end": {
                                "line": 65,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            2691,
                            2719
                          ],
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 4
                            },
                            "end": {
                              "line": 65,
                              "column": 32
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            2720,
                            2725
                          ],
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 33
                            },
                            "end": {
                              "line": 65,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          2691,
                          2725
                        ],
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 4
                          },
                          "end": {
                            "line": 65,
                            "column": 38
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2738,
                              2743
                            ],
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 51
                              },
                              "end": {
                                "line": 65,
                                "column": 56
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2760,
                                      2764
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "throttled",
                                    "range": [
                                      2765,
                                      2774
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "range": [
                                    2760,
                                    2774
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 27
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  2759,
                                  2774
                                ],
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 27
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2790,
                                            2794
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "tryDurationSelector",
                                          "range": [
                                            2795,
                                            2814
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "range": [
                                          2790,
                                          2814
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            2815,
                                            2820
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 42
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2790,
                                        2821
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      2790,
                                      2822
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 44
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2776,
                                  2832
                                ],
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                2755,
                                2832
                              ],
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 8
                                },
                                "end": {
                                  "line": 68,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2745,
                            2838
                          ],
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 58
                            },
                            "end": {
                              "line": 69,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2728,
                          2838
                        ],
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 41
                          },
                          "end": {
                            "line": 69,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2691,
                        2838
                      ],
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 4
                        },
                        "end": {
                          "line": 69,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2691,
                      2839
                    ],
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 4
                      },
                      "end": {
                        "line": 69,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "ThrottleSubscriber",
                            "range": [
                              2844,
                              2862
                            ],
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 4
                              },
                              "end": {
                                "line": 70,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2863,
                              2872
                            ],
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 23
                              },
                              "end": {
                                "line": 70,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            2844,
                            2872
                          ],
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 4
                            },
                            "end": {
                              "line": 70,
                              "column": 32
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "tryDurationSelector",
                          "range": [
                            2873,
                            2892
                          ],
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 33
                            },
                            "end": {
                              "line": 70,
                              "column": 52
                            }
                          }
                        },
                        "range": [
                          2844,
                          2892
                        ],
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 4
                          },
                          "end": {
                            "line": 70,
                            "column": 52
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2905,
                              2910
                            ],
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 65
                              },
                              "end": {
                                "line": 70,
                                "column": 70
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "duration",
                                    "range": [
                                      2926,
                                      2934
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "value": null,
                                    "raw": "null",
                                    "range": [
                                      2937,
                                      2941
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "range": [
                                    2926,
                                    2941
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 27
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2922,
                                2942
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 71,
                                  "column": 28
                                }
                              }
                            },
                            {
                              "type": "TryStatement",
                              "block": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "duration",
                                        "range": [
                                          2969,
                                          2977
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2980,
                                              2984
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 27
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "durationSelector",
                                            "range": [
                                              2985,
                                              3001
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 44
                                              }
                                            }
                                          },
                                          "range": [
                                            2980,
                                            3001
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              3002,
                                              3007
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 50
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2980,
                                          3008
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 51
                                          }
                                        }
                                      },
                                      "range": [
                                        2969,
                                        3008
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 51
                                        }
                                      }
                                    },
                                    "range": [
                                      2969,
                                      3009
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 52
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2955,
                                  3019
                                ],
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 9
                                  }
                                }
                              },
                              "handler": {
                                "type": "CatchClause",
                                "param": {
                                  "type": "Identifier",
                                  "name": "err",
                                  "range": [
                                    3035,
                                    3038
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 18
                                    }
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                3054,
                                                3058
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 76,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 76,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "destination",
                                              "range": [
                                                3059,
                                                3070
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 76,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 76,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              3054,
                                              3070
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              3071,
                                              3076
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "range": [
                                            3054,
                                            3076
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "err",
                                            "range": [
                                              3077,
                                              3080
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 38
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3054,
                                          3081
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        3054,
                                        3082
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 40
                                        }
                                      }
                                    },
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        3095,
                                        3102
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3040,
                                    3112
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  3028,
                                  3112
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 9
                                  }
                                }
                              },
                              "finalizer": null,
                              "range": [
                                2951,
                                3112
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 8
                                },
                                "end": {
                                  "line": 78,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3121,
                                      3125
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "emitAndThrottle",
                                    "range": [
                                      3126,
                                      3141
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "range": [
                                    3121,
                                    3141
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 28
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "value",
                                    "range": [
                                      3142,
                                      3147
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 34
                                      }
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "name": "duration",
                                    "range": [
                                      3149,
                                      3157
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 44
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3121,
                                  3158
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 45
                                  }
                                }
                              },
                              "range": [
                                3121,
                                3159
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 8
                                },
                                "end": {
                                  "line": 79,
                                  "column": 46
                                }
                              }
                            }
                          ],
                          "range": [
                            2912,
                            3165
                          ],
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 72
                            },
                            "end": {
                              "line": 80,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2895,
                          3165
                        ],
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 55
                          },
                          "end": {
                            "line": 80,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2844,
                        3165
                      ],
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 4
                        },
                        "end": {
                          "line": 80,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2844,
                      3166
                    ],
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 4
                      },
                      "end": {
                        "line": 80,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "ThrottleSubscriber",
                            "range": [
                              3171,
                              3189
                            ],
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 4
                              },
                              "end": {
                                "line": 81,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3190,
                              3199
                            ],
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 23
                              },
                              "end": {
                                "line": 81,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            3171,
                            3199
                          ],
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 4
                            },
                            "end": {
                              "line": 81,
                              "column": 32
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "emitAndThrottle",
                          "range": [
                            3200,
                            3215
                          ],
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 33
                            },
                            "end": {
                              "line": 81,
                              "column": 48
                            }
                          }
                        },
                        "range": [
                          3171,
                          3215
                        ],
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 4
                          },
                          "end": {
                            "line": 81,
                            "column": 48
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              3228,
                              3233
                            ],
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 61
                              },
                              "end": {
                                "line": 81,
                                "column": 66
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "duration",
                            "range": [
                              3235,
                              3243
                            ],
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 68
                              },
                              "end": {
                                "line": 81,
                                "column": 76
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3255,
                                      3259
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "add",
                                    "range": [
                                      3260,
                                      3263
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "range": [
                                    3255,
                                    3263
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 16
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3264,
                                          3268
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 21
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "throttled",
                                        "range": [
                                          3269,
                                          3278
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "range": [
                                        3264,
                                        3278
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "subscribeToResult",
                                        "range": [
                                          3281,
                                          3298
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 51
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ThisExpression",
                                          "range": [
                                            3299,
                                            3303
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 56
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "duration",
                                          "range": [
                                            3305,
                                            3313
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 66
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3281,
                                        3314
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 67
                                        }
                                      }
                                    },
                                    "range": [
                                      3264,
                                      3314
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 67
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3255,
                                  3315
                                ],
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 68
                                  }
                                }
                              },
                              "range": [
                                3255,
                                3316
                              ],
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 8
                                },
                                "end": {
                                  "line": 82,
                                  "column": 69
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3325,
                                        3329
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3330,
                                        3341
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3325,
                                      3341
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "next",
                                    "range": [
                                      3342,
                                      3346
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    3325,
                                    3346
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 29
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "value",
                                    "range": [
                                      3347,
                                      3352
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3325,
                                  3353
                                ],
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 36
                                  }
                                }
                              },
                              "range": [
                                3325,
                                3354
                              ],
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 8
                                },
                                "end": {
                                  "line": 83,
                                  "column": 37
                                }
                              }
                            }
                          ],
                          "range": [
                            3245,
                            3360
                          ],
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 78
                            },
                            "end": {
                              "line": 84,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3218,
                          3360
                        ],
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 51
                          },
                          "end": {
                            "line": 84,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3171,
                        3360
                      ],
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 4
                        },
                        "end": {
                          "line": 84,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3171,
                      3361
                    ],
                    "loc": {
                      "start": {
                        "line": 81,
                        "column": 4
                      },
                      "end": {
                        "line": 84,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "ThrottleSubscriber",
                            "range": [
                              3366,
                              3384
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 4
                              },
                              "end": {
                                "line": 85,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3385,
                              3394
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 23
                              },
                              "end": {
                                "line": 85,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            3366,
                            3394
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 4
                            },
                            "end": {
                              "line": 85,
                              "column": 32
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_unsubscribe",
                          "range": [
                            3395,
                            3407
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 33
                            },
                            "end": {
                              "line": 85,
                              "column": 45
                            }
                          }
                        },
                        "range": [
                          3366,
                          3407
                        ],
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 4
                          },
                          "end": {
                            "line": 85,
                            "column": 45
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "throttled",
                                    "range": [
                                      3436,
                                      3445
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3448,
                                        3452
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "throttled",
                                      "range": [
                                        3453,
                                        3462
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      3448,
                                      3462
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "range": [
                                    3436,
                                    3462
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 38
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3432,
                                3463
                              ],
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 8
                                },
                                "end": {
                                  "line": 86,
                                  "column": 39
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "throttled",
                                "range": [
                                  3476,
                                  3485
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 21
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3501,
                                            3505
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "remove",
                                          "range": [
                                            3506,
                                            3512
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "range": [
                                          3501,
                                          3512
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 88,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 88,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "throttled",
                                          "range": [
                                            3513,
                                            3522
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 33
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3501,
                                        3523
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      3501,
                                      3524
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 35
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3537,
                                            3541
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "throttled",
                                          "range": [
                                            3542,
                                            3551
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "range": [
                                          3537,
                                          3551
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": null,
                                        "raw": "null",
                                        "range": [
                                          3554,
                                          3558
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "range": [
                                        3537,
                                        3558
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "range": [
                                      3537,
                                      3559
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 34
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "throttled",
                                          "range": [
                                            3572,
                                            3581
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 21
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "unsubscribe",
                                          "range": [
                                            3582,
                                            3593
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "range": [
                                          3572,
                                          3593
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        3572,
                                        3595
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "range": [
                                      3572,
                                      3596
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 36
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3487,
                                  3606
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3472,
                                3606
                              ],
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 8
                                },
                                "end": {
                                  "line": 91,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            3422,
                            3612
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 60
                            },
                            "end": {
                              "line": 92,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3410,
                          3612
                        ],
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 48
                          },
                          "end": {
                            "line": 92,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3366,
                        3612
                      ],
                      "loc": {
                        "start": {
                          "line": 85,
                          "column": 4
                        },
                        "end": {
                          "line": 92,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3366,
                      3613
                    ],
                    "loc": {
                      "start": {
                        "line": 85,
                        "column": 4
                      },
                      "end": {
                        "line": 92,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "ThrottleSubscriber",
                            "range": [
                              3618,
                              3636
                            ],
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 4
                              },
                              "end": {
                                "line": 93,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3637,
                              3646
                            ],
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 23
                              },
                              "end": {
                                "line": 93,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            3618,
                            3646
                          ],
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 4
                            },
                            "end": {
                              "line": 93,
                              "column": 32
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "notifyNext",
                          "range": [
                            3647,
                            3657
                          ],
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 33
                            },
                            "end": {
                              "line": 93,
                              "column": 43
                            }
                          }
                        },
                        "range": [
                          3618,
                          3657
                        ],
                        "loc": {
                          "start": {
                            "line": 93,
                            "column": 4
                          },
                          "end": {
                            "line": 93,
                            "column": 43
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "outerValue",
                            "range": [
                              3670,
                              3680
                            ],
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 56
                              },
                              "end": {
                                "line": 93,
                                "column": 66
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "innerValue",
                            "range": [
                              3682,
                              3692
                            ],
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 68
                              },
                              "end": {
                                "line": 93,
                                "column": 78
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "outerIndex",
                            "range": [
                              3694,
                              3704
                            ],
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 80
                              },
                              "end": {
                                "line": 93,
                                "column": 90
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "innerIndex",
                            "range": [
                              3706,
                              3716
                            ],
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 92
                              },
                              "end": {
                                "line": 93,
                                "column": 102
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "innerSub",
                            "range": [
                              3718,
                              3726
                            ],
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 104
                              },
                              "end": {
                                "line": 93,
                                "column": 112
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3738,
                                      3742
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_unsubscribe",
                                    "range": [
                                      3743,
                                      3755
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    3738,
                                    3755
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 25
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  3738,
                                  3757
                                ],
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                3738,
                                3758
                              ],
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 8
                                },
                                "end": {
                                  "line": 94,
                                  "column": 28
                                }
                              }
                            }
                          ],
                          "range": [
                            3728,
                            3764
                          ],
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 114
                            },
                            "end": {
                              "line": 95,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3660,
                          3764
                        ],
                        "loc": {
                          "start": {
                            "line": 93,
                            "column": 46
                          },
                          "end": {
                            "line": 95,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3618,
                        3764
                      ],
                      "loc": {
                        "start": {
                          "line": 93,
                          "column": 4
                        },
                        "end": {
                          "line": 95,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3618,
                      3765
                    ],
                    "loc": {
                      "start": {
                        "line": 93,
                        "column": 4
                      },
                      "end": {
                        "line": 95,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "ThrottleSubscriber",
                            "range": [
                              3770,
                              3788
                            ],
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 4
                              },
                              "end": {
                                "line": 96,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3789,
                              3798
                            ],
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 23
                              },
                              "end": {
                                "line": 96,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            3770,
                            3798
                          ],
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 4
                            },
                            "end": {
                              "line": 96,
                              "column": 32
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "notifyComplete",
                          "range": [
                            3799,
                            3813
                          ],
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 33
                            },
                            "end": {
                              "line": 96,
                              "column": 47
                            }
                          }
                        },
                        "range": [
                          3770,
                          3813
                        ],
                        "loc": {
                          "start": {
                            "line": 96,
                            "column": 4
                          },
                          "end": {
                            "line": 96,
                            "column": 47
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3838,
                                      3842
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_unsubscribe",
                                    "range": [
                                      3843,
                                      3855
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    3838,
                                    3855
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 25
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  3838,
                                  3857
                                ],
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                3838,
                                3858
                              ],
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 8
                                },
                                "end": {
                                  "line": 97,
                                  "column": 28
                                }
                              }
                            }
                          ],
                          "range": [
                            3828,
                            3864
                          ],
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 62
                            },
                            "end": {
                              "line": 98,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3816,
                          3864
                        ],
                        "loc": {
                          "start": {
                            "line": 96,
                            "column": 50
                          },
                          "end": {
                            "line": 98,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3770,
                        3864
                      ],
                      "loc": {
                        "start": {
                          "line": 96,
                          "column": 4
                        },
                        "end": {
                          "line": 98,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3770,
                      3865
                    ],
                    "loc": {
                      "start": {
                        "line": 96,
                        "column": 4
                      },
                      "end": {
                        "line": 98,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "ThrottleSubscriber",
                      "range": [
                        3877,
                        3895
                      ],
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 11
                        },
                        "end": {
                          "line": 99,
                          "column": 29
                        }
                      }
                    },
                    "range": [
                      3870,
                      3896
                    ],
                    "loc": {
                      "start": {
                        "line": 99,
                        "column": 4
                      },
                      "end": {
                        "line": 99,
                        "column": 30
                      }
                    }
                  }
                ],
                "range": [
                  2441,
                  3898
                ],
                "loc": {
                  "start": {
                    "line": 58,
                    "column": 44
                  },
                  "end": {
                    "line": 100,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                2423,
                3898
              ],
              "loc": {
                "start": {
                  "line": 58,
                  "column": 26
                },
                "end": {
                  "line": 100,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "OuterSubscriber",
                "range": [
                  3899,
                  3914
                ],
                "loc": {
                  "start": {
                    "line": 100,
                    "column": 2
                  },
                  "end": {
                    "line": 100,
                    "column": 17
                  }
                }
              }
            ],
            "range": [
              2423,
              3915
            ],
            "loc": {
              "start": {
                "line": 58,
                "column": 26
              },
              "end": {
                "line": 100,
                "column": 18
              }
            }
          },
          "range": [
            2401,
            3916
          ],
          "loc": {
            "start": {
              "line": 58,
              "column": 4
            },
            "end": {
              "line": 100,
              "column": 19
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        2397,
        3917
      ],
      "loc": {
        "start": {
          "line": 58,
          "column": 0
        },
        "end": {
          "line": 100,
          "column": 20
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            2305,
            2396
          ],
          "loc": {
            "start": {
              "line": 53,
              "column": 0
            },
            "end": {
              "line": 57,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=throttle.js.map",
          "range": [
            3918,
            3954
          ],
          "loc": {
            "start": {
              "line": 101,
              "column": 0
            },
            "end": {
              "line": 101,
              "column": 36
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    3917
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 100,
      "column": 20
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Emits a value from the source Observable, then ignores subsequent source\n * values for a duration determined by another Observable, then repeats this\n * process.\n *\n * <span class=\"informal\">It's like {@link throttleTime}, but the silencing\n * duration is determined by a second Observable.</span>\n *\n * <img src=\"./img/throttle.png\" width=\"100%\">\n *\n * `throttle` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled by calling the `durationSelector` function with the source value,\n * which returns the \"duration\" Observable. When the duration Observable emits a\n * value or completes, the timer is disabled, and this process repeats for the\n * next source value.\n *\n * @example <caption>Emit clicks at a rate of at most one click per second</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {function(value: T): Observable|Promise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable<T>} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttle\n * @owner Observable\n ",
      "range": [
        117,
        1846
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 40,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        2305,
        2396
      ],
      "loc": {
        "start": {
          "line": 53,
          "column": 0
        },
        "end": {
          "line": 57,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=throttle.js.map",
      "range": [
        3918,
        3954
      ],
      "loc": {
        "start": {
          "line": 101,
          "column": 0
        },
        "end": {
          "line": 101,
          "column": 36
        }
      }
    }
  ]
}