{
  "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 the values emitted by the source Observable until a `notifier`\n * Observable emits a value.\n *\n * <span class=\"informal\">Lets values pass until a second Observable,\n * `notifier`, emits something. Then, it completes.</span>\n *\n * <img src=\"./img/takeUntil.png\" width=\"100%\">\n *\n * `takeUntil` subscribes and begins mirroring the source Observable. It also\n * monitors a second Observable, `notifier` that you provide. If the `notifier`\n * emits a value or a complete notification, the output Observable stops\n * mirroring the source Observable and completes.\n *\n * @example <caption>Tick every second until the first click happens</caption>\n * var interval = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = interval.takeUntil(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @param {Observable} notifier The Observable whose first emitted value will\n * cause the output Observable of `takeUntil` to stop emitting values from the\n * source Observable.\n * @return {Observable<T>} An Observable that emits the values from the source\n * Observable until such time as `notifier` emits its first value.\n * @method takeUntil\n * @owner Observable\n ",
          "range": [
            117,
            1434
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 35,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "takeUntil",
          "range": [
            1451,
            1460
          ],
          "loc": {
            "start": {
              "line": 36,
              "column": 16
            },
            "end": {
              "line": 36,
              "column": 25
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "notifier",
            "range": [
              1461,
              1469
            ],
            "loc": {
              "start": {
                "line": 36,
                "column": 26
              },
              "end": {
                "line": 36,
                "column": 34
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      1484,
                      1488
                    ],
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 11
                      },
                      "end": {
                        "line": 37,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      1489,
                      1493
                    ],
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 16
                      },
                      "end": {
                        "line": 37,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    1484,
                    1493
                  ],
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 11
                    },
                    "end": {
                      "line": 37,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "TakeUntilOperator",
                      "range": [
                        1498,
                        1515
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 25
                        },
                        "end": {
                          "line": 37,
                          "column": 42
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "notifier",
                        "range": [
                          1516,
                          1524
                        ],
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 43
                          },
                          "end": {
                            "line": 37,
                            "column": 51
                          }
                        }
                      }
                    ],
                    "range": [
                      1494,
                      1525
                    ],
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 21
                      },
                      "end": {
                        "line": 37,
                        "column": 52
                      }
                    }
                  }
                ],
                "range": [
                  1484,
                  1526
                ],
                "loc": {
                  "start": {
                    "line": 37,
                    "column": 11
                  },
                  "end": {
                    "line": 37,
                    "column": 53
                  }
                }
              },
              "range": [
                1477,
                1527
              ],
              "loc": {
                "start": {
                  "line": 37,
                  "column": 4
                },
                "end": {
                  "line": 37,
                  "column": 54
                }
              }
            }
          ],
          "range": [
            1471,
            1529
          ],
          "loc": {
            "start": {
              "line": 36,
              "column": 36
            },
            "end": {
              "line": 38,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          1442,
          1529
        ],
        "loc": {
          "start": {
            "line": 36,
            "column": 7
          },
          "end": {
            "line": 38,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Emits the values emitted by the source Observable until a `notifier`\n * Observable emits a value.\n *\n * <span class=\"informal\">Lets values pass until a second Observable,\n * `notifier`, emits something. Then, it completes.</span>\n *\n * <img src=\"./img/takeUntil.png\" width=\"100%\">\n *\n * `takeUntil` subscribes and begins mirroring the source Observable. It also\n * monitors a second Observable, `notifier` that you provide. If the `notifier`\n * emits a value or a complete notification, the output Observable stops\n * mirroring the source Observable and completes.\n *\n * @example <caption>Tick every second until the first click happens</caption>\n * var interval = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = interval.takeUntil(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @param {Observable} notifier The Observable whose first emitted value will\n * cause the output Observable of `takeUntil` to stop emitting values from the\n * source Observable.\n * @return {Observable<T>} An Observable that emits the values from the source\n * Observable until such time as `notifier` emits its first value.\n * @method takeUntil\n * @owner Observable\n ",
            "range": [
              117,
              1434
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 35,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        1435,
        1529
      ],
      "loc": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 38,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Emits the values emitted by the source Observable until a `notifier`\n * Observable emits a value.\n *\n * <span class=\"informal\">Lets values pass until a second Observable,\n * `notifier`, emits something. Then, it completes.</span>\n *\n * <img src=\"./img/takeUntil.png\" width=\"100%\">\n *\n * `takeUntil` subscribes and begins mirroring the source Observable. It also\n * monitors a second Observable, `notifier` that you provide. If the `notifier`\n * emits a value or a complete notification, the output Observable stops\n * mirroring the source Observable and completes.\n *\n * @example <caption>Tick every second until the first click happens</caption>\n * var interval = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = interval.takeUntil(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @param {Observable} notifier The Observable whose first emitted value will\n * cause the output Observable of `takeUntil` to stop emitting values from the\n * source Observable.\n * @return {Observable<T>} An Observable that emits the values from the source\n * Observable until such time as `notifier` emits its first value.\n * @method takeUntil\n * @owner Observable\n ",
          "range": [
            117,
            1434
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 35,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "TakeUntilOperator",
            "range": [
              1534,
              1551
            ],
            "loc": {
              "start": {
                "line": 39,
                "column": 4
              },
              "end": {
                "line": 39,
                "column": 21
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "TakeUntilOperator",
                      "range": [
                        1582,
                        1599
                      ],
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 13
                        },
                        "end": {
                          "line": 40,
                          "column": 30
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "notifier",
                        "range": [
                          1600,
                          1608
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 31
                          },
                          "end": {
                            "line": 40,
                            "column": 39
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1620,
                                  1624
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "notifier",
                                "range": [
                                  1625,
                                  1633
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 21
                                  }
                                }
                              },
                              "range": [
                                1620,
                                1633
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 8
                                },
                                "end": {
                                  "line": 41,
                                  "column": 21
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "notifier",
                              "range": [
                                1636,
                                1644
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 24
                                },
                                "end": {
                                  "line": 41,
                                  "column": 32
                                }
                              }
                            },
                            "range": [
                              1620,
                              1644
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            1620,
                            1645
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 33
                            }
                          }
                        }
                      ],
                      "range": [
                        1610,
                        1651
                      ],
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 41
                        },
                        "end": {
                          "line": 42,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      1573,
                      1651
                    ],
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 42,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TakeUntilOperator",
                            "range": [
                              1656,
                              1673
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 4
                              },
                              "end": {
                                "line": 43,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1674,
                              1683
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 22
                              },
                              "end": {
                                "line": 43,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            1656,
                            1683
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 4
                            },
                            "end": {
                              "line": 43,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            1684,
                            1688
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 32
                            },
                            "end": {
                              "line": 43,
                              "column": 36
                            }
                          }
                        },
                        "range": [
                          1656,
                          1688
                        ],
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 4
                          },
                          "end": {
                            "line": 43,
                            "column": 36
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              1701,
                              1711
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 49
                              },
                              "end": {
                                "line": 43,
                                "column": 59
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              1713,
                              1719
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 61
                              },
                              "end": {
                                "line": 43,
                                "column": 67
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      1738,
                                      1744
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 44,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 44,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      1745,
                                      1755
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 44,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 44,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    1738,
                                    1755
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "TakeUntilSubscriber",
                                      "range": [
                                        1760,
                                        1779
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 44,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 44,
                                          "column": 56
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          1780,
                                          1790
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 44,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 44,
                                            "column": 67
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1792,
                                            1796
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 44,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 44,
                                              "column": 73
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "notifier",
                                          "range": [
                                            1797,
                                            1805
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 44,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 44,
                                              "column": 82
                                            }
                                          }
                                        },
                                        "range": [
                                          1792,
                                          1805
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 44,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 44,
                                            "column": 82
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1756,
                                      1806
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 44,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 44,
                                        "column": 83
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1738,
                                  1807
                                ],
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 84
                                  }
                                }
                              },
                              "range": [
                                1731,
                                1808
                              ],
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 8
                                },
                                "end": {
                                  "line": 44,
                                  "column": 85
                                }
                              }
                            }
                          ],
                          "range": [
                            1721,
                            1814
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 69
                            },
                            "end": {
                              "line": 45,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1691,
                          1814
                        ],
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 39
                          },
                          "end": {
                            "line": 45,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1656,
                        1814
                      ],
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 4
                        },
                        "end": {
                          "line": 45,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1656,
                      1815
                    ],
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 4
                      },
                      "end": {
                        "line": 45,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "TakeUntilOperator",
                      "range": [
                        1827,
                        1844
                      ],
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 11
                        },
                        "end": {
                          "line": 46,
                          "column": 28
                        }
                      }
                    },
                    "range": [
                      1820,
                      1845
                    ],
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 4
                      },
                      "end": {
                        "line": 46,
                        "column": 29
                      }
                    }
                  }
                ],
                "range": [
                  1567,
                  1847
                ],
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 37
                  },
                  "end": {
                    "line": 47,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1555,
                1847
              ],
              "loc": {
                "start": {
                  "line": 39,
                  "column": 25
                },
                "end": {
                  "line": 47,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              1555,
              1849
            ],
            "loc": {
              "start": {
                "line": 39,
                "column": 25
              },
              "end": {
                "line": 47,
                "column": 3
              }
            }
          },
          "range": [
            1534,
            1850
          ],
          "loc": {
            "start": {
              "line": 39,
              "column": 4
            },
            "end": {
              "line": 47,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1530,
        1851
      ],
      "loc": {
        "start": {
          "line": 39,
          "column": 0
        },
        "end": {
          "line": 47,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1852,
            1943
          ],
          "loc": {
            "start": {
              "line": 48,
              "column": 0
            },
            "end": {
              "line": 52,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "TakeUntilSubscriber",
            "range": [
              1948,
              1967
            ],
            "loc": {
              "start": {
                "line": 53,
                "column": 4
              },
              "end": {
                "line": 53,
                "column": 23
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    1981,
                    1987
                  ],
                  "loc": {
                    "start": {
                      "line": 53,
                      "column": 37
                    },
                    "end": {
                      "line": 53,
                      "column": 43
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          1995,
                          2004
                        ],
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 4
                          },
                          "end": {
                            "line": 54,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "TakeUntilSubscriber",
                          "range": [
                            2005,
                            2024
                          ],
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 14
                            },
                            "end": {
                              "line": 54,
                              "column": 33
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            2026,
                            2032
                          ],
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 35
                            },
                            "end": {
                              "line": 54,
                              "column": 41
                            }
                          }
                        }
                      ],
                      "range": [
                        1995,
                        2033
                      ],
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 4
                        },
                        "end": {
                          "line": 54,
                          "column": 42
                        }
                      }
                    },
                    "range": [
                      1995,
                      2034
                    ],
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 4
                      },
                      "end": {
                        "line": 54,
                        "column": 43
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "TakeUntilSubscriber",
                      "range": [
                        2048,
                        2067
                      ],
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 13
                        },
                        "end": {
                          "line": 55,
                          "column": 32
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          2068,
                          2079
                        ],
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 33
                          },
                          "end": {
                            "line": 55,
                            "column": 44
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "notifier",
                        "range": [
                          2081,
                          2089
                        ],
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 46
                          },
                          "end": {
                            "line": 55,
                            "column": 54
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  2101,
                                  2107
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  2108,
                                  2112
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                2101,
                                2112
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 8
                                },
                                "end": {
                                  "line": 56,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  2113,
                                  2117
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  2119,
                                  2130
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              2101,
                              2131
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 8
                              },
                              "end": {
                                "line": 56,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            2101,
                            2132
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2141,
                                  2145
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "notifier",
                                "range": [
                                  2146,
                                  2154
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 21
                                  }
                                }
                              },
                              "range": [
                                2141,
                                2154
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 8
                                },
                                "end": {
                                  "line": 57,
                                  "column": 21
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "notifier",
                              "range": [
                                2157,
                                2165
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 24
                                },
                                "end": {
                                  "line": 57,
                                  "column": 32
                                }
                              }
                            },
                            "range": [
                              2141,
                              2165
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            2141,
                            2166
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 33
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2175,
                                  2179
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "add",
                                "range": [
                                  2180,
                                  2183
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 16
                                  }
                                }
                              },
                              "range": [
                                2175,
                                2183
                              ],
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 8
                                },
                                "end": {
                                  "line": 58,
                                  "column": 16
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "Identifier",
                                  "name": "subscribeToResult",
                                  "range": [
                                    2184,
                                    2201
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 34
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "range": [
                                      2202,
                                      2206
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 39
                                      }
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "name": "notifier",
                                    "range": [
                                      2208,
                                      2216
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 49
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2184,
                                  2217
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 50
                                  }
                                }
                              }
                            ],
                            "range": [
                              2175,
                              2218
                            ],
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 51
                              }
                            }
                          },
                          "range": [
                            2175,
                            2219
                          ],
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 52
                            }
                          }
                        }
                      ],
                      "range": [
                        2091,
                        2225
                      ],
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 56
                        },
                        "end": {
                          "line": 59,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      2039,
                      2225
                    ],
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 4
                      },
                      "end": {
                        "line": 59,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TakeUntilSubscriber",
                            "range": [
                              2230,
                              2249
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 4
                              },
                              "end": {
                                "line": 60,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2250,
                              2259
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 24
                              },
                              "end": {
                                "line": 60,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            2230,
                            2259
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 4
                            },
                            "end": {
                              "line": 60,
                              "column": 33
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "notifyNext",
                          "range": [
                            2260,
                            2270
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 34
                            },
                            "end": {
                              "line": 60,
                              "column": 44
                            }
                          }
                        },
                        "range": [
                          2230,
                          2270
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 4
                          },
                          "end": {
                            "line": 60,
                            "column": 44
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "outerValue",
                            "range": [
                              2283,
                              2293
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 57
                              },
                              "end": {
                                "line": 60,
                                "column": 67
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "innerValue",
                            "range": [
                              2295,
                              2305
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 69
                              },
                              "end": {
                                "line": 60,
                                "column": 79
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "outerIndex",
                            "range": [
                              2307,
                              2317
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 81
                              },
                              "end": {
                                "line": 60,
                                "column": 91
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "innerIndex",
                            "range": [
                              2319,
                              2329
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 93
                              },
                              "end": {
                                "line": 60,
                                "column": 103
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "innerSub",
                            "range": [
                              2331,
                              2339
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 105
                              },
                              "end": {
                                "line": 60,
                                "column": 113
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2351,
                                      2355
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "complete",
                                    "range": [
                                      2356,
                                      2364
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "range": [
                                    2351,
                                    2364
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 21
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  2351,
                                  2366
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 23
                                  }
                                }
                              },
                              "range": [
                                2351,
                                2367
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 8
                                },
                                "end": {
                                  "line": 61,
                                  "column": 24
                                }
                              }
                            }
                          ],
                          "range": [
                            2341,
                            2373
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 115
                            },
                            "end": {
                              "line": 62,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2273,
                          2373
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 47
                          },
                          "end": {
                            "line": 62,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2230,
                        2373
                      ],
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 4
                        },
                        "end": {
                          "line": 62,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2230,
                      2374
                    ],
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 4
                      },
                      "end": {
                        "line": 62,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TakeUntilSubscriber",
                            "range": [
                              2379,
                              2398
                            ],
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 4
                              },
                              "end": {
                                "line": 63,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2399,
                              2408
                            ],
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 24
                              },
                              "end": {
                                "line": 63,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            2379,
                            2408
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 4
                            },
                            "end": {
                              "line": 63,
                              "column": 33
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "notifyComplete",
                          "range": [
                            2409,
                            2423
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 34
                            },
                            "end": {
                              "line": 63,
                              "column": 48
                            }
                          }
                        },
                        "range": [
                          2379,
                          2423
                        ],
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 4
                          },
                          "end": {
                            "line": 63,
                            "column": 48
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [],
                          "range": [
                            2438,
                            2461
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 63
                            },
                            "end": {
                              "line": 65,
                              "column": 5
                            }
                          },
                          "trailingComments": [
                            {
                              "type": "Line",
                              "value": " noop",
                              "range": [
                                2448,
                                2455
                              ],
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 8
                                },
                                "end": {
                                  "line": 64,
                                  "column": 15
                                }
                              }
                            }
                          ]
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2426,
                          2461
                        ],
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 51
                          },
                          "end": {
                            "line": 65,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2379,
                        2461
                      ],
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 4
                        },
                        "end": {
                          "line": 65,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2379,
                      2462
                    ],
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 4
                      },
                      "end": {
                        "line": 65,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "TakeUntilSubscriber",
                      "range": [
                        2474,
                        2493
                      ],
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 11
                        },
                        "end": {
                          "line": 66,
                          "column": 30
                        }
                      }
                    },
                    "range": [
                      2467,
                      2494
                    ],
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 4
                      },
                      "end": {
                        "line": 66,
                        "column": 31
                      }
                    },
                    "leadingComments": [
                      {
                        "type": "Line",
                        "value": " noop",
                        "range": [
                          2448,
                          2455
                        ],
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 8
                          },
                          "end": {
                            "line": 64,
                            "column": 15
                          }
                        }
                      }
                    ]
                  }
                ],
                "range": [
                  1989,
                  2496
                ],
                "loc": {
                  "start": {
                    "line": 53,
                    "column": 45
                  },
                  "end": {
                    "line": 67,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1971,
                2496
              ],
              "loc": {
                "start": {
                  "line": 53,
                  "column": 27
                },
                "end": {
                  "line": 67,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "OuterSubscriber",
                "range": [
                  2497,
                  2512
                ],
                "loc": {
                  "start": {
                    "line": 67,
                    "column": 2
                  },
                  "end": {
                    "line": 67,
                    "column": 17
                  }
                }
              }
            ],
            "range": [
              1971,
              2513
            ],
            "loc": {
              "start": {
                "line": 53,
                "column": 27
              },
              "end": {
                "line": 67,
                "column": 18
              }
            }
          },
          "range": [
            1948,
            2514
          ],
          "loc": {
            "start": {
              "line": 53,
              "column": 4
            },
            "end": {
              "line": 67,
              "column": 19
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1944,
        2515
      ],
      "loc": {
        "start": {
          "line": 53,
          "column": 0
        },
        "end": {
          "line": 67,
          "column": 20
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1852,
            1943
          ],
          "loc": {
            "start": {
              "line": 48,
              "column": 0
            },
            "end": {
              "line": 52,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=takeUntil.js.map",
          "range": [
            2516,
            2553
          ],
          "loc": {
            "start": {
              "line": 68,
              "column": 0
            },
            "end": {
              "line": 68,
              "column": 37
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    2515
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 67,
      "column": 20
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Emits the values emitted by the source Observable until a `notifier`\n * Observable emits a value.\n *\n * <span class=\"informal\">Lets values pass until a second Observable,\n * `notifier`, emits something. Then, it completes.</span>\n *\n * <img src=\"./img/takeUntil.png\" width=\"100%\">\n *\n * `takeUntil` subscribes and begins mirroring the source Observable. It also\n * monitors a second Observable, `notifier` that you provide. If the `notifier`\n * emits a value or a complete notification, the output Observable stops\n * mirroring the source Observable and completes.\n *\n * @example <caption>Tick every second until the first click happens</caption>\n * var interval = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = interval.takeUntil(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @param {Observable} notifier The Observable whose first emitted value will\n * cause the output Observable of `takeUntil` to stop emitting values from the\n * source Observable.\n * @return {Observable<T>} An Observable that emits the values from the source\n * Observable until such time as `notifier` emits its first value.\n * @method takeUntil\n * @owner Observable\n ",
      "range": [
        117,
        1434
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 35,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        1852,
        1943
      ],
      "loc": {
        "start": {
          "line": 48,
          "column": 0
        },
        "end": {
          "line": 52,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": " noop",
      "range": [
        2448,
        2455
      ],
      "loc": {
        "start": {
          "line": 64,
          "column": 8
        },
        "end": {
          "line": 64,
          "column": 15
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=takeUntil.js.map",
      "range": [
        2516,
        2553
      ],
      "loc": {
        "start": {
          "line": 68,
          "column": 0
        },
        "end": {
          "line": 68,
          "column": 37
        }
      }
    }
  ]
}