{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "root",
            "range": [
              9,
              13
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 13
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "root",
            "range": [
              9,
              13
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 13
              }
            }
          },
          "range": [
            9,
            13
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 13
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./util/root",
        "raw": "'./util/root'",
        "range": [
          21,
          34
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 21
          },
          "end": {
            "line": 1,
            "column": 34
          }
        }
      },
      "range": [
        0,
        35
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 35
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "toSubscriber",
            "range": [
              45,
              57
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 21
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "toSubscriber",
            "range": [
              45,
              57
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 21
              }
            }
          },
          "range": [
            45,
            57
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 21
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./util/toSubscriber",
        "raw": "'./util/toSubscriber'",
        "range": [
          65,
          86
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 29
          },
          "end": {
            "line": 2,
            "column": 50
          }
        }
      },
      "range": [
        36,
        87
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 51
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "$$observable",
            "range": [
              97,
              109
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 21
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "$$observable",
            "range": [
              97,
              109
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 21
              }
            }
          },
          "range": [
            97,
            109
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 21
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./symbol/observable",
        "raw": "'./symbol/observable'",
        "range": [
          117,
          138
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 29
          },
          "end": {
            "line": 3,
            "column": 50
          }
        }
      },
      "range": [
        88,
        139
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 51
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * A representation of any set of values over any amount of time. This the most basic building block\n * of RxJS.\n *\n * @class Observable<T>\n ",
          "range": [
            140,
            287
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "Observable",
              "range": [
                299,
                309
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 11
                },
                "end": {
                  "line": 10,
                  "column": 21
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "Observable",
                        "range": [
                          703,
                          713
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 13
                          },
                          "end": {
                            "line": 18,
                            "column": 23
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "subscribe",
                          "range": [
                            714,
                            723
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 24
                            },
                            "end": {
                              "line": 18,
                              "column": 33
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    735,
                                    739
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "_isScalar",
                                  "range": [
                                    740,
                                    749
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  735,
                                  749
                                ],
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 22
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": false,
                                "raw": "false",
                                "range": [
                                  752,
                                  757
                                ],
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                735,
                                757
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 8
                                },
                                "end": {
                                  "line": 19,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              735,
                              758
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 8
                              },
                              "end": {
                                "line": 19,
                                "column": 31
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "Identifier",
                              "name": "subscribe",
                              "range": [
                                771,
                                780
                              ],
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 12
                                },
                                "end": {
                                  "line": 20,
                                  "column": 21
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          796,
                                          800
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_subscribe",
                                        "range": [
                                          801,
                                          811
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "range": [
                                        796,
                                        811
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "name": "subscribe",
                                      "range": [
                                        814,
                                        823
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "range": [
                                      796,
                                      823
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "range": [
                                    796,
                                    824
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 40
                                    }
                                  }
                                }
                              ],
                              "range": [
                                782,
                                834
                              ],
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 23
                                },
                                "end": {
                                  "line": 22,
                                  "column": 9
                                }
                              }
                            },
                            "alternate": null,
                            "range": [
                              767,
                              834
                            ],
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 8
                              },
                              "end": {
                                "line": 22,
                                "column": 9
                              }
                            }
                          }
                        ],
                        "range": [
                          725,
                          840
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 35
                          },
                          "end": {
                            "line": 23,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        694,
                        840
                      ],
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 23,
                          "column": 5
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * @constructor\n     * @param {Function} subscribe the function that is  called when the Observable is\n     * initially subscribed to. This function is given a Subscriber, to which new values\n     * can be `next`ed, or an `error` method can be called to raise an error, or\n     * `complete` can be called to notify of a successful completion.\n     ",
                          "range": [
                            331,
                            689
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 4
                            },
                            "end": {
                              "line": 17,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * Creates a new Observable, with this Observable as the source, and the passed\n     * operator defined as the new observable's operator.\n     * @method lift\n     * @param {Operator} operator the operator defining the operation to take on the observable\n     * @return {Observable} a new observable with the Operator applied\n     ",
                          "range": [
                            845,
                            1185
                          ],
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 4
                            },
                            "end": {
                              "line": 30,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Observable",
                              "range": [
                                1190,
                                1200
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 4
                                },
                                "end": {
                                  "line": 31,
                                  "column": 14
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1201,
                                1210
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 15
                                },
                                "end": {
                                  "line": 31,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              1190,
                              1210
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 4
                              },
                              "end": {
                                "line": 31,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "lift",
                            "range": [
                              1211,
                              1215
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 25
                              },
                              "end": {
                                "line": 31,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1190,
                            1215
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 4
                            },
                            "end": {
                              "line": 31,
                              "column": 29
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "operator",
                              "range": [
                                1228,
                                1236
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 42
                                },
                                "end": {
                                  "line": 31,
                                  "column": 50
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "observable",
                                      "range": [
                                        1252,
                                        1262
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "Observable",
                                        "range": [
                                          1269,
                                          1279
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        1265,
                                        1281
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "range": [
                                      1252,
                                      1281
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 41
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1248,
                                  1282
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 42
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "observable",
                                      "range": [
                                        1291,
                                        1301
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        1302,
                                        1308
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "range": [
                                      1291,
                                      1308
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "ThisExpression",
                                    "range": [
                                      1311,
                                      1315
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    1291,
                                    1315
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 32
                                    }
                                  }
                                },
                                "range": [
                                  1291,
                                  1316
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 33
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "observable",
                                      "range": [
                                        1325,
                                        1335
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 34,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 34,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "operator",
                                      "range": [
                                        1336,
                                        1344
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 34,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 34,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "range": [
                                      1325,
                                      1344
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "operator",
                                    "range": [
                                      1347,
                                      1355
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "range": [
                                    1325,
                                    1355
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 38
                                    }
                                  }
                                },
                                "range": [
                                  1325,
                                  1356
                                ],
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 39
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "observable",
                                  "range": [
                                    1372,
                                    1382
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  1365,
                                  1383
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 26
                                  }
                                }
                              }
                            ],
                            "range": [
                              1238,
                              1389
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 52
                              },
                              "end": {
                                "line": 36,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1218,
                            1389
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 32
                            },
                            "end": {
                              "line": 36,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1190,
                          1389
                        ],
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 4
                          },
                          "end": {
                            "line": 36,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1190,
                        1390
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 4
                        },
                        "end": {
                          "line": 36,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * Creates a new Observable, with this Observable as the source, and the passed\n     * operator defined as the new observable's operator.\n     * @method lift\n     * @param {Operator} operator the operator defining the operation to take on the observable\n     * @return {Observable} a new observable with the Operator applied\n     ",
                          "range": [
                            845,
                            1185
                          ],
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 4
                            },
                            "end": {
                              "line": 30,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Observable",
                              "range": [
                                1395,
                                1405
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 4
                                },
                                "end": {
                                  "line": 37,
                                  "column": 14
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1406,
                                1415
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 15
                                },
                                "end": {
                                  "line": 37,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              1395,
                              1415
                            ],
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 4
                              },
                              "end": {
                                "line": 37,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "subscribe",
                            "range": [
                              1416,
                              1425
                            ],
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 25
                              },
                              "end": {
                                "line": 37,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            1395,
                            1425
                          ],
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 4
                            },
                            "end": {
                              "line": 37,
                              "column": 34
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "observerOrNext",
                              "range": [
                                1438,
                                1452
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 47
                                },
                                "end": {
                                  "line": 37,
                                  "column": 61
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "error",
                              "range": [
                                1454,
                                1459
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 63
                                },
                                "end": {
                                  "line": 37,
                                  "column": 68
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "complete",
                              "range": [
                                1461,
                                1469
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 70
                                },
                                "end": {
                                  "line": 37,
                                  "column": 78
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "operator",
                                      "range": [
                                        1485,
                                        1493
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1496,
                                          1500
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "operator",
                                        "range": [
                                          1501,
                                          1509
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "range": [
                                        1496,
                                        1509
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      1485,
                                      1509
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 36
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1481,
                                  1510
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 37
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "sink",
                                      "range": [
                                        1523,
                                        1527
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "toSubscriber",
                                        "range": [
                                          1530,
                                          1542
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "observerOrNext",
                                          "range": [
                                            1543,
                                            1557
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 46
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "error",
                                          "range": [
                                            1559,
                                            1564
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 53
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "complete",
                                          "range": [
                                            1566,
                                            1574
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 63
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1530,
                                        1575
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 64
                                        }
                                      }
                                    },
                                    "range": [
                                      1523,
                                      1575
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 64
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1519,
                                  1576
                                ],
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 65
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "Identifier",
                                  "name": "operator",
                                  "range": [
                                    1589,
                                    1597
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 20
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "operator",
                                            "range": [
                                              1613,
                                              1621
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 41,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 41,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "call",
                                            "range": [
                                              1622,
                                              1626
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 41,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 41,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "range": [
                                            1613,
                                            1626
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 41,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 41,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "sink",
                                            "range": [
                                              1627,
                                              1631
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 41,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 41,
                                                "column": 30
                                              }
                                            }
                                          },
                                          {
                                            "type": "ThisExpression",
                                            "range": [
                                              1633,
                                              1637
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 41,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 41,
                                                "column": 36
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1613,
                                          1638
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 41,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 41,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        1613,
                                        1639
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 41,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 41,
                                          "column": 38
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1599,
                                    1649
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "sink",
                                            "range": [
                                              1677,
                                              1681
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 44,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 44,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "add",
                                            "range": [
                                              1682,
                                              1685
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 44,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 44,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "range": [
                                            1677,
                                            1685
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 44,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 44,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  1686,
                                                  1690
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 44,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 44,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_subscribe",
                                                "range": [
                                                  1691,
                                                  1701
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 44,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 44,
                                                    "column": 36
                                                  }
                                                }
                                              },
                                              "range": [
                                                1686,
                                                1701
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 44,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 44,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "sink",
                                                "range": [
                                                  1702,
                                                  1706
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 44,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 44,
                                                    "column": 41
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              1686,
                                              1707
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 44,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 44,
                                                "column": 42
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1677,
                                          1708
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 44,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 44,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "range": [
                                        1677,
                                        1709
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 44,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 44,
                                          "column": 44
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1663,
                                    1719
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  1585,
                                  1719
                                ],
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "sink",
                                    "range": [
                                      1732,
                                      1736
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "syncErrorThrowable",
                                    "range": [
                                      1737,
                                      1755
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "range": [
                                    1732,
                                    1755
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 35
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "sink",
                                            "range": [
                                              1771,
                                              1775
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "syncErrorThrowable",
                                            "range": [
                                              1776,
                                              1794
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "range": [
                                            1771,
                                            1794
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "value": false,
                                          "raw": "false",
                                          "range": [
                                            1797,
                                            1802
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          1771,
                                          1802
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "range": [
                                        1771,
                                        1803
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 44
                                        }
                                      }
                                    },
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "sink",
                                          "range": [
                                            1820,
                                            1824
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 48,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 48,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "syncErrorThrown",
                                          "range": [
                                            1825,
                                            1840
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 48,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 48,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "range": [
                                          1820,
                                          1840
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ThrowStatement",
                                            "argument": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "sink",
                                                "range": [
                                                  1866,
                                                  1870
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 49,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 49,
                                                    "column": 26
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "syncErrorValue",
                                                "range": [
                                                  1871,
                                                  1885
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 49,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 49,
                                                    "column": 41
                                                  }
                                                }
                                              },
                                              "range": [
                                                1866,
                                                1885
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 41
                                                }
                                              }
                                            },
                                            "range": [
                                              1860,
                                              1886
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 42
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1842,
                                          1900
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 50,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        1816,
                                        1900
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 50,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1757,
                                    1910
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1728,
                                  1910
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "sink",
                                  "range": [
                                    1926,
                                    1930
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  1919,
                                  1931
                                ],
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 20
                                  }
                                }
                              }
                            ],
                            "range": [
                              1471,
                              1937
                            ],
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 80
                              },
                              "end": {
                                "line": 53,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1428,
                            1937
                          ],
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 37
                            },
                            "end": {
                              "line": 53,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1395,
                          1937
                        ],
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 4
                          },
                          "end": {
                            "line": 53,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1395,
                        1938
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 4
                        },
                        "end": {
                          "line": 53,
                          "column": 6
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * @method forEach\n     * @param {Function} next a handler for each value emitted by the observable\n     * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n     * @return {Promise} a promise that either resolves on observable completion or\n     *  rejects with the handled error\n     ",
                          "range": [
                            1943,
                            2285
                          ],
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 4
                            },
                            "end": {
                              "line": 60,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Observable",
                              "range": [
                                2290,
                                2300
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 4
                                },
                                "end": {
                                  "line": 61,
                                  "column": 14
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                2301,
                                2310
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 15
                                },
                                "end": {
                                  "line": 61,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              2290,
                              2310
                            ],
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 4
                              },
                              "end": {
                                "line": 61,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "forEach",
                            "range": [
                              2311,
                              2318
                            ],
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 25
                              },
                              "end": {
                                "line": 61,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            2290,
                            2318
                          ],
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 4
                            },
                            "end": {
                              "line": 61,
                              "column": 32
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "next",
                              "range": [
                                2331,
                                2335
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 45
                                },
                                "end": {
                                  "line": 61,
                                  "column": 49
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "PromiseCtor",
                              "range": [
                                2337,
                                2348
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 51
                                },
                                "end": {
                                  "line": 61,
                                  "column": 62
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "_this",
                                      "range": [
                                        2364,
                                        2369
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2372,
                                        2376
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      2364,
                                      2376
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 24
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  2360,
                                  2377
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 25
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "Identifier",
                                    "name": "PromiseCtor",
                                    "range": [
                                      2391,
                                      2402
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    2390,
                                    2402
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 24
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "LogicalExpression",
                                        "operator": "&&",
                                        "left": {
                                          "type": "LogicalExpression",
                                          "operator": "&&",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "root",
                                              "range": [
                                                2422,
                                                2426
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "Rx",
                                              "range": [
                                                2427,
                                                2429
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 23
                                                }
                                              }
                                            },
                                            "range": [
                                              2422,
                                              2429
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "root",
                                                "range": [
                                                  2433,
                                                  2437
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "Rx",
                                                "range": [
                                                  2438,
                                                  2440
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 34
                                                  }
                                                }
                                              },
                                              "range": [
                                                2433,
                                                2440
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "config",
                                              "range": [
                                                2441,
                                                2447
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 41
                                                }
                                              }
                                            },
                                            "range": [
                                              2433,
                                              2447
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "range": [
                                            2422,
                                            2447
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "root",
                                                "range": [
                                                  2451,
                                                  2455
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 49
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "Rx",
                                                "range": [
                                                  2456,
                                                  2458
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 52
                                                  }
                                                }
                                              },
                                              "range": [
                                                2451,
                                                2458
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 52
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "config",
                                              "range": [
                                                2459,
                                                2465
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 59
                                                }
                                              }
                                            },
                                            "range": [
                                              2451,
                                              2465
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 59
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "Promise",
                                            "range": [
                                              2466,
                                              2473
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "range": [
                                            2451,
                                            2473
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 67
                                            }
                                          }
                                        },
                                        "range": [
                                          2422,
                                          2473
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 64,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 64,
                                            "column": 67
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "PromiseCtor",
                                                "range": [
                                                  2493,
                                                  2504
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 65,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 65,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "root",
                                                      "range": [
                                                        2507,
                                                        2511
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 65,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 65,
                                                          "column": 34
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "Rx",
                                                      "range": [
                                                        2512,
                                                        2514
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 65,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 65,
                                                          "column": 37
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      2507,
                                                      2514
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 65,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 65,
                                                        "column": 37
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "config",
                                                    "range": [
                                                      2515,
                                                      2521
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 65,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 65,
                                                        "column": 44
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2507,
                                                    2521
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 65,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 65,
                                                      "column": 44
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "Promise",
                                                  "range": [
                                                    2522,
                                                    2529
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 65,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 65,
                                                      "column": 52
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2507,
                                                  2529
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 65,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 65,
                                                    "column": 52
                                                  }
                                                }
                                              },
                                              "range": [
                                                2493,
                                                2529
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 65,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 65,
                                                  "column": 52
                                                }
                                              }
                                            },
                                            "range": [
                                              2493,
                                              2530
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 53
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2475,
                                          2544
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 64,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": {
                                        "type": "IfStatement",
                                        "test": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "root",
                                            "range": [
                                              2566,
                                              2570
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "Promise",
                                            "range": [
                                              2571,
                                              2578
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "range": [
                                            2566,
                                            2578
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "operator": "=",
                                                "left": {
                                                  "type": "Identifier",
                                                  "name": "PromiseCtor",
                                                  "range": [
                                                    2598,
                                                    2609
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 68,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 68,
                                                      "column": 27
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "root",
                                                    "range": [
                                                      2612,
                                                      2616
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 68,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 68,
                                                        "column": 34
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "Promise",
                                                    "range": [
                                                      2617,
                                                      2624
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 68,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 68,
                                                        "column": 42
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2612,
                                                    2624
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 68,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 68,
                                                      "column": 42
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2598,
                                                  2624
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 68,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 68,
                                                    "column": 42
                                                  }
                                                }
                                              },
                                              "range": [
                                                2598,
                                                2625
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 43
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2580,
                                            2639
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 13
                                            }
                                          }
                                        },
                                        "alternate": null,
                                        "range": [
                                          2562,
                                          2639
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "range": [
                                        2418,
                                        2639
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 64,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2404,
                                    2649
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  2386,
                                  2649
                                ],
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "Identifier",
                                    "name": "PromiseCtor",
                                    "range": [
                                      2663,
                                      2674
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    2662,
                                    2674
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 24
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ThrowStatement",
                                      "argument": {
                                        "type": "NewExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "Error",
                                          "range": [
                                            2700,
                                            2705
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Literal",
                                            "value": "no Promise impl found",
                                            "raw": "'no Promise impl found'",
                                            "range": [
                                              2706,
                                              2729
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 72,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 72,
                                                "column": 51
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2696,
                                          2730
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 52
                                          }
                                        }
                                      },
                                      "range": [
                                        2690,
                                        2731
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 53
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2676,
                                    2741
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  2658,
                                  2741
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "PromiseCtor",
                                    "range": [
                                      2761,
                                      2772
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "FunctionExpression",
                                      "id": null,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "name": "resolve",
                                          "range": [
                                            2783,
                                            2790
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 48
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "reject",
                                          "range": [
                                            2792,
                                            2798
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 56
                                            }
                                          }
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "id": {
                                                  "type": "Identifier",
                                                  "name": "subscription",
                                                  "range": [
                                                    2818,
                                                    2830
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 28
                                                    }
                                                  }
                                                },
                                                "init": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "_this",
                                                      "range": [
                                                        2833,
                                                        2838
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 75,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 75,
                                                          "column": 36
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "subscribe",
                                                      "range": [
                                                        2839,
                                                        2848
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 75,
                                                          "column": 37
                                                        },
                                                        "end": {
                                                          "line": 75,
                                                          "column": 46
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      2833,
                                                      2848
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 75,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 75,
                                                        "column": 46
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "FunctionExpression",
                                                      "id": null,
                                                      "params": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "value",
                                                          "range": [
                                                            2859,
                                                            2864
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 75,
                                                              "column": 57
                                                            },
                                                            "end": {
                                                              "line": 75,
                                                              "column": 62
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "body": {
                                                        "type": "BlockStatement",
                                                        "body": [
                                                          {
                                                            "type": "IfStatement",
                                                            "test": {
                                                              "type": "Identifier",
                                                              "name": "subscription",
                                                              "range": [
                                                                2888,
                                                                2900
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 76,
                                                                  "column": 32
                                                                }
                                                              }
                                                            },
                                                            "consequent": {
                                                              "type": "BlockStatement",
                                                              "body": [
                                                                {
                                                                  "type": "TryStatement",
                                                                  "block": {
                                                                    "type": "BlockStatement",
                                                                    "body": [
                                                                      {
                                                                        "type": "ExpressionStatement",
                                                                        "expression": {
                                                                          "type": "CallExpression",
                                                                          "callee": {
                                                                            "type": "Identifier",
                                                                            "name": "next",
                                                                            "range": [
                                                                              3218,
                                                                              3222
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 82,
                                                                                "column": 24
                                                                              },
                                                                              "end": {
                                                                                "line": 82,
                                                                                "column": 28
                                                                              }
                                                                            }
                                                                          },
                                                                          "arguments": [
                                                                            {
                                                                              "type": "Identifier",
                                                                              "name": "value",
                                                                              "range": [
                                                                                3223,
                                                                                3228
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 82,
                                                                                  "column": 29
                                                                                },
                                                                                "end": {
                                                                                  "line": 82,
                                                                                  "column": 34
                                                                                }
                                                                              }
                                                                            }
                                                                          ],
                                                                          "range": [
                                                                            3218,
                                                                            3229
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 82,
                                                                              "column": 24
                                                                            },
                                                                            "end": {
                                                                              "line": 82,
                                                                              "column": 35
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          3218,
                                                                          3230
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 82,
                                                                            "column": 24
                                                                          },
                                                                          "end": {
                                                                            "line": 82,
                                                                            "column": 36
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "range": [
                                                                      3192,
                                                                      3252
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 81,
                                                                        "column": 24
                                                                      },
                                                                      "end": {
                                                                        "line": 83,
                                                                        "column": 21
                                                                      }
                                                                    }
                                                                  },
                                                                  "handler": {
                                                                    "type": "CatchClause",
                                                                    "param": {
                                                                      "type": "Identifier",
                                                                      "name": "err",
                                                                      "range": [
                                                                        3280,
                                                                        3283
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 84,
                                                                          "column": 27
                                                                        },
                                                                        "end": {
                                                                          "line": 84,
                                                                          "column": 30
                                                                        }
                                                                      }
                                                                    },
                                                                    "body": {
                                                                      "type": "BlockStatement",
                                                                      "body": [
                                                                        {
                                                                          "type": "ExpressionStatement",
                                                                          "expression": {
                                                                            "type": "CallExpression",
                                                                            "callee": {
                                                                              "type": "Identifier",
                                                                              "name": "reject",
                                                                              "range": [
                                                                                3311,
                                                                                3317
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 85,
                                                                                  "column": 24
                                                                                },
                                                                                "end": {
                                                                                  "line": 85,
                                                                                  "column": 30
                                                                                }
                                                                              }
                                                                            },
                                                                            "arguments": [
                                                                              {
                                                                                "type": "Identifier",
                                                                                "name": "err",
                                                                                "range": [
                                                                                  3318,
                                                                                  3321
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 85,
                                                                                    "column": 31
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 85,
                                                                                    "column": 34
                                                                                  }
                                                                                }
                                                                              }
                                                                            ],
                                                                            "range": [
                                                                              3311,
                                                                              3322
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 85,
                                                                                "column": 24
                                                                              },
                                                                              "end": {
                                                                                "line": 85,
                                                                                "column": 35
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            3311,
                                                                            3323
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 85,
                                                                              "column": 24
                                                                            },
                                                                            "end": {
                                                                              "line": 85,
                                                                              "column": 36
                                                                            }
                                                                          }
                                                                        },
                                                                        {
                                                                          "type": "ExpressionStatement",
                                                                          "expression": {
                                                                            "type": "CallExpression",
                                                                            "callee": {
                                                                              "type": "MemberExpression",
                                                                              "computed": false,
                                                                              "object": {
                                                                                "type": "Identifier",
                                                                                "name": "subscription",
                                                                                "range": [
                                                                                  3348,
                                                                                  3360
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 86,
                                                                                    "column": 24
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 86,
                                                                                    "column": 36
                                                                                  }
                                                                                }
                                                                              },
                                                                              "property": {
                                                                                "type": "Identifier",
                                                                                "name": "unsubscribe",
                                                                                "range": [
                                                                                  3361,
                                                                                  3372
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 86,
                                                                                    "column": 37
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 86,
                                                                                    "column": 48
                                                                                  }
                                                                                }
                                                                              },
                                                                              "range": [
                                                                                3348,
                                                                                3372
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 86,
                                                                                  "column": 24
                                                                                },
                                                                                "end": {
                                                                                  "line": 86,
                                                                                  "column": 48
                                                                                }
                                                                              }
                                                                            },
                                                                            "arguments": [],
                                                                            "range": [
                                                                              3348,
                                                                              3374
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 86,
                                                                                "column": 24
                                                                              },
                                                                              "end": {
                                                                                "line": 86,
                                                                                "column": 50
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            3348,
                                                                            3375
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 86,
                                                                              "column": 24
                                                                            },
                                                                            "end": {
                                                                              "line": 86,
                                                                              "column": 51
                                                                            }
                                                                          }
                                                                        }
                                                                      ],
                                                                      "range": [
                                                                        3285,
                                                                        3397
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 84,
                                                                          "column": 32
                                                                        },
                                                                        "end": {
                                                                          "line": 87,
                                                                          "column": 21
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      3273,
                                                                      3397
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 84,
                                                                        "column": 20
                                                                      },
                                                                      "end": {
                                                                        "line": 87,
                                                                        "column": 21
                                                                      }
                                                                    }
                                                                  },
                                                                  "finalizer": null,
                                                                  "range": [
                                                                    3188,
                                                                    3397
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 81,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 87,
                                                                      "column": 21
                                                                    }
                                                                  },
                                                                  "leadingComments": [
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " if there is a subscription, then we can surmise",
                                                                      "range": [
                                                                        2924,
                                                                        2974
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 77,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 77,
                                                                          "column": 70
                                                                        }
                                                                      }
                                                                    },
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " the next handling is asynchronous. Any errors thrown",
                                                                      "range": [
                                                                        2995,
                                                                        3050
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 78,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 78,
                                                                          "column": 75
                                                                        }
                                                                      }
                                                                    },
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " need to be rejected explicitly and unsubscribe must be",
                                                                      "range": [
                                                                        3071,
                                                                        3128
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 79,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 79,
                                                                          "column": 77
                                                                        }
                                                                      }
                                                                    },
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " called manually",
                                                                      "range": [
                                                                        3149,
                                                                        3167
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 80,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 80,
                                                                          "column": 38
                                                                        }
                                                                      }
                                                                    }
                                                                  ]
                                                                }
                                                              ],
                                                              "range": [
                                                                2902,
                                                                3415
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 34
                                                                },
                                                                "end": {
                                                                  "line": 88,
                                                                  "column": 17
                                                                }
                                                              }
                                                            },
                                                            "alternate": {
                                                              "type": "BlockStatement",
                                                              "body": [
                                                                {
                                                                  "type": "ExpressionStatement",
                                                                  "expression": {
                                                                    "type": "CallExpression",
                                                                    "callee": {
                                                                      "type": "Identifier",
                                                                      "name": "next",
                                                                      "range": [
                                                                        3918,
                                                                        3922
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 96,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 96,
                                                                          "column": 24
                                                                        }
                                                                      }
                                                                    },
                                                                    "arguments": [
                                                                      {
                                                                        "type": "Identifier",
                                                                        "name": "value",
                                                                        "range": [
                                                                          3923,
                                                                          3928
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 96,
                                                                            "column": 25
                                                                          },
                                                                          "end": {
                                                                            "line": 96,
                                                                            "column": 30
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "range": [
                                                                      3918,
                                                                      3929
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 96,
                                                                        "column": 20
                                                                      },
                                                                      "end": {
                                                                        "line": 96,
                                                                        "column": 31
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    3918,
                                                                    3930
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 96,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 96,
                                                                      "column": 32
                                                                    }
                                                                  },
                                                                  "leadingComments": [
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " if there is NO subscription, then we're getting a nexted",
                                                                      "range": [
                                                                        3459,
                                                                        3518
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 90,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 90,
                                                                          "column": 79
                                                                        }
                                                                      }
                                                                    },
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " value synchronously during subscription. We can just call it.",
                                                                      "range": [
                                                                        3539,
                                                                        3603
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 91,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 91,
                                                                          "column": 84
                                                                        }
                                                                      }
                                                                    },
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " If it errors, Observable's `subscribe` will ensure the",
                                                                      "range": [
                                                                        3624,
                                                                        3681
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 92,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 92,
                                                                          "column": 77
                                                                        }
                                                                      }
                                                                    },
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " unsubscription logic is called, then synchronously rethrow the error.",
                                                                      "range": [
                                                                        3702,
                                                                        3774
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 93,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 93,
                                                                          "column": 92
                                                                        }
                                                                      }
                                                                    },
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " After that, Promise will trap the error and send it",
                                                                      "range": [
                                                                        3795,
                                                                        3849
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 94,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 94,
                                                                          "column": 74
                                                                        }
                                                                      }
                                                                    },
                                                                    {
                                                                      "type": "Line",
                                                                      "value": " down the rejection path.",
                                                                      "range": [
                                                                        3870,
                                                                        3897
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 95,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 95,
                                                                          "column": 47
                                                                        }
                                                                      }
                                                                    }
                                                                  ]
                                                                }
                                                              ],
                                                              "range": [
                                                                3437,
                                                                3948
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 89,
                                                                  "column": 21
                                                                },
                                                                "end": {
                                                                  "line": 97,
                                                                  "column": 17
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              2884,
                                                              3948
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 16
                                                              },
                                                              "end": {
                                                                "line": 97,
                                                                "column": 17
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          2866,
                                                          3962
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 75,
                                                            "column": 64
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 13
                                                          }
                                                        }
                                                      },
                                                      "generator": false,
                                                      "expression": false,
                                                      "range": [
                                                        2849,
                                                        3962
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 75,
                                                          "column": 47
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 13
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "name": "reject",
                                                      "range": [
                                                        3964,
                                                        3970
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 15
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 21
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "name": "resolve",
                                                      "range": [
                                                        3972,
                                                        3979
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 23
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 30
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    2833,
                                                    3980
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 31
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2818,
                                                  3980
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 31
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "range": [
                                              2814,
                                              3981
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 75,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 32
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2800,
                                          3991
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 9
                                          }
                                        }
                                      },
                                      "generator": false,
                                      "expression": false,
                                      "range": [
                                        2773,
                                        3991
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 9
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2757,
                                    3992
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 99,
                                      "column": 10
                                    }
                                  }
                                },
                                "range": [
                                  2750,
                                  3993
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 11
                                  }
                                }
                              }
                            ],
                            "range": [
                              2350,
                              3999
                            ],
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 64
                              },
                              "end": {
                                "line": 100,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            2321,
                            3999
                          ],
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 35
                            },
                            "end": {
                              "line": 100,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          2290,
                          3999
                        ],
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 4
                          },
                          "end": {
                            "line": 100,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2290,
                        4000
                      ],
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 4
                        },
                        "end": {
                          "line": 100,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * @method forEach\n     * @param {Function} next a handler for each value emitted by the observable\n     * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n     * @return {Promise} a promise that either resolves on observable completion or\n     *  rejects with the handled error\n     ",
                          "range": [
                            1943,
                            2285
                          ],
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 4
                            },
                            "end": {
                              "line": 60,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Observable",
                              "range": [
                                4005,
                                4015
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 4
                                },
                                "end": {
                                  "line": 101,
                                  "column": 14
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                4016,
                                4025
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 15
                                },
                                "end": {
                                  "line": 101,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              4005,
                              4025
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 4
                              },
                              "end": {
                                "line": 101,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_subscribe",
                            "range": [
                              4026,
                              4036
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 25
                              },
                              "end": {
                                "line": 101,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            4005,
                            4036
                          ],
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 4
                            },
                            "end": {
                              "line": 101,
                              "column": 35
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscriber",
                              "range": [
                                4049,
                                4059
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 48
                                },
                                "end": {
                                  "line": 101,
                                  "column": 58
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4078,
                                          4082
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 102,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 102,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "source",
                                        "range": [
                                          4083,
                                          4089
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 102,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 102,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "range": [
                                        4078,
                                        4089
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 102,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "subscribe",
                                      "range": [
                                        4090,
                                        4099
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 102,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      4078,
                                      4099
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 102,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "subscriber",
                                      "range": [
                                        4100,
                                        4110
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 102,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 47
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4078,
                                    4111
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 48
                                    }
                                  }
                                },
                                "range": [
                                  4071,
                                  4112
                                ],
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 49
                                  }
                                }
                              }
                            ],
                            "range": [
                              4061,
                              4118
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 60
                              },
                              "end": {
                                "line": 103,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            4039,
                            4118
                          ],
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 38
                            },
                            "end": {
                              "line": 103,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          4005,
                          4118
                        ],
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 4
                          },
                          "end": {
                            "line": 103,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4005,
                        4119
                      ],
                      "loc": {
                        "start": {
                          "line": 101,
                          "column": 4
                        },
                        "end": {
                          "line": 103,
                          "column": 6
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n     * @method Symbol.observable\n     * @return {Observable} this instance of the observable\n     ",
                          "range": [
                            4124,
                            4331
                          ],
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 4
                            },
                            "end": {
                              "line": 108,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": true,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Observable",
                              "range": [
                                4336,
                                4346
                              ],
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 4
                                },
                                "end": {
                                  "line": 109,
                                  "column": 14
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                4347,
                                4356
                              ],
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 15
                                },
                                "end": {
                                  "line": 109,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              4336,
                              4356
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 4
                              },
                              "end": {
                                "line": 109,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "$$observable",
                            "range": [
                              4357,
                              4369
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 25
                              },
                              "end": {
                                "line": 109,
                                "column": 37
                              }
                            }
                          },
                          "range": [
                            4336,
                            4370
                          ],
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 4
                            },
                            "end": {
                              "line": 109,
                              "column": 38
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "ThisExpression",
                                  "range": [
                                    4402,
                                    4406
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 110,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  4395,
                                  4407
                                ],
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 20
                                  }
                                }
                              }
                            ],
                            "range": [
                              4385,
                              4413
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 53
                              },
                              "end": {
                                "line": 111,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            4373,
                            4413
                          ],
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 41
                            },
                            "end": {
                              "line": 111,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          4336,
                          4413
                        ],
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 4
                          },
                          "end": {
                            "line": 111,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4336,
                        4414
                      ],
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 4
                        },
                        "end": {
                          "line": 111,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n     * @method Symbol.observable\n     * @return {Observable} this instance of the observable\n     ",
                          "range": [
                            4124,
                            4331
                          ],
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 4
                            },
                            "end": {
                              "line": 108,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Line",
                          "value": " HACK: Since TypeScript inherits static properties too, we have to",
                          "range": [
                            4419,
                            4487
                          ],
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 4
                            },
                            "end": {
                              "line": 112,
                              "column": 72
                            }
                          }
                        },
                        {
                          "type": "Line",
                          "value": " fight against TypeScript here so Subject can have a different static create signature",
                          "range": [
                            4492,
                            4580
                          ],
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 4
                            },
                            "end": {
                              "line": 113,
                              "column": 92
                            }
                          }
                        },
                        {
                          "type": "Block",
                          "value": "*\n     * Creates a new cold Observable by calling the Observable constructor\n     * @static true\n     * @owner Observable\n     * @method create\n     * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n     * @return {Observable} a new cold observable\n     ",
                          "range": [
                            4585,
                            4891
                          ],
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 4
                            },
                            "end": {
                              "line": 121,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "Observable",
                            "range": [
                              4896,
                              4906
                            ],
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 4
                              },
                              "end": {
                                "line": 122,
                                "column": 14
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "create",
                            "range": [
                              4907,
                              4913
                            ],
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 15
                              },
                              "end": {
                                "line": 122,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            4896,
                            4913
                          ],
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 4
                            },
                            "end": {
                              "line": 122,
                              "column": 21
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscribe",
                              "range": [
                                4926,
                                4935
                              ],
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 34
                                },
                                "end": {
                                  "line": 122,
                                  "column": 43
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "Observable",
                                    "range": [
                                      4958,
                                      4968
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 123,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 123,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "subscribe",
                                      "range": [
                                        4969,
                                        4978
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 39
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4954,
                                    4979
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 123,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 40
                                    }
                                  }
                                },
                                "range": [
                                  4947,
                                  4980
                                ],
                                "loc": {
                                  "start": {
                                    "line": 123,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 41
                                  }
                                }
                              }
                            ],
                            "range": [
                              4937,
                              4986
                            ],
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 45
                              },
                              "end": {
                                "line": 124,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            4916,
                            4986
                          ],
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 24
                            },
                            "end": {
                              "line": 124,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          4896,
                          4986
                        ],
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 4
                          },
                          "end": {
                            "line": 124,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4896,
                        4987
                      ],
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 4
                        },
                        "end": {
                          "line": 124,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Line",
                          "value": " HACK: Since TypeScript inherits static properties too, we have to",
                          "range": [
                            4419,
                            4487
                          ],
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 4
                            },
                            "end": {
                              "line": 112,
                              "column": 72
                            }
                          }
                        },
                        {
                          "type": "Line",
                          "value": " fight against TypeScript here so Subject can have a different static create signature",
                          "range": [
                            4492,
                            4580
                          ],
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 4
                            },
                            "end": {
                              "line": 113,
                              "column": 92
                            }
                          }
                        },
                        {
                          "type": "Block",
                          "value": "*\n     * Creates a new cold Observable by calling the Observable constructor\n     * @static true\n     * @owner Observable\n     * @method create\n     * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n     * @return {Observable} a new cold observable\n     ",
                          "range": [
                            4585,
                            4891
                          ],
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 4
                            },
                            "end": {
                              "line": 121,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "Observable",
                        "range": [
                          4999,
                          5009
                        ],
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 11
                          },
                          "end": {
                            "line": 125,
                            "column": 21
                          }
                        }
                      },
                      "range": [
                        4992,
                        5010
                      ],
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 4
                        },
                        "end": {
                          "line": 125,
                          "column": 22
                        }
                      }
                    }
                  ],
                  "range": [
                    325,
                    5012
                  ],
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 37
                    },
                    "end": {
                      "line": 126,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  313,
                  5012
                ],
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 25
                  },
                  "end": {
                    "line": 126,
                    "column": 1
                  }
                }
              },
              "arguments": [],
              "range": [
                313,
                5014
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 25
                },
                "end": {
                  "line": 126,
                  "column": 3
                }
              }
            },
            "range": [
              299,
              5015
            ],
            "loc": {
              "start": {
                "line": 10,
                "column": 11
              },
              "end": {
                "line": 126,
                "column": 4
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          295,
          5016
        ],
        "loc": {
          "start": {
            "line": 10,
            "column": 7
          },
          "end": {
            "line": 126,
            "column": 5
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * A representation of any set of values over any amount of time. This the most basic building block\n * of RxJS.\n *\n * @class Observable<T>\n ",
            "range": [
              140,
              287
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Line",
            "value": "# sourceMappingURL=Observable.js.map",
            "range": [
              5017,
              5055
            ],
            "loc": {
              "start": {
                "line": 127,
                "column": 0
              },
              "end": {
                "line": 127,
                "column": 38
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        288,
        5016
      ],
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 126,
          "column": 5
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * A representation of any set of values over any amount of time. This the most basic building block\n * of RxJS.\n *\n * @class Observable<T>\n ",
          "range": [
            140,
            287
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=Observable.js.map",
          "range": [
            5017,
            5055
          ],
          "loc": {
            "start": {
              "line": 127,
              "column": 0
            },
            "end": {
              "line": 127,
              "column": 38
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    5016
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 126,
      "column": 5
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * A representation of any set of values over any amount of time. This the most basic building block\n * of RxJS.\n *\n * @class Observable<T>\n ",
      "range": [
        140,
        287
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * @constructor\n     * @param {Function} subscribe the function that is  called when the Observable is\n     * initially subscribed to. This function is given a Subscriber, to which new values\n     * can be `next`ed, or an `error` method can be called to raise an error, or\n     * `complete` can be called to notify of a successful completion.\n     ",
      "range": [
        331,
        689
      ],
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Creates a new Observable, with this Observable as the source, and the passed\n     * operator defined as the new observable's operator.\n     * @method lift\n     * @param {Operator} operator the operator defining the operation to take on the observable\n     * @return {Observable} a new observable with the Operator applied\n     ",
      "range": [
        845,
        1185
      ],
      "loc": {
        "start": {
          "line": 24,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * @method forEach\n     * @param {Function} next a handler for each value emitted by the observable\n     * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n     * @return {Promise} a promise that either resolves on observable completion or\n     *  rejects with the handled error\n     ",
      "range": [
        1943,
        2285
      ],
      "loc": {
        "start": {
          "line": 54,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 7
        }
      }
    },
    {
      "type": "Line",
      "value": " if there is a subscription, then we can surmise",
      "range": [
        2924,
        2974
      ],
      "loc": {
        "start": {
          "line": 77,
          "column": 20
        },
        "end": {
          "line": 77,
          "column": 70
        }
      }
    },
    {
      "type": "Line",
      "value": " the next handling is asynchronous. Any errors thrown",
      "range": [
        2995,
        3050
      ],
      "loc": {
        "start": {
          "line": 78,
          "column": 20
        },
        "end": {
          "line": 78,
          "column": 75
        }
      }
    },
    {
      "type": "Line",
      "value": " need to be rejected explicitly and unsubscribe must be",
      "range": [
        3071,
        3128
      ],
      "loc": {
        "start": {
          "line": 79,
          "column": 20
        },
        "end": {
          "line": 79,
          "column": 77
        }
      }
    },
    {
      "type": "Line",
      "value": " called manually",
      "range": [
        3149,
        3167
      ],
      "loc": {
        "start": {
          "line": 80,
          "column": 20
        },
        "end": {
          "line": 80,
          "column": 38
        }
      }
    },
    {
      "type": "Line",
      "value": " if there is NO subscription, then we're getting a nexted",
      "range": [
        3459,
        3518
      ],
      "loc": {
        "start": {
          "line": 90,
          "column": 20
        },
        "end": {
          "line": 90,
          "column": 79
        }
      }
    },
    {
      "type": "Line",
      "value": " value synchronously during subscription. We can just call it.",
      "range": [
        3539,
        3603
      ],
      "loc": {
        "start": {
          "line": 91,
          "column": 20
        },
        "end": {
          "line": 91,
          "column": 84
        }
      }
    },
    {
      "type": "Line",
      "value": " If it errors, Observable's `subscribe` will ensure the",
      "range": [
        3624,
        3681
      ],
      "loc": {
        "start": {
          "line": 92,
          "column": 20
        },
        "end": {
          "line": 92,
          "column": 77
        }
      }
    },
    {
      "type": "Line",
      "value": " unsubscription logic is called, then synchronously rethrow the error.",
      "range": [
        3702,
        3774
      ],
      "loc": {
        "start": {
          "line": 93,
          "column": 20
        },
        "end": {
          "line": 93,
          "column": 92
        }
      }
    },
    {
      "type": "Line",
      "value": " After that, Promise will trap the error and send it",
      "range": [
        3795,
        3849
      ],
      "loc": {
        "start": {
          "line": 94,
          "column": 20
        },
        "end": {
          "line": 94,
          "column": 74
        }
      }
    },
    {
      "type": "Line",
      "value": " down the rejection path.",
      "range": [
        3870,
        3897
      ],
      "loc": {
        "start": {
          "line": 95,
          "column": 20
        },
        "end": {
          "line": 95,
          "column": 47
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n     * @method Symbol.observable\n     * @return {Observable} this instance of the observable\n     ",
      "range": [
        4124,
        4331
      ],
      "loc": {
        "start": {
          "line": 104,
          "column": 4
        },
        "end": {
          "line": 108,
          "column": 7
        }
      }
    },
    {
      "type": "Line",
      "value": " HACK: Since TypeScript inherits static properties too, we have to",
      "range": [
        4419,
        4487
      ],
      "loc": {
        "start": {
          "line": 112,
          "column": 4
        },
        "end": {
          "line": 112,
          "column": 72
        }
      }
    },
    {
      "type": "Line",
      "value": " fight against TypeScript here so Subject can have a different static create signature",
      "range": [
        4492,
        4580
      ],
      "loc": {
        "start": {
          "line": 113,
          "column": 4
        },
        "end": {
          "line": 113,
          "column": 92
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Creates a new cold Observable by calling the Observable constructor\n     * @static true\n     * @owner Observable\n     * @method create\n     * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n     * @return {Observable} a new cold observable\n     ",
      "range": [
        4585,
        4891
      ],
      "loc": {
        "start": {
          "line": 114,
          "column": 4
        },
        "end": {
          "line": 121,
          "column": 7
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=Observable.js.map",
      "range": [
        5017,
        5055
      ],
      "loc": {
        "start": {
          "line": 127,
          "column": 0
        },
        "end": {
          "line": 127,
          "column": 38
        }
      }
    }
  ]
}